嘿,看这里

  • 导出geojson
  • 导出shp


导出geojson

使用arcmap导出geojson分为以下两种情况:

1、arcmap版本为10.4及以下版本

这种使用arcmap导出shp文件,然后将shp文件加载到 网页中,然后导出格式选为geojson即可(可以批量加载处理)。【建议保存该网页地址】

2、arcmap版本为10.5及以上版本

选择转换工具中的要素转json,打开窗口后,选择geojson格式即可

Arcgis api for javascript 如何加载olb文件 arcmap如何加载json文件_图层

图一

Arcgis api for javascript 如何加载olb文件 arcmap如何加载json文件_加载_02

图二如果需要将图层中每一个要素转出成一个geojson,则需要使用模型构建器。步骤如下:

1、打开模型构建器

2、加载待处理数据

3、插入迭代器(“插入”-“迭代器”-“要素选择”)

4、将“要素转json”工具拖入模型构建器中

5、设置参数(别忘了勾选geojson选项)

Arcgis api for javascript 如何加载olb文件 arcmap如何加载json文件_加载_03

【箭头标注位置意思是将“值”赋给文件名,这样导出的文件就直接是我们需要的名字而不需要改名了。像我这里迭代要素选择中是按照“市名”进行分类,那么迭代每一条记录的时候,“值”保存的都是该条记录的“市名”属性,最后导出的json文件名就是“市名.json”】

导出shp

同样使用模型构建器,如果只是用作中间文件,对文件的名称没有要求的话,可以直接使用“转换”中的“转为shpfile”中的“要素类转为shapefile”

Arcgis api for javascript 如何加载olb文件 arcmap如何加载json文件_图层_04


模型构建器中模型如图:

Arcgis api for javascript 如何加载olb文件 arcmap如何加载json文件_加载_05


这样的导出的文件命名都是“I_各市_市_1.shp”这种样式的,无法准确知道shp图层保存的内容。我这里用了另一种思路,既然走直线不能完成我的要求,那我就拐个弯不就好了么。也就是先将要素转换成json,然后再把json转换成shp的不就好了吗?【注意,这种方法一定是转换成json,而不是geojson,不然在调用转shp的时候会出现问题】

模型构建器中模型如图所示:

Arcgis api for javascript 如何加载olb文件 arcmap如何加载json文件_图层_06

缺点是由于多走了一步,所以转换运行时间会长一点;会多一个json文件,别忘了删除,或者有需要的话留下使用也可以。【小技巧:如果不需要这个json,可以给json单独建立一个文件夹,这样最后直接删除文件夹即可】