geojson怎么快速获取xy?GeoJSON 是什么格式?

GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法,那geojson怎么快速获取xy?下面来我们就来给大家讲解一下geojson快速获取xy的方法。

就是这样的:

{
    "type": "FeatureCollection"
    , "features": [
        
        {
            "type": "Feature"
            , "properties":
            {}
            , "geometry":
            {
                "type": "Polygon"
                , "coordinates": [
                    
[
                        
[
                            
91.373291015625,
                            
38.66835610151506
                            
],
                        
[
                            
89.769287109375,
                            
37.76202988573211
                            
],
                        
[
                            
93.2958984375,
                            
36.90597988519294
                            
],
                        
[
                            
94.163818359375,
                            
37.90953361677018
                            
],
                        
[
                            
93.636474609375,
                            
39.2407625100131
                            
],
                        
[
                            
91.373291015625,
                            
38.66835610151506
                            
]
                        
]
                    
]
            }
}
        
]
}

这就是一个简单的geojson文件。如果我们做文件上传,需要取到其中的coordinates,也就是每一个坐标,怎么做呢:(仅展示核心代码)

//选择文件
$("#displayfile")
    .change(function (that)
    {
        var val = $(this)
            .val();
        console.log($("input[type='file']"));
        if (val.split(".")[1] == 'json' || val.split(".")[1] == 'geojson')
        {
            $("#jiaInput")
                .val($(this)
                    .val())
        }
        else
        {
            alert("请选择geojson文件格式");
        }
        var str = "";
        var obj = document.getElementById("displayfile");
        var length = obj.files.length;
        var reader = new FileReader(); //新建一个FileReader
        reader.readAsText(obj.files[0], "UTF-8"); //读取文件
        reader.onload = function (evt)
        { //读取完文件之后会回来这里
            var fileString = evt.target.result; // 读取文件内容
            console.log(JSON.parse(fileString))
            var fileJson = JSON.parse(fileString);
            console.log(fileJson.features[0].geometry.coordinates[0][0]) //取到第一个json坐标点
        }
        for (var i = 0; i < length; i++)
        {
            $(".FileArea")
                .html("");;
            var temp = obj.files[i].name;
            str += "
            " + temp + "
            ";
        }
        $(".FileArea")
            .append(str);
    })

这样就可以取到坐标点了,如果想取到每一个坐标点。进行一次遍历就好了。

GeoJSON 是什么格式?

GeoJSON 是一种对地理数据结构进行编码的格式。它只是一个采用上述 JSON 格式的用于描述地理信息的格式。它的语法和 JSON 是一样的,只是对各名称做了规范。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管 JSON 是 Javascript 的一个子集,但 JSON 是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。

GeoJSON对象可能有任何数目成员(名/值对)。

GeoJSON对象必须有一个名字为"type"的成员。这个成员的值是由GeoJSON对象的类型所确定的字符串。

type成员的值必须是下面之一:"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "GeometryCollection", "Feature", 或者 "FeatureCollection"。

GeoJSON对象可能有一个可选的"crs"成员,它的值必须是一个坐标参考系统的对象。

GeoJSON对象可能有一个"bbox"成员,它的值必须是边界框数组。

GeoJSON支持点线面,是开发人员很好的开发工具,如果想获取xy,只要按照以上的方法做就行,如果想取到每一个坐标点。进行一次遍历就好了。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。

推荐阅读:

json数组怎么定义?JSON数组语法规则有哪些?

java连接数据库详细步骤是什么?连接不上什么原因?

java没有错误但运行不出来怎么回事?java如何执行?