当前位置: 首页 > article >正文

本文主要详细讲解ArcGIS中的线、多线段和多边形的结构关系。

       在ArcGIS的定义中,线部分的类结构视图如下:

       从上图可以非常直观地看到其结构关系。

一、线段(ISegment)
       ArcGIS中的线段都继承于ISegment,分四种线段。贝拉曲线(IBezierCurve)、直线段(ILine)、圆弧线(ICircularArc)、椭圆弧线(IEllipticArc)。他们只有两个端点相连接。


1. 直线段(ILine)

       直线段由两个点直接连接而成。

2. 圆弧线(ICircularArc)

       圆弧线是一个弧段,也可以是一个完整的圆弧,即起点和终点在同一个点上。

3. 椭圆弧线(IEllipticArc)

       椭圆弧线是椭圆的一个弧段,可以是一个完整的椭圆,也可以是任何一段弧段。


4. 贝塞尔曲线(IBezierCurve)

       贝赛尔曲线的每一个顶点都有两个控制点,用于控制在该顶点两侧的曲线的弧度。它是应用于二维图形应用程序的数学曲线。曲线的定义有四个点:起始点、终止点(也称锚点)以及两个相互分离的中间点。滑动两个中间点,贝塞尔曲线的形状会发生变化。在实际开发和应用中不常用到该类曲线段。

       更多关于贝塞尔曲线,参见:http://baike.baidu.com/view/60154.htm


二、相互连接组成的线(IPath),闭合的连接线(IRing)
       一个或多条线段首尾相连接,组成的图形IPath。满足IPath必须要满足线段是首尾相接,每个连接处只能有两个点。IPath可由一条或多条线段构成,构成的图形可以成闭合状态,这时闭合的IPath可称为IRing(类比于正方形是长宽相等的矩形)。

       下图所示,左边的能构成IPath,右边的则不能称作IPath。

三、多线段(IPolyline)
       多线段由一条或多条IPath构成。可以想到,单个ISegment也可构成一个IPolyline。闭合的IPaths(IRing)同样可以构成一个IPolyline,当然闭合的一个ISegment同样是可以构成IPolyline。一个IPolyline可能是连接的也可能是分散的,但通常情况下一个多线段由一个IPath构成,这样有利于数据的读取和分析。

四、多边形(IPolygon)
       多边形是由一个或多个IRing构成。也就是说,组成IPolygon中的图形都是闭合的图形。单个闭合ISegment可以构成IPolygon,如闭合的圆弧(ICurve)、闭合的椭圆弧(IEllipticArc)。Polygon可以是相互包含、相交或者分散的多个IRing构成,但通常情况下一个IPolygon由一个IRing构成,便于数据读取和各种分析。

五、曲线ICurve
       ArcGIS中,所有的线相关的图形都继承ICurve,其定义了线的通性和一些操作查询方法。

下表是ICurve的成员变量和方法:

具体用法见ArcGIS开发帮助文档。

来源:http://blog.csdn.net/mengdong_zy/article/details/9057095


http://www.kler.cn/a/536017.html

相关文章:

  • 第6章《VTK与Qt集成》
  • 树莓派卷积神经网络实战车牌检测与识别
  • Java基础面试题50题
  • Java高频面试之SE-17
  • 2024 JAVA面试题
  • Java实习生面试题汇总
  • Kafka 可靠性探究—副本刨析
  • 关于maven的java面试题汇总
  • 1 Java 基础面试题(上)
  • 物联网实训室解决方案(2025年最新版)
  • BUU26 [极客大挑战 2019]HardSQL1
  • Electron学习笔记,用node程序备份数据库(2)
  • Github 2025-02-07Java开源项目日报 Top9
  • 二叉树实现(学习记录)
  • 神经辐射场(NeRF):从2D图像到3D场景的革命性重建
  • Java面试题——事务
  • 【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第一部分:引言与模型架构
  • windows10环境下的Deepseek本地部署及接口调用
  • 网络安全威胁框架与入侵分析模型概述
  • 【PostgreSQL内核学习 —— (WindowAgg(三))】
  • golang命令大全12--命令速查表
  • Vue学习综合案例(四)
  • Spring的三级缓存如何解决循环依赖问题
  • 202412 青少年软件编程等级考试C/C++ 二级真题答案及解析
  • C++证件识别接口-身份证识别-护照识别-驾驶证识别-户口页识别
  • RabbitMQ 从入门到精通:从工作模式到集群部署实战(三)