目录
1.简介
1.1 GeoJSON
1.2 TopoJSON
2 用ArcMap来绘制要素并转换为GeoJSON或TopoJSON
2.1 矢量化
2.2 shp格式数据导出
2.3 shp数据转为GeoJSON 或 TopoJSON
GeoJSON 是用于描述地理空间信息的数据格式。GeoJSON 不是一种新的格式,其语法规范是符合 JSON 格式的,只不过对其名称进行了规范,专门用于表示地理信息。
GeoJSON 的最外层是一个单独的对象(object)。这个对象可表示:
① 几何体(Geometry);
② 特征(Feature);
③ 特征集合(FeatureCollection);
最外层的 GeoJSON 里可能包含有很多子对象,每一个 GeoJSON 对象都有一个 type 属性,表示对象的类型,其type 的值可以是:Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection、Feature、FeatureCollection
例如:
【点】:
{
"type": "Point",
"coordinates": [12798320.392099999,4272355.694600001]
}
【线】:
{
"type": "LineString",
"coordinates":[[12798320.392099999,4272355.694600001],12802046.9976,4272321.658799998]]
}
【面】:
{
"type": "Polygon",
"coordinates":[[[11636922.715300001,4370738.244599998]..略去n个点..[11636974.441399999,4370750.680100001]]]
}
TopoJSON 是 GeoJSON 按拓扑学编码后的扩展形式,是由 D3 的作者 Mike Bostock 制定的。相比 GeoJSON 直接使用 Polygon、Point 之类的几何体来表示图形的方法,TopoJSON 中的每一个几何体都是通过将共享边(被称为arcs)整合后组成的。
TopoJSON 消除了冗余,文件大小缩小了 80%。
矢量化的过程比较简单,主要就是新建地理数据库→新建要素数据集→新建要素类→开始矢量化操作。不会矢量化的可以自行百度。
目标要素类图层上右键→数据→导出数据,如下图所示:
选择导出类型和目标路径,导出即可
主要借助在线转 https://mapshaper.org/
点击上图select按钮或者将文件拖入下方quick import快速导入区
选中导出的数据文件夹下的所有文件进行打开(如果只选.shp格式文件,转换完毕后是GeometryCollection类型的数据)
点击Import按钮进行导入数据。导入完成后如下所示:
点击右上角Export导出按钮,选择对应导出类型后,点击Export按钮导出。截图如下:
用编辑器打开导出后的json数据,格式化以后可以看到:
{
"type": "GeometryCollection",
"geometries": [{
"type": "Polygon",
"coordinates": [
[
[11636922.715300001, 4370738.244599998],
[11636961.2122, 4370767.745700002],
[11636974.441399999, 4370750.680100001],
[11636961.0799, 4370740.6259],
[11636965.4456, 4370734.805],
[11636953.407000002, 4370725.280000001],
[11636947.7185, 4370730.571699999],
[11636934.489300001, 4370721.046700001],
[11636922.715300001, 4370738.244599998]
]
]
}]
}
至此就完成了GeoJSON数据的制作过程,可以将结果数据拷入项目中使用了。希望对你有所帮助。