GeoJSON、TopoJSON数据的转换和生成

目录

1.简介

1.1 GeoJSON

1.2 TopoJSON

2 用ArcMap来绘制要素并转换为GeoJSON或TopoJSON

2.1 矢量化

2.2 shp格式数据导出

2.3 shp数据转为GeoJSON 或 TopoJSON

 


 

1.简介

1.1 GeoJSON

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]]]
}

1.2 TopoJSON

TopoJSON 是 GeoJSON 按拓扑学编码后的扩展形式,是由 D3 的作者 Mike Bostock 制定的。相比 GeoJSON 直接使用 Polygon、Point 之类的几何体来表示图形的方法,TopoJSON 中的每一个几何体都是通过将共享边(被称为arcs)整合后组成的。
TopoJSON 消除了冗余,文件大小缩小了 80%。

 

2 用ArcMap来绘制要素并转换为GeoJSON或TopoJSON

2.1 矢量化

矢量化的过程比较简单,主要就是新建地理数据库新建要素数据集新建要素类开始矢量化操作。不会矢量化的可以自行百度。

2.2 shp格式数据导出

目标要素类图层上右键→数据→导出数据,如下图所示:

GeoJSON、TopoJSON数据的转换和生成_第1张图片

 

选择导出类型和目标路径,导出即可

GeoJSON、TopoJSON数据的转换和生成_第2张图片

 

2.3 shp数据转为GeoJSON 或 TopoJSON

主要借助在线转 https://mapshaper.org/

GeoJSON、TopoJSON数据的转换和生成_第3张图片

点击上图select按钮或者将文件拖入下方quick import快速导入区

GeoJSON、TopoJSON数据的转换和生成_第4张图片

选中导出的数据文件夹下的所有文件进行打开(如果只选.shp格式文件,转换完毕后是GeometryCollection类型的数据)

GeoJSON、TopoJSON数据的转换和生成_第5张图片

点击Import按钮进行导入数据。导入完成后如下所示:

GeoJSON、TopoJSON数据的转换和生成_第6张图片

 

点击右上角Export导出按钮,选择对应导出类型后,点击Export按钮导出。截图如下:

GeoJSON、TopoJSON数据的转换和生成_第7张图片

用编辑器打开导出后的json数据,格式化以后可以看到:

GeoJSON、TopoJSON数据的转换和生成_第8张图片

{
	"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数据的制作过程,可以将结果数据拷入项目中使用了。希望对你有所帮助。

 

你可能感兴趣的:(ArcGIS)