轻松入门 GeoJSON:不多说了,上手吧!

文摘   2024-12-27 23:17   辽宁  

轻松入门 GeoJSON:不多说了,上手吧!

大家好!今天来聊聊 GeoJSON。如果你在搞地图啊、地理数据啊,这玩意儿肯定绕不过去。没事儿,不难,我慢慢给你说。

啥是 GeoJSON?

简单来说,GeoJSON 就是个文件格式,专门用来存地理数据。啥是地理数据?比如你在地图上看到的那些点、线、面,都可以用 GeoJSON 来表示。

一个简单的例子

咱先从一个最简单的 GeoJSON 说起:

{
  "type": "Point",
  "coordinates": [121.47, 31.23]
}

看到没?这里定义了一个“点”。"type": "Point"说明这是个点,后面的"coordinates"是一个数组,里面是经纬度。注意啊,经度在前,纬度在后。

搞个更复杂点的?

再来个存线的 GeoJSON:

{
  "type":"LineString",
"coordinates":[
[121.47,31.23],
[121.48,31.24],
[121.49,31.25]
]
}

看到了吧?现在"type"变成了"LineString",就是一条线。坐标点也多了几个,这样就连成了线。

还有多边形呢?

多边形也很简单:

{
  "type":"Polygon",
"coordinates":[
[
[121.47,31.23],
[121.48,31.23],
[121.48,31.24],
[121.47,31.24],
[121.47,31.23]
]
]
}

这里的"type""Polygon",也就是多边形。坐标点的顺序围成了一个封闭的形状。最后那个点要和第一个点重合,这样才能形成一个封闭的多边形。

有用的小贴士

有时候你可能需要在一个 GeoJSON 文件里存多个对象,比如一堆点、线、面。GeoJSON 当然支持,用"FeatureCollection"就可以搞定:

{
  "type":"FeatureCollection",
"features":[
{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[121.47,31.23]
},
"properties":{
"name":"点A"
}
},
{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[121.48,31.24]
},
"properties":{
"name":"点B"
}
}
]
}

这里用了个"FeatureCollection"包了一堆点。每个“Feature”里不仅有“geometry”(也就是地理位置),还可以加点别的属性,比如"properties"。在上面的例子里,我给每个点加了个"name"属性。

最后小总结

GeoJSON 就是个简简单单的工具,不要把它想得太复杂。能表示点、线、面,还能存一堆数据在文件里一块儿管理。有了它,地图和位置数据处理起来顺手多了。差不多就这样吧,搞懂这些基本东西,再看 GeoJSON 文档啥的应该就没那么头大了。

好了,今天就说到这儿,有什么问题再说。希望这篇小文儿能帮你上个手,没那么难吧?


小栗食养
日拱一卒,每天精进!
 最新文章