以下内容只测试了简单线,

在ArcGIS Server 的rest路径下可以对服务进行操作,如Query等,这些操作可以输入json 格式要素描述或运行得到即输出json格式要素描述。

如博客:http://www.cnblogs.com/mumu122GIS/p/6097687.html  中GP服务可以输入自定义要素,那么怎样获取符合输入标准的json格式要素描述以便输入呢?

或者怎样将运行结果(json格式要素描述)展现到ArcMap中呢?

json格式的要素描述

以Server自带的几何服务的cut功能为例,几何服务cut功能APIAPI中示例链接

可以看到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文件(假设为A.json)(如,先创建.txt文件,复制粘贴json格式要素描述,保存,修改文件后缀为.json)

使用json to Feature 工具,输入A.json文件,发现报错,即A.json文件不符合工具的输入格式要求。

我们知道,可以通过Features To Json工具获取json文件,那么该文件应该符合Json To Features工具的格式要求,经过测试得到验证。

那么对比 通过Features To Json工具获取json文件(假设为B.json)和 上面提供的json格式要素描述保存得到的A.json文件,看差别在哪,有没有可能将A.json转换为B.json。

观察后可知,相对A.json文件,B.json只是相对多了些空间参考等信息,主要内容为坐标点。那么ArcMap中创建与A.json空间参考一致的同种要素,使用Features To Json导出C.json文件,

用A.json中坐标   替换C.json文件中相对应内容,然后使用Json To Features将更新的C.json文件导入到ArcMap中,测试可行。

即,假设现有rest路径下json格式要素描述如:{"geometryType" : "esriGeometryPolyline","geometries" :[{"paths" : [[[6805743,1843230],[6805740,1843619]]]},{"paths":[[[6802621,1843581],[6805496,1844963]]]}]}

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,坐标与编码

这里只测试了简单线,面状要素或者有更多属性时怎样操作还未测试。或许有更简单的方法,只是笔者还不知道.......

另外,test路径下cut功能运行的结果的json描述带有空格,直接拷贝会失败。解决方法是将其拷贝到一个word文档中,用“替换”功能将“ ”替换为“”(即空格替换为空),可删除所有空格。之后再拷贝到.json文件中。

ArcGIS Server,rest路径输入要素json 格式描述的更多相关文章

  1. SQL Server中将查询结果转换为Json格式脚本

    这篇文章主要介绍了SQL Server中将查询结果转换为Json格式脚本分享,本文直接给出实现代码,需要的朋友可以参考下 原文地址:http://www.jb51.net/article/61462. ...

  2. arcgis server缓存路径修改

    由于空间不够用,需要更换瓦片的输出路径,具体的修改方法如下: 1.打开ArcCatalog,打开GIS服务器,找到已经添加的gis服务器,一般都是机器名,如下所示,右键我的gis服务器(admin-t ...

  3. ArcGIS Server 10.1发布要素服务(FeatureLayer server)时遇到的数据库注册问题

    在发布要素服务的最后一步遇到了一个问题: SEVERITY STATUS CODE DESCRIPTION NAME TYPE DATA FRAME High Unresolved 00090 Fea ...

  4. Spring MVC 学习笔记 json格式的输入和输出

    Spring mvc处理json需要使用jackson的类库,因此为支持json格式的输入输出需要先修改pom.xml增加jackson包的引用 <!-- json --> <dep ...

  5. mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler

    mybatis 比 ibatis 改进了很多,特别是支持了注解,支持了plugin inteceptor,也给开发者带来了更多的灵活性,相比其他ORM,我还是挺喜欢mybatis的. 闲言碎语不要讲, ...

  6. JSON格式解析和libjson使用简介(关于cjson的使用示例)

    JSON格式解析和libjson使用简介 在阅读本文之前,请先阅读下<Rss Reader实例开发之系统设计>一文. Rss Reader实例开发中,进行网络数据交换时主要使用到了两种数据 ...

  7. ArcGIS Server 10.2 实战(一)Asp.net MVC与JSON数据妙用实现动态生成要素图层

    今年7月刚刚发布的ArcGIS 10.2为GIS的web开发带来了一个很实在的功能,JSON转要素.以往GIS图层外部数据(如文本数据,数据库数据)动态地写入地图服务中的图层是一件不可想象的事情,如今 ...

  8. ArcGIS Server 10.2 实战(二)动态修改要素数据的地理处理服务

    上一篇<ArcGIS Server 10.2 实战(一)Asp.net MVC与JSON数据妙用实现动态生成要素图层>介绍了如何用JSON转要素的地理处理服务,实现了动态创建点要素并加载到 ...

  9. ArcGIS Server 增加缓存路径

    Server缓存服务,由于缓存文件经常比较大,默认放在C盘下容易导致磁盘空间不够,因此Server提供了增加缓存路径的方法来解决该问题. 增加的路径有两种,一种是Server所在服务器增加一个和原缓存 ...

随机推荐

  1. CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)

    经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题. 下面我们分别来学习下,当然我也是总结下而已,有如以下方法: 一: 右 ...

  2. HTML5实现网页的全屏切换

    使用HTML5提供的JavaScript Api可以实现主流浏览器的全屏和退出全屏操作,封装成进入全屏和退出全屏的函数如下: //进入全屏 function enterFullScreen() { v ...

  3. poj1703_Find them, Catch them_并查集

    Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 42451   Accepted: ...

  4. 删除安装的 cocoapods 的缓存方法

    清除 Cocoapods 本地缓存 特殊情况下,由于网络或者别的原因,通过 cocoapods 下载的文件可能会有问题.这时候可以删除 Cocoapods 的缓存(~/Library/Caches/C ...

  5. Swift - 进度条(UIProgressView)的用法

    1,创建进度条 1 2 3 4 var progressView=UIProgressView(progressViewStyle:UIProgressViewStyle.Default) progr ...

  6. css笔记1: html页面的CSS、DIV命名规则

    原地址:http://www.cnblogs.com/rising-fay/archive/2013/02/25/2932592.html CSS命名规则 头:header 内容:content/co ...

  7. windows 10 设置

    精简应用 邮件和日历: Get-AppxPackage *communi* | Remove-AppxPackage 新闻: Get-AppxPackage *bing* | Remove-AppxP ...

  8. LockSupport

    LockSupport是高级线程同步类的基础,用来block和释放线程.这里要区别notify和wait的点在于这里可以先unpark,再park.(有点类似于unpark等于-1,park等于+1. ...

  9. 使用samba实现linux与windows共享(测试成功)

    samba服务器搭建    实现linux与windows文件共享有很多种方法,诸如wpc,vmtools等,今天我来介绍我在rehat系统中实验成功并且现在在用的的方法,直接给出操作步骤:     ...

  10. Daily Scrum Meeting ——FourthDay

    一.Daily Scrum Meeting照片 橙汁去北京参加 ICPC比赛了,差不多15号回来 二.Burndown Chart 终于不是一条直线了..