关于几何服务

几何服务用于辅助应用程序执行各种几何计算,如缓冲区、简化、面积和长度计算以及投影。在 ArcGIS Server 管理器中启动几何服务之后,您才能够在应用程序开发过程中使用该服务。

问题及解决方案大致描述:

在使用几何服务的cut功能时出现错误。对于某些线要素(如,可供测试的修改前的要素)无法裁剪。后经测试找到问题原因,修改后的线要素

如图,弯弯曲曲的线要素为裁剪目标(Target Geometries),直线要素为裁剪(Cutter)。箭头所指为问题所在。

如下两图将 裁剪目标A(绿色)  复制粘贴为 裁剪目标B(紫色)  并修改

修改后的线要素  可以被被几何服务的 cut 功能 顺利处理。

具体测试过程:

几何服务cut功能API   API中示例链接

根据官方示例,几何服务使用rest链接输入参数、获取结果(都可选json格式)。json的百度百科

那么怎样直观的查看输入输出要素(即怎样在将json格式描述的要素显示在ArcMap中,以及怎样将在ArcMap中自己绘制的待测试要素导出为符合要求的json格式)。 参见链接

另外我们需要知道输出参数的含义,如下为官方示例的输出结果。

{"geometryType":"esriGeometryPolyline","geometries":[{"paths":[[[6805742.999940723,1843229.9998401403],[6805741.168907642,1843467.4288272262]],[[6805740.271927804,1843583.727151066],[6805739.999946713,1843619.0000463873]]]},{"paths":[[[6805741.168907642,1843467.4288272262],[6805740.271927804,1843583.727151066]]]},{"paths":[[[6802620.999951139,1843581.0001223981],[6805496.000106633,1844962.9999830574]]]}],"cutIndexes":[0,0,1]}

内容分别描述了 要素类型、要素坐标具体位置、cutIndexes,其中 cutIndexes是何含义呢?

观察可以发现  Paths 个数与 cutIndexes 中数字个数一致,都是3个。而Paths是运行结果,表示输入要素(官方输入裁剪目标为两个线要素)。

经过测试,"cutIndexes":[0,0,1]中,"0"表示裁剪目标的第一个, "0,0"表示被第一个要素被裁剪为两个要素。  同理  "1"表示裁剪目标的第二个, "1" 表示第二个要素未被裁剪成多个。

若第二个要素也被裁剪为两个要素。那么就会是   "cutIndexes":[0,0,1,1]。

而对于某些线要素(如,可供测试的修改前的要素),裁剪后结果显示要素未被裁剪。

未被裁剪的原因一般有二:

①裁剪目标(target)和裁剪要素(Cutter)无交点,经过上述方法得到符合标志json文件,再通过json to feature 在arcmap中查看发现二者是有交点的。

②cut功能异常。

分析过是否因为裁剪目标(target)太长了,所以出错,将其截成小段,得到json,再使用cut功能测试。在测试过程中,有的小段可以,有的不行,最终定位到只要包含某一段就不行。

那么可能是数据原因,仔细查看后,如上文图片所示,原因在于有重合的点,将其分离后,得到json并使用cut功能测试,成功了~~

重合的点指:假设画线要素时依次画了点   A、B、C、D、E、F、G .... 如下图绿色线,此时C和E位置重合,此时得到的json不能被几何服务的cut功能正常处理。

将绿色线平移,再把C、E两点分开得到紫色线。紫色线得到的json可以被几何服务的cut功能正常处理。

几何服务,cut功能测试的更多相关文章

  1. 几何服务,cut功能,输入要素target(修改后)内容。

    几何服务,cut功能测试,输入要素target(修改后)内容. {"displayFieldName":"","fieldAliases": ...

  2. 几何服务,cut功能,输入要素target(修改前)内容。

    几何服务,cut功能测试,输入要素target(修改前)内容. {"geometryType":"esriGeometryPolyline","geo ...

  3. ArcGIS 重新创建几何服务(GeometryService)

    #参考官方网址:http://enterprise.arcgis.com/zh-cn/server/10.4/administer/windows/re-creating-the-geometry-s ...

  4. soapui中文操作手册(八)----Web服务的功能测试案例

    现在,让我们来看看在一个TestCase的功能测试. 展开 Simple TestSuite并双击Simple Login and Logout w. Properties Steps. 正如你所看到 ...

  5. ArcGIS Server,rest路径输入要素json 格式描述

    以下内容只测试了简单线, 在ArcGIS Server 的rest路径下可以对服务进行操作,如Query等,这些操作可以输入json 格式要素描述或运行得到即输出json格式要素描述. 如博客:htt ...

  6. ArcGIS API for JavaScript 4.3 与ArcGIS Server联动使用【地图服务】

    [前言] 有好些网友问我怎么使用Server发布的地图服务了,其实非常的简单. 我在这里先声明:不提供Server软件,需要的请自行使用互联网搜索资源: 不阐述Server如何发布各各种服务,但是我会 ...

  7. ArcGIS 10.2之地图服务的发布、使用

    2.发布地图服务 2.1 地图服务器的建立 打开ArcCatalog,在左侧的GIS Servers下,双击Add ArcGIS Server, 弹出添加界面,选择,Administer GIS服务项 ...

  8. 基于APM实现RPC服务和消息队列的指定消费

    本文内容是基于公司现有框架整理的一篇专利文章.该框架包含完整的一套DevOps流程,包括工单系统(容器申请.服务部署等)\配置中心\路由配置中心\服务治理平台\消息治理平台\葛朗台(基于Docker+ ...

  9. 云原生 go-zero 微服务框架

    0. go-zero介绍 go-zero是一个集成了各种工程实践的web和rpc框架.通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验. go-zero包含极简的API定义和生成工具goc ...

随机推荐

  1. [mysql]知识补充

    知识概况 视图 函数 存储过程 事务 索引 触发器 [视图] 视图是一个虚拟表,可以实现查询功能,不能进行增删改 本质:根据sql语句获取动态的数据集,并为其命名 1.创建视图 --create vi ...

  2. 【学习笔记】ES6标准入门

    这里简要记录一下对自己感触比较深的几个知识点,将核心的应用投放于实际的项目之中,提供代码的可维护性. 一.let和const { // let声明的变量只在let命令所在的代码块内有效 let a = ...

  3. 笔记本双系统XP与Ubuntu,重装XP后如何恢复grup引导,另附操作系统启动过程

    背景:笔记本双系统(XP与Ubuntu),其中XP系统因问题重装了一下,重装后不能识别Ubuntu系统(该系统装在另一个磁盘中),直接进入了XP系统. 解决办法:利用U盘(Ubuntu系统)启动机器, ...

  4. HTML5本地存储——Web SQL Database

    在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...

  5. fabric devenv Vagrantfile配置

    Vagrantfile文件只会在第一次执行vagrant up时调用执行,其后如果不明确使用vagrant reload,则不会被强制重新加载. # This is the mount point f ...

  6. 【转】c# Image获得图片路径的三种方法 winform

    代码如下:c# pictureBox1.Image的获得图片路径的三种方法 winform 1.绝对路径:this.pictureBox2.Image=Image.FromFile("D:\ ...

  7. linux学习笔记-前篇

    大学毕业已经快三年了,从事嵌入式开发的工作也快三年了. 不过,老干些裸机开发,感觉很是枯燥,一咬牙一跺脚,决定从今天开始学习Linux操作系统,顺便记录下学习过程中所遇到的问题与心得. 自己从前完全没 ...

  8. Codeforces 307 div2 E.GukiZ and GukiZiana 分块

    time limit per test 10 seconds memory limit per test 256 megabytes input standard input output stand ...

  9. 疯狂房价"逼死"年轻人,别指望中国未来能出人才了

    社会高房价,杀死那个学者 --北京青年学者生存侧记 这一轮,房价又上涨了,只有更疯狂. 几年前,北京三环内的房价突破5万,世人惊呼:没几年,四环5万了,五环5万了:这一轮,北京城乡结合部,哪怕脏乱差之 ...

  10. iOS ReactiveCocoa简单使用笔记

    涉及对象: 两个输入框,一个按钮. 代码功能: 随时监测输入框内容的长度变化,并在输入内容不符合预设要求时,立即改变输入框背景色. 在两个输入框的内容都符合预设要求时,按钮才可用. RACSignal ...