前段时间在项目中需要将Shp文件中的多线段(Polyline)的坐标提取出来,存成坐标序列文件如XML,方便前端应用中展示。

于是直接将Polyline强转为IPointCollection接口,进而获取点坐标序列,写成XML文件。思路清晰,实现也很简单。

经过一段时间应用,发现一个问题,获取出的坐标序列重绘时会出现乱的连线。

原来ArcGIS中多段线(Polyline)有一部分是结构相当复杂的,也就是看似是一条直线,包括多个部分,如下图:

这条线段是一个feature,在属性表中只有一条记录,但是这条线段包括26段,见上图左边表,各段大小不一,有的只有几个点,有点有几千个点。更要命的是,各段线间不连续,这样,如果直接以PointCollection读取出的点坐标序列是无法区分哪一部分是断开的,使用此点序列重绘的图形也是不对的。此外,在多段线中各个part中,点坐标的序列的方向也不一样,可能以某一节点为连接点的两段线在点坐标序列中记录的方向完全是相反的,此时直接以PointCollection读取出的点坐标序列,将会出现前面提到的乱的连线,首尾相接地方出现混乱。

针对这种多段线数据的处理,首先要以IGeometryCollection获取要素的空间shape字段值,再遍历其中的各Geometry,一个Geometry就对应其中的一个part,获取到正确地分段坐标后,再根据应用需求对坐标组织方式进行处理,满足实际的应用需求。

在ArcGIS中有一个开发接口是Isegment,这个接口主要是针对只有两个点的线段和弧段,是不能处理上面这种多个多点的Part的复杂多线段的。

ArcGIS中多段线(MultiPart Polyline)的坐标提取及重绘相关推荐

  1. java中线段宽度怎么设置,CAD中多段线宽度怎么设置? 来看看吧

    我们在使用CAD绘图时,常常需要设置线段的宽度以达到我们的设计要求,下面一起来看看CAD中多段线宽度是怎么设置的吧. 工具/材料 使用软件:CAD 操作方法一. 01 在桌面上双击CAD的快捷图标,打 ...

  2. 如何在ArcGIS中应用七参数对影像进行坐标投影变换

    如何在ArcGIS中应用七参数对影像进行坐标投影变换 谷歌数据为WGS84坐标系,ArcGIS矢量数据坐标系经常为北京54坐标系.西安80坐标系.国家2000坐标系,要想将WGS84坐标系转换到我们国 ...

  3. (二十九)arcpy开发利用arcpy在arcgis中实现批量计算图斑四至坐标(polygon顶点计算,范围获取、pyhon类创建)

    首先,可以参考arcpy学习视频. https://edu.csdn.net/course/detail/25535 一.问题与解决方法 这个方法的灵感来自昨天昨天,下面来说一下实现功能. 一直以来都 ...

  4. 前端面试中浏览器相关问题(二):回流与重绘

    前端面试中浏览器相关问题(二):回流与重绘 文章目录 前端面试中浏览器相关问题(二):回流与重绘 浏览器的渲染过程 生成渲染树 回流 重绘 何时发生回流重绘 浏览器的优化机制 减少回流和重绘 最小化重 ...

  5. auto CAD 二次开发 c#.net 之JIG画多段线(polyline)

    在CAD 命令中画多段线的命令为:pline.下面将介绍一种JIG画多段线的方法. 首先,来介绍一下JIG这个东西. EntityJig(实体动态预览),按照指定步骤模仿特定类型的单个实体对象.首先, ...

  6. autocad.net 画多段线_auto CAD 二次开发 c#.net 之JIG画多段线(polyline)

    在CAD 命令中画多段线的命令为:pline.下面将介绍一种JIG画多段线的方法. 首先,来介绍一下JIG这个东西. EntityJig(实体动态预览),按照指定步骤模仿特定类型的单个实体对象.首先, ...

  7. ARCGIS中如何把线图层和面图层叠加呢?

    可以通过下面的方法实现: 方法一: 如果线图层和面图层是coverage数据格式,那么只要对线图层采用build命令,build时feature type 选择poly -gon之后, 采用union ...

  8. ArcGIS山脊线、山谷线和山顶点的提取(附练习数据下载)

    特征地形要素,主要是指对地形在地表的空间分布特征具有控制作用的点.线或面状要素.特征地形要素构成地表地形与起伏变化的基本框架.与地形指标的提取主要采用小范围的邻域分析不同的是,特征地形要素的提取更多地 ...

  9. ArcGIS中的坐标系详解及部分坐标问题解决方案

    ArcGIS中的坐标系 地理空间的数学基础是空间分析的基准,在GIS中,所有的空间数据都要划归到统一的空间参考下才可以进行进一步的空间分析.地球空间参考解决的是地球的空间定位和数学描述问题,投影解决的 ...

最新文章

  1. latex实现横竖均居中
  2. OptiTrack专为VR主题公园推出了主动追踪方案,可降低40%成本
  3. 解决ViewPager嵌套后子ViewPager不能滑动的方法
  4. socket-accept
  5. linux内核打开prntk,操作系统实验一向Linux内核增加一个系统调用.docx
  6. JAR软件转APK,在线转换器
  7. 有望取代Spark,Michael Jordan和Ion Stoica提出下一代分布式实时机器学习框架Ray牛在哪?...
  8. DelayExchange原理
  9. devexpress PivotGrid Grand Total
  10. osg中添加自定义事件UserEvent
  11. 每个人都该知道的数字
  12. java没错泄露_Java内存泄露问题
  13. mm1排队系统仿真matlab实验报告,MM1排队系统仿真matlab实验报告.doc
  14. vue单页面应用中node做反向代理的原理
  15. office文档管理服务器编辑,office在线编辑方案
  16. cattee翻译_0302 echo、重定向、管道、cat、tee
  17. idea local history说明
  18. QCon全球软件开发大会(北京站)将于4月25日开幕
  19. 装多系统的U盘启动盘的制作
  20. mysql 规则引擎_为什么使用规则引擎?

热门文章

  1. 订单超过 7 天不允许退货
  2. webrtc的WHIP实现
  3. 关于所谓U盘有占用空间,却看不到文件的一些看法
  4. “钢铁大王”卡耐基:一步一个脚印的职场人
  5. 用一台电脑连接另一台电脑的虚拟机
  6. CVPR 2022 | 百变发型!中科大/微软/港城大提出HairCLIP:基于文本和参考图像的头发编辑方法...
  7. 首款国产8K 50P小型化广播级摄像机惊喜亮相冬季冰雪体育盛会
  8. 闪迪u盘不能识别好办法_U盘不能识别怎么办 U盘无法识别的7种解决方法
  9. 成功8要素Unveiling the Secrets of success in 8 words – Richard St. John’s 4 minute TED talk
  10. CSS颜色的6种写法