首页 > 代码库 > ArcGIS Server,rest路径输入要素json 格式描述
ArcGIS Server,rest路径输入要素json 格式描述
以下内容只测试了简单线,
在ArcGIS Server 的rest路径下可以对服务进行操作,如Query等,这些操作可以输入json 格式要素描述或运行得到即输出json格式要素描述。
如博客:http://www.cnblogs.com/mumu122GIS/p/6097687.html 中GP服务可以输入自定义要素,那么怎样获取符合输入标准的json格式要素描述以便输入呢?
或者怎样将运行结果(json格式要素描述)展现到ArcMap中呢?
json格式的要素描述
以Server自带的几何服务的cut功能为例,几何服务cut功能API,API中示例链接
可以看到Server rest路径下,json格式要素描述(包括输入或输出)基本为
{"geometryType" : "esriGeometryPolyline","geometries" :[{"paths" : [[[6805743,1843230],[6805740,1843619]]]},{"paths":[[[6802621,1843581],[6805496,1844963]]]}]}
或者{"paths" : [[[6805210,1843869],[6805842,1843529],[6805259,1843173]]]}
在ArcMap中有Features To Json和Json To Features工具。json工具集
尝试将上面提供的json格式要素描述保存为.json文件(如,先创建.txt文件,复制粘贴json格式要素描述,保存,修改文件后缀为.json)
使用json to Feature 工具,输入该json文件,发现报错。
观察json格式要素描述,除了空间参考等信息,主要内容为坐标点。
此时有个想法,ArcMap中导出导入的json文件,只是相对多了些空间参考等信息,那么ArcMap中Features To Json导出一个json文件,
用rest路径下获取的(如上文中所示)json格式描述中坐标替换json文件中相对应内容,然后使用Json To Features将更新的json文件导入到ArcMap中。
即现有rest路径下json格式要素描述如:{"paths" : [[[6805210,1843869],[6805842,1843529],[6805259,1843173]]]}
ArcMap中绘制简单线要素,使用Features To Json导出一个json文件,文件内容:{"displayFieldName":"","fieldAliases":{"FID":"FID","Id":"Id","Shape_Length":"Shape_Length"},"geometryType":"esriGeometryPolyline","spatialReference":{"wkid":102100,"latestWkid":3857},"fields":[{"name":"FID","type":"esriFieldTypeOID","alias":"FID"},{"name":"Id","type":"esriFieldTypeInteger","alias":"Id"},{"name":"Shape_Length","type":"esriFieldTypeDouble","alias":"Shape_Length"}],"features":[{"attributes":{"FID":1,"Id":0,"Shape_Length":1939.2244949671767},"geometry":{"paths":[[[12485220.022887718,3969954.2205385119],[12487129.927600328,3969618.2806173488]]]}}]}
用蓝色内容替换红色内容。
使用Json To Features工具将更新后的json文件导入,成功。
注:这里官方案例使用的空间参考与ArcMap中绘制简单线要素是使用的空间参考不同,仅作示例,实际测试时,rest路径获取json格式要素描述与ArcMap中要素使用的都是3857,坐标与编码。
这里只测试了简单线,面状要素或者有更多属性时怎样操作还未测试,或许有更简单的方法,只是笔者还不知道.......
ArcGIS Server,rest路径输入要素json 格式描述