AutoCAD环境下数字高程模型的建立和等高线的自动绘制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的自动追踪
由 TIN 生成等高线的效果要好于矩形格网 ,它 依据三角形顶点的高程值与等高线高程的关系 ,判 断等高线是否与三角形的边相交 ,由于三角形顶点 数目少于矩形 ,需要判断的情况要比矩形格网简单 。 用追踪得到的高程等值点链表在 AutoCAD 数据库中 直接生成 3 维 3DPOL Y或 2 维的 PLINE 如图 3 ,然后 用 PEDIT 编辑功能对他们进行批量光滑 。AutoCAD 提供了功能强大的曲线拟合功能 。PEDIT 下的 Fit 拟合的曲线 ,它由连接各对顶点的弧线段组成 ,曲线 通过多段线的所有顶点并使用指定的切线方向 ;用 SPLINE 可将段线拟合成二次或三次 B 样条曲线 (由 SPLINETYPE 系统变量控制) 。也可由高程等值点链 表直接在 AutoCAD 数据库中生
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
2003 年 第 4 期 测 绘 通 报 3 1
顶点首先从顶点 (0 , 0) 开始 。在指定行 m + 1 上的 顶点之前 ,必须先提供行 m 上的每个顶点的坐标位 置 。顶点之间可以是任意距离 。网格的 M 和 N 方 向由它的顶点位置决定 。3DMESH 网格通常在 M 和 N 两个方向上都是开放的 , 可以用 PEDIT 命令闭 合此网格 。SURFTYPE 系统变量控制用平滑选项拟 合的曲面的类型 。它的可选项包括 :二次 B 样条曲 面 、三次 B 样条曲面和 Bezier 曲面 。通过循环对各 格网节点赋值生成 3 维地表高程模型 ,通过 Auto2 CAD 的着色渲染 ,用 3 维观察器可进行任意角度观 察 ,直观的进行高程粗差的检验和简单的地形分析 , 如图 2 。
二 、ObjectARX 简介
ObjectARX ( AutoCAD Run2Time Extension ) Auto2
CAD 运行扩展及其开发环境[1] 是专门为 AutoCAD 应用程序而设计的 。ARX 程序实质上是一个 Win2 dows 下的动态连接库 (DLL) 文件 。它和 AutoCAD 共 享内存地址空间 ,并直接调用 AutoCAD 的 API 函数 , 使系统在某一时刻使用的资源最少 ,并且可使 Auto2 CAD 与 C + + 进行通讯 。使用 ObjectARX 开发技术 , 可以创建快速 、高效 、紧凑的 AutoCAD 程序 ,使 ARX 应用程序不仅具有交互性 、综合性 ,而且还具有智能 性 。ARX 应用程序具有以下特点 :
(b) AutoCAD 中 3 维等高线与矩形 格网的混合视图
图 3 AutoCAD 中生成的 2 维和 3 维等高线
(b) 去除粗差后的 3 维模型 图 2 3 维观察 ———直观的粗差检验
需要说明的是 SPLINESEGS 系统变量有效值的 范围从 - 32 767 到 + 32 767 ,控制每个多段线曲线生 成的线段数目 。数值越高 ,对速度的影响越大 ,图形 占用的磁盘空间越大 。可以将此选项设置为一个较 小的值来优化作图的性能 。
3. 本文利用 ObjectARX 强大的图性操作能力和 AutoCAD 的显示编辑能力解决了等高线和 DEM 的 3 维显示问题 。
4. 解决了实际工程经常遇到的一些难题 ,有很 强的实用性 。
参考文献 (略)
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
边界确定法 在不考虑边界的情况下 ,泰森多边形算法 (其他 算法也如此) 建立的三角网是凸多边形在边界区域 会出现狭长的三角形如图 1 ,这与实际情况不符 ,使 生成的等高线在此产生畸变 。三角网边界的确定一 直没能得到圆满的解决 ,文献[ 3 ]提出的搜索算法取 得了一定的成效但结果受到边界搜索系数 (搜索半 径) 的影响 ,系数的建立是确定在经验基础上的 ,有 局限性 。本文通过遍历计算得到的三角形链表 ,确 定边界三角形 ,判断这些三角形的最大角超过某一 极限值时 ,从三角形链表中删除 。用每个三角形的 顶点 3 维数据构建 3DFACE 实体在 AutoCAD 屏幕上 输出 ,组成三角网 ,根据实际地形情况可删除在实际 边界之外的 3DFACE 实体 ,最终准确确定三角网边 界 。AutoCAD 提供了 3DFACE 实体的着色渲染和 3 维显示 ,我们可进行 3 维空间三角网模型的任意角 度观察 。释放原有三角网数据链表 ,选择 AutoCAD 绘图区的 3DFACE 建立供其他计算需要的三角网链 表 。此方法简单方便 ,实用性强 。 4. 矩形格网的建立 矩形格网是将区域平面划分为相同大小的矩形 单元 ,以每个矩形单元顶点作为 DEM 的数据结构的 基础 。离散高程数据 ,其分布一般是不规则的 ,为了 建立矩形格网必须通过数学方法计算出格网接点的 3 维坐标 。在建立了三角网的情况下利用线性插值 可快速的计算出节点坐标 。用被插值点 P ( x , y)
1. 本文利用 VC + + 和 ObjectARX 强大而灵活的 类库 ,和 ARX 程序执行效率高的特点完成了三角网 的建立和等高线的追踪计算 ,解决了 DEM 中的速度 问题 。
2. 本文提出了一种基于三角形最大角和屏幕 交互编辑的三角网区域边界确定法 ,方便有效的确 定了 DEM 和等高线的边界 。
2. TIN 的建立 在 TIN 的生成算法中 ,主要有三角网生长法 ,分 割2归并法 。三角网生长法的基本思路是将最临近 的 3 个离散点连接成初始三角形 ,再以这个三角形 的每一条边为基础连接邻近离散点 ,组成新的三角 形 。新三角形的边成为连接其他离散点的基础 ,如 此继续下去 ,直到所有的三角形的边都无法再扩展 成新的三角形 ,而且所有的离散点都包含在三角网 中 。分割2归并法的基本思路是递归地分割点集至 足够小 ,使其易于生成三角网 ,然后把子集中的三角 网合并 ,经优化生成最终的三角网 。本文利用文献 [ 2 ]通过“泰森多边形算法”建立三角网 ,它严格符合 Delaunay 三角网的定义 ,因此模型所表达的地形惟 一 ,确保了生成的等高线无歧异 。 3. 基于三角形最大角和屏幕交互编辑的区域
一 、引 言
用非影像手段获得的地形数据是一些离散的 3 维空间数据 ,如何充分利用这些测量数据方便 、快 速 、准确生成符合地形图要求的等高线对地形图的 生产有实用价值 。AutoCAD 是中国目前应用最多的 绘图软件 ,测绘界利用它提供的强大二次开发功能 编制了很多地形图绘制软件 ,在实际工作中得到了 广泛的应用 。DWG 格式的图形文件是以成为工程 部门广泛接受的标准文件 ,但等高线的绘制依旧是 众多软件面临的问题之一 ,尚待解决 。一些单位通 过把展点图形输出 ,手工描绘等高线然后再通过数 字化仪数字化进入 AutoCAD , 不仅效率低而且精度 差 。现存的一些等高线自动绘制软件存在一些问题 主要表现在 :独立平台开发的软件 ,图形文件格式通 用性差 ,转化成 DWG 格式时存在图形信息失真和 丢失 ;用 Lisp 和 VB 开发的基于 AutoCAD 的软件三 角网计算效率低 (由开发语言的机制决定) ;三角网 或矩形格网的生成算法单一 ,追踪的等高线精度差 , 3 维显示难度大 ;等高线的光滑算法单一图形输出 质量差 。本文提出的利用 ObjectARX 技术在 Auto2 CAD 平台下自动绘制等高线方法有效地解决了上述 问题 。ObjectARX 动态连接库计算三角网和矩形网 , 追踪等高线 。在 AutoCAD 中进行三角网 、等高线和 3 维地面模型的绘制显示 、交互编辑 。
成光滑曲线 。由 ObjectARX 函数在 AutoCAD 数据库 中直接生成等高线对象 ,计算速度快 、稳定性强 。运 用 AutoCAD 强大的编辑能力并根据测区的实际情况 进行必要的编辑生成标准的 DWG格式等高线图 。
(a) AutoCAD 中生成 2 维等高线
(a) 存在粗差的 3 维模型
姚 鑫 ,宋伟东
(辽宁工程技术大学 测量系 ,辽宁 阜新 123000)
DEM Building and Automatic Contour Line Tracing in AutoCAD Environment
YAO Xin , SONG Wei2dong
摘要 :提出一种利用离散高程数据在 AutoCAD 下进行 DEM(数字高程模型) 的建立和等高线自动追踪的方法 ,并实现了三角网区 域边界方便有效的确定和等高线与地面模型的 3 维显示 。 关键词 :AutoCAD ;DEM ;等高线 ;3 维显示
三 、数字高程模型的建立
1. 建立数字高程模型的方法 数字高程模型是利用一个任意坐标场中大量选 择的已知 X , Y , Z 的坐标点对连续地面的一个简单 的统计表示 ,或者说 ,DEM 就是地形表面简单的数 字表示 。DEM 的建立方法很多 ,常用的有三角网模 型和格网模型 。三角网模型在相同的数据点的情况 下建网较为复杂 ,但精度较高 ,便于等高线的追踪 ;
1. 基于 Windows DLL 的编译应用程序环境 ; 2. 集成了 AutoCAD ,AutoLisp 和 ADS ; 3. 提供了 200 多个类与 3 000 多个成员函数 ; 4. 最大的可操作性 ,直接利用 C + + 进入 Auto2 CAD 数据结构内核 ; 5. 运行时可扩展 ; 6. 能够接受不同事件的声明 ; 7. 可替代扩充实体数据和构建应用程序消息 ; 8. 在不同的操作系统中可以移植 ; 9. 用户能够定义“原始”的 AutoCAD 命令 。
3 0 测 绘 通 报 2003 年 第 4 期
格网模型精度相对较低 ,但结构简单 ,后续计算处 理 、应用及 3 维表现较好 。本文中采用三角网模型 进行等高线追踪 ,在三角网的基础上内插格网点建 立矩形格网 ,进行地形的 3 维显示 。
收稿日期 : 2002209202 作者简介 :姚 鑫 (19782) ,男 ,辽宁铁岭人 ,硕士生 ,主要研究方向为计算机地图制图和遥感图像处理 。
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
2003 年 第 4 期 测 绘 通 报 2 9
文章编号 :049420911 (2003) 0420029203
中图分类号 :P283. 7 文献标识码 :B
AutoCAD 环境下数字高程模型 的建立和等高线的自动绘制
(a) 离散高程点
(b) 边界区域外有狭长三角形的三角网
(c) 去除狭长三角形的三角网
(d) 手工编辑确定边界的三角网 图 1 三角网边界区域的确定
所在三角形的 3 个顶点 P1 ( x1 , y1 , z1) , P2 ( x2 , y2 , z2) , P3 ( x3 , y3 , z3) 构成一 3 维平面 , 作为插值的基 础 , 计算出 P ( x , y) 的相应高程 Z 。AutoCAD 用矩阵 来定义矩形网格 3DMESH 实体 ,其大小由 M 向和 N 向网格数决定 。M ×N 等于必须指定的顶点数目 。 指定顶点的位置 (0 ,0) :输入 3 维坐标网格中每个顶 点的位置由 m 和 n (即顶点的行列坐标) 定义 。定义
由 TIN 生成等高线的效果要好于矩形格网 ,它 依据三角形顶点的高程值与等高线高程的关系 ,判 断等高线是否与三角形的边相交 ,由于三角形顶点 数目少于矩形 ,需要判断的情况要比矩形格网简单 。 用追踪得到的高程等值点链表在 AutoCAD 数据库中 直接生成 3 维 3DPOL Y或 2 维的 PLINE 如图 3 ,然后 用 PEDIT 编辑功能对他们进行批量光滑 。AutoCAD 提供了功能强大的曲线拟合功能 。PEDIT 下的 Fit 拟合的曲线 ,它由连接各对顶点的弧线段组成 ,曲线 通过多段线的所有顶点并使用指定的切线方向 ;用 SPLINE 可将段线拟合成二次或三次 B 样条曲线 (由 SPLINETYPE 系统变量控制) 。也可由高程等值点链 表直接在 AutoCAD 数据库中生
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
2003 年 第 4 期 测 绘 通 报 3 1
顶点首先从顶点 (0 , 0) 开始 。在指定行 m + 1 上的 顶点之前 ,必须先提供行 m 上的每个顶点的坐标位 置 。顶点之间可以是任意距离 。网格的 M 和 N 方 向由它的顶点位置决定 。3DMESH 网格通常在 M 和 N 两个方向上都是开放的 , 可以用 PEDIT 命令闭 合此网格 。SURFTYPE 系统变量控制用平滑选项拟 合的曲面的类型 。它的可选项包括 :二次 B 样条曲 面 、三次 B 样条曲面和 Bezier 曲面 。通过循环对各 格网节点赋值生成 3 维地表高程模型 ,通过 Auto2 CAD 的着色渲染 ,用 3 维观察器可进行任意角度观 察 ,直观的进行高程粗差的检验和简单的地形分析 , 如图 2 。
二 、ObjectARX 简介
ObjectARX ( AutoCAD Run2Time Extension ) Auto2
CAD 运行扩展及其开发环境[1] 是专门为 AutoCAD 应用程序而设计的 。ARX 程序实质上是一个 Win2 dows 下的动态连接库 (DLL) 文件 。它和 AutoCAD 共 享内存地址空间 ,并直接调用 AutoCAD 的 API 函数 , 使系统在某一时刻使用的资源最少 ,并且可使 Auto2 CAD 与 C + + 进行通讯 。使用 ObjectARX 开发技术 , 可以创建快速 、高效 、紧凑的 AutoCAD 程序 ,使 ARX 应用程序不仅具有交互性 、综合性 ,而且还具有智能 性 。ARX 应用程序具有以下特点 :
(b) AutoCAD 中 3 维等高线与矩形 格网的混合视图
图 3 AutoCAD 中生成的 2 维和 3 维等高线
(b) 去除粗差后的 3 维模型 图 2 3 维观察 ———直观的粗差检验
需要说明的是 SPLINESEGS 系统变量有效值的 范围从 - 32 767 到 + 32 767 ,控制每个多段线曲线生 成的线段数目 。数值越高 ,对速度的影响越大 ,图形 占用的磁盘空间越大 。可以将此选项设置为一个较 小的值来优化作图的性能 。
3. 本文利用 ObjectARX 强大的图性操作能力和 AutoCAD 的显示编辑能力解决了等高线和 DEM 的 3 维显示问题 。
4. 解决了实际工程经常遇到的一些难题 ,有很 强的实用性 。
参考文献 (略)
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
边界确定法 在不考虑边界的情况下 ,泰森多边形算法 (其他 算法也如此) 建立的三角网是凸多边形在边界区域 会出现狭长的三角形如图 1 ,这与实际情况不符 ,使 生成的等高线在此产生畸变 。三角网边界的确定一 直没能得到圆满的解决 ,文献[ 3 ]提出的搜索算法取 得了一定的成效但结果受到边界搜索系数 (搜索半 径) 的影响 ,系数的建立是确定在经验基础上的 ,有 局限性 。本文通过遍历计算得到的三角形链表 ,确 定边界三角形 ,判断这些三角形的最大角超过某一 极限值时 ,从三角形链表中删除 。用每个三角形的 顶点 3 维数据构建 3DFACE 实体在 AutoCAD 屏幕上 输出 ,组成三角网 ,根据实际地形情况可删除在实际 边界之外的 3DFACE 实体 ,最终准确确定三角网边 界 。AutoCAD 提供了 3DFACE 实体的着色渲染和 3 维显示 ,我们可进行 3 维空间三角网模型的任意角 度观察 。释放原有三角网数据链表 ,选择 AutoCAD 绘图区的 3DFACE 建立供其他计算需要的三角网链 表 。此方法简单方便 ,实用性强 。 4. 矩形格网的建立 矩形格网是将区域平面划分为相同大小的矩形 单元 ,以每个矩形单元顶点作为 DEM 的数据结构的 基础 。离散高程数据 ,其分布一般是不规则的 ,为了 建立矩形格网必须通过数学方法计算出格网接点的 3 维坐标 。在建立了三角网的情况下利用线性插值 可快速的计算出节点坐标 。用被插值点 P ( x , y)
1. 本文利用 VC + + 和 ObjectARX 强大而灵活的 类库 ,和 ARX 程序执行效率高的特点完成了三角网 的建立和等高线的追踪计算 ,解决了 DEM 中的速度 问题 。
2. 本文提出了一种基于三角形最大角和屏幕 交互编辑的三角网区域边界确定法 ,方便有效的确 定了 DEM 和等高线的边界 。
2. TIN 的建立 在 TIN 的生成算法中 ,主要有三角网生长法 ,分 割2归并法 。三角网生长法的基本思路是将最临近 的 3 个离散点连接成初始三角形 ,再以这个三角形 的每一条边为基础连接邻近离散点 ,组成新的三角 形 。新三角形的边成为连接其他离散点的基础 ,如 此继续下去 ,直到所有的三角形的边都无法再扩展 成新的三角形 ,而且所有的离散点都包含在三角网 中 。分割2归并法的基本思路是递归地分割点集至 足够小 ,使其易于生成三角网 ,然后把子集中的三角 网合并 ,经优化生成最终的三角网 。本文利用文献 [ 2 ]通过“泰森多边形算法”建立三角网 ,它严格符合 Delaunay 三角网的定义 ,因此模型所表达的地形惟 一 ,确保了生成的等高线无歧异 。 3. 基于三角形最大角和屏幕交互编辑的区域
一 、引 言
用非影像手段获得的地形数据是一些离散的 3 维空间数据 ,如何充分利用这些测量数据方便 、快 速 、准确生成符合地形图要求的等高线对地形图的 生产有实用价值 。AutoCAD 是中国目前应用最多的 绘图软件 ,测绘界利用它提供的强大二次开发功能 编制了很多地形图绘制软件 ,在实际工作中得到了 广泛的应用 。DWG 格式的图形文件是以成为工程 部门广泛接受的标准文件 ,但等高线的绘制依旧是 众多软件面临的问题之一 ,尚待解决 。一些单位通 过把展点图形输出 ,手工描绘等高线然后再通过数 字化仪数字化进入 AutoCAD , 不仅效率低而且精度 差 。现存的一些等高线自动绘制软件存在一些问题 主要表现在 :独立平台开发的软件 ,图形文件格式通 用性差 ,转化成 DWG 格式时存在图形信息失真和 丢失 ;用 Lisp 和 VB 开发的基于 AutoCAD 的软件三 角网计算效率低 (由开发语言的机制决定) ;三角网 或矩形格网的生成算法单一 ,追踪的等高线精度差 , 3 维显示难度大 ;等高线的光滑算法单一图形输出 质量差 。本文提出的利用 ObjectARX 技术在 Auto2 CAD 平台下自动绘制等高线方法有效地解决了上述 问题 。ObjectARX 动态连接库计算三角网和矩形网 , 追踪等高线 。在 AutoCAD 中进行三角网 、等高线和 3 维地面模型的绘制显示 、交互编辑 。
成光滑曲线 。由 ObjectARX 函数在 AutoCAD 数据库 中直接生成等高线对象 ,计算速度快 、稳定性强 。运 用 AutoCAD 强大的编辑能力并根据测区的实际情况 进行必要的编辑生成标准的 DWG格式等高线图 。
(a) AutoCAD 中生成 2 维等高线
(a) 存在粗差的 3 维模型
姚 鑫 ,宋伟东
(辽宁工程技术大学 测量系 ,辽宁 阜新 123000)
DEM Building and Automatic Contour Line Tracing in AutoCAD Environment
YAO Xin , SONG Wei2dong
摘要 :提出一种利用离散高程数据在 AutoCAD 下进行 DEM(数字高程模型) 的建立和等高线自动追踪的方法 ,并实现了三角网区 域边界方便有效的确定和等高线与地面模型的 3 维显示 。 关键词 :AutoCAD ;DEM ;等高线 ;3 维显示
三 、数字高程模型的建立
1. 建立数字高程模型的方法 数字高程模型是利用一个任意坐标场中大量选 择的已知 X , Y , Z 的坐标点对连续地面的一个简单 的统计表示 ,或者说 ,DEM 就是地形表面简单的数 字表示 。DEM 的建立方法很多 ,常用的有三角网模 型和格网模型 。三角网模型在相同的数据点的情况 下建网较为复杂 ,但精度较高 ,便于等高线的追踪 ;
1. 基于 Windows DLL 的编译应用程序环境 ; 2. 集成了 AutoCAD ,AutoLisp 和 ADS ; 3. 提供了 200 多个类与 3 000 多个成员函数 ; 4. 最大的可操作性 ,直接利用 C + + 进入 Auto2 CAD 数据结构内核 ; 5. 运行时可扩展 ; 6. 能够接受不同事件的声明 ; 7. 可替代扩充实体数据和构建应用程序消息 ; 8. 在不同的操作系统中可以移植 ; 9. 用户能够定义“原始”的 AutoCAD 命令 。
3 0 测 绘 通 报 2003 年 第 4 期
格网模型精度相对较低 ,但结构简单 ,后续计算处 理 、应用及 3 维表现较好 。本文中采用三角网模型 进行等高线追踪 ,在三角网的基础上内插格网点建 立矩形格网 ,进行地形的 3 维显示 。
收稿日期 : 2002209202 作者简介 :姚 鑫 (19782) ,男 ,辽宁铁岭人 ,硕士生 ,主要研究方向为计算机地图制图和遥感图像处理 。
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
2003 年 第 4 期 测 绘 通 报 2 9
文章编号 :049420911 (2003) 0420029203
中图分类号 :P283. 7 文献标识码 :B
AutoCAD 环境下数字高程模型 的建立和等高线的自动绘制
(a) 离散高程点
(b) 边界区域外有狭长三角形的三角网
(c) 去除狭长三角形的三角网
(d) 手工编辑确定边界的三角网 图 1 三角网边界区域的确定
所在三角形的 3 个顶点 P1 ( x1 , y1 , z1) , P2 ( x2 , y2 , z2) , P3 ( x3 , y3 , z3) 构成一 3 维平面 , 作为插值的基 础 , 计算出 P ( x , y) 的相应高程 Z 。AutoCAD 用矩阵 来定义矩形网格 3DMESH 实体 ,其大小由 M 向和 N 向网格数决定 。M ×N 等于必须指定的顶点数目 。 指定顶点的位置 (0 ,0) :输入 3 维坐标网格中每个顶 点的位置由 m 和 n (即顶点的行列坐标) 定义 。定义