Geojson笔记一:深度入门

简介

Geojson凡是一个好重要之多少格式,结构清晰,表达简洁。

及ESRI的shapefile相比更加小巧简单,但是表现的数码内容却是平等的,我觉得GeoJson大出代表shapefile的主旋律。与尚非是非常成熟的topojson相比,geojson已经相当很多前端后截的工具,有许多本子插件。如下:

  • awesome-geojson
    太多尽多
  • geojson-js-utils
    空间数据简单处理js实现
  • geojson-python-utils
    空间数据简单处理python实现

布局说明

接触之数格式

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [125.6, 10.1]
  },
  "properties": {
    "name": "Dinagat Islands"
  }
}

type据的是数据类型,它是一个feature。它包含差一点哪要素属性差一点何要素蕴含要素的档次和坐标。属性可涵盖各种数据列。

线的数目格式

 {
  "type": "LineString",
  "coordinates": [ [100.0, 0.0], [101.0, 1.0] ]
}

线状数据由片只以上之接触组合而成,在坐标的外场多管及亦然叠中括号,表示json中之数组。

面的数据格式

 {
   "type": "Polygon",
    "coordinates": [
      [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ],
      [ [100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2] ]
      ]
 }

是因为面状数据可以吗镂空多边形,可以支撑一个以上的多方面形,所以于线状数据的根底及大多加同重叠中括号。

要素构成的数目格式

 { "type": "FeatureCollection",
    "features": [
      { "type": "Feature",
        "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
        "properties": {"prop0": "value0"}
        },
      { "type": "Feature",
        "geometry": {
          "type": "LineString",
          "coordinates": [
            [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
            ]
          },
        "properties": {
          "prop0": "value0",
          "prop1": 0.0
          }
        },
      { "type": "Feature",
         "geometry": {
           "type": "Polygon",
           "coordinates": [
             [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
               [100.0, 1.0], [100.0, 0.0] ]
             ]
         },
         "properties": {
           "prop0": "value0",
           "prop1": {"this": "that"}
           }
         }
       ]
     }

今非昔比之数据类型间可以包改成一个FeatureCollection,最外层有只type来代表项目,而features对各个feature数组。有人肯定会疑惑shp中有proj的习性,geojson中可以就此crsbbox来表示投影参数与边界限制,详情参见。

案例

此分享一个小案例。

网友发问我,获取大批量线段的起点与终点。

本人之首先影响就是是连无是为此arcpy等api,这办法为有效,但是并无是无与伦比精简的计。我之缓解办法是最为直接的:

  • 透过qgis将shapefile文件转换成为geojson
  • 为此python内置库json去分析获取数据

如此相对来说,虽然多了一个数码易的进程,但是做本章内容,geojson是文件,结构简单,方便解析。数据可以非常容易得且替换。这个有点尝试作为课余作业。json的解析大概是10行代码左右,熟悉python的能工巧匠可能5行代码就搞定,比arcpy大大节省代码。

相关文章

网站地图xml地图