专利名称:一种准确计算地表长度的方法和装置的制作方法
技术领域:
本申请涉及地理信息技术领域,特别是涉及ー种准确计算地表长度的方法和装置。
背景技术:
地表长度是地名空间点组成的长度。计算地表长度在地理信息领域很常见,例如在山区中计算ー个地方到另外ー个地方的距离,由于地面的起伏不定,在实际计算中很难准确的得到实际距离,现有技术一般是从地形图上大概的量取几个点,然后计算距离,或者在实际空间中采集部分点来计算距离,但是在地形图上量取的点和实际空间中采集点都很有限,不能真实的表达出地形的起伏特征,也就不能准确的计算出地表长度。
发明内容
本申请所要解决的技术问题是提供ー种准确计算地表长度的方法和装置,以解决现有的计算地表长度的方法中计算结果不准确的问题。为了解决上述问题,本申请公开了ー种准确计算地表长度的方法,包括确定需要计算地表长度的线的点序列,加载点序列范围内的DHM数据;投影所述需要计算地表长度的线到DEM上;确定所述投影到DEM上的线的转折点;连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为地表长度。优选的,所述确定需要计算地表长度的线的点序列包括在地图上采集点序列或输入点序列的坐标,其中,所述点序列的坐标包括ニ维坐标或三维坐标。优选的,所述点序列范围是点序列的外包矩形。优选的,所述DEM数据包括原点坐标、网格大小和网格高程,其中,所述原点坐标是外包矩形左下角的坐标,所述网格高程是网格中心点的高程。优选的,所述投影是在DEM中找到与所述点序列的平面坐标相同的点序列。优选的,所述的转折点是投影在DEM上的线与由三个网格中心点组成的三角形边的交点,是空间的三维坐标点,其中,所述三角形是直角三角形,斜边经过ー个网格交点。本申请还公开了ー种准确计算地表长度的装置,包括点序列确定模块,用于确定需要计算地表长度的线的点序列;DEM加载模块,用于加载点序列范围内的DEM数据;投影模块,用于投影所述需要计算地表长度的线到DEM上;转折点确定模块,用于确定所述投影到DEM上的线的转折点;计算模块,用于连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为地表长度。优选的,所述DEM加载模块在点序列范围内加载的DEM数据包括原点坐标、网格大小和网格高程,其中,所述点序列范围是点序列的外包矩形;所述原点坐标是外包矩形左下角的坐标;所述网格高程是网格中心点的高程。优选的,所述投影模块在DEM中找到与所述点序列的平面坐标相同的点序列。优选的,所述转折点确定模块确定投影在DEM上的线与由三个网格中心点组成的 三角形边的交点,并将所述交点作为转折点; 其中,所述三角形是直角三角形,斜边经过ー个网格交点,所述转折点是空间的三维坐标点。与现有技术相比,本申请包括以下优点本申请中ー种准确计算地表长度的方法和装置,借助DEM对实际地表情况的空间分布信息,利用DEM中的数据,包括原点坐标、网格大小和网格高程,将需要计算地表长度的线在DEM中投影,确定投影到DEM上线的转折点,连接转折点为线段并计算线段的长度,得到的就是实际的地表长度。本申请在DEM中重新采集点序列,即确定的转折点,DEM中的点序列真实反映地表地貌,而且DEM中点序列的密度远远大于传统方法采集到的点序列的密度。本申请提出的ー种准确计算地表长度的方法和装置通过提高点序列的密度来提高计算地表长度的准确度,使计算结果更能反映实际的地表情況。
图I是本申请实施例一所述ー种准确计算地表长度的方法流程图;图2是本申请实施例ニ所述ー种准确计算侵蚀沟道长度的方法流程图;图3是本申请实施例ニ所述侵蚀沟道的点序列示意图;图4是本申请实施例ニ所述侵蚀沟道的点序列范围示意图;图5是本申请实施例ニ所述确定投影到DEM上的线的转折点示意图;图6是本申请实施例三所述ー种准确计算山区排水沟长度的方法流程图;图7是本申请实施例四所述ー种准确计算地表长度的装置结构图;图8是本申请实施例五所述ー种准确计算地表长度的装置结构图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。本申请提出的ー种准确计算地表长度的方法和装置,结合DEM在地理信息系统中的作用,通过加载DEM数据,将计算地表长度的点序列在DEM中重新采集出来,再计算DEM中点序列连线的长度,得到实际的地表长度。下面通过几个具体的实施例详细介绍本申请提出的ー种准确计算地表长度的方法和装置。其中,DEM (Digital Elevation Model,数字高程模型)是一定范围内规则格网点的平面坐标(X,Y)及其高程(Z)的数据集,它主要是描述区域地貌形态的空间分布,是通过等高线或相似立体模型进行数据采集(包括采样和量測),然后进行数据内插而形成的。DEM是对地貌形态的虚拟表示,可派生出等高线、坡度图等信息,用干与地形相关的分析应用。实施例1,详细介绍ー种准确计算地表长度的方法。參照图1,示出了本申请实施例中ー种准确计算地表长度的方法流程图。步骤11,确定需要计算地表长度的线的点序列,加载点序列范围内的DEM数据;在地图上确定需要计算地表长度的线的点序列,确定点序列的范围,加载点序列范围内的DEM数据。
步骤12,投影所述需要计算地表长度的线到DEM上;将需要计算地表长度的线投影到DEM上。步骤13,确定所述投影到DEM上的线的转折点;根据DEM描述区域地貌形态空间分布的特点,投影到DEM上的线位于三维空间内,地貌形态的高低起伏导致转折点的存在。步骤14,连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为地表长度。将所述转折点连接为多线段,计算各线段的长度,将所有线段的长度相加起来,得到的就是地表长度。综上所述,本申请实施例所述ー种准确计算地表长度的方法,借助DEM对实际地表情况的空间分布信息,利用DEM中的数据,包括原点坐标、网格大小和网格高程,将需要计算地表长度的线在DEM中投影,确定投影到DEM上线的转折点,连接转折点为线段并计算线段的长度,得到的就是实际的地表长度。本申请在DEM中重新采集点序列,即确定的转折点,通过增加点序列的密度来提高计算地表长度的准确度,使计算结果更能反映实际的地表情况。下面通过实施例2详细介绍本申请提出的ー种准确计算地表长度的方法。实施例2,详细介绍ー种准确计算侵蚀沟道长度的方法。在计算侵蚀沟道长度的时候,一般都是通过采集的点序列来计算,但是由于沟道底部的起伏不平,能够采集的点序列很少,用这些有限的点序列计算出的侵蚀沟道长度存在比较大的误差。下面就通过本申请实施例中的方法来准确计算侵蚀沟道长度。參照图2,示出了本申请实施例中一种准确计算侵蚀沟道长度的方法流程图。步骤21,确定需要计算侵蚀沟道长度的线的点序列;确定所述点序列包括在地图上采集点序列或输入点序列的坐标,其中,所述点序列的坐标包括ニ维坐标或三维坐标;所述输入点序列的坐标符合OpenGIS (Open Geodata InteroperationSpecification,开放的地理数据互操作规范)。例如计算图3中A — B — C — D点之间的侵蚀沟道长度,点序列为三维点AU1,yI,Ζι)、B (Xg,Yζ。)、C (X3,Υβ Ζ3ジ、D 1X4,YAj Ζ4ジ — 会隹点 A I.J y!)、B (X2,乂2)、C CΧβ
y"3リ、D Χ4 Yα)ο步骤22,确定所述点序列的范围;
所述点序列的范围是点序列的外包矩形,也就是包括整个侵蚀沟道的外包矩形,为了方便计算处理,该外包矩形可以往四周外扩3-5个像素的距离。例如图4中A — B — C — D点的外包矩形就是A — B — C — D点序列的范围。步骤23,加载所述点序列范围内的DEM数据;所述DEM数据包括原点坐标、网格大小和网格高程,其中,所述原点坐标是外包矩形左下角的坐标,所述网格高程是网格中心点的高程。
步骤24,投影所述需要计算侵蚀沟道长度的线到DEM上;所述投影是在DEM中找到与所述点序列的平面坐标相同的点序列。例如所述A — B — C — D点之间的侵蚀沟道在DEM中投影,如果A、B、C、D四点是三维点,则在DEM中投影后的点序列为A' Cx1, y1; z5)>B/ (x2, y2, z6)、C' (x3,y3,z7)、D' (x4, y4,z8);如果这四个点是ニ维点,则投影到DEM中的点序列是其本身。步骤25,确定所述投影到DEM上的线的转折点;所述的转折点是投影在DEM上的线与由三个网格中心点组成的三角形边的交点,是空间的三维坐标点,其中,所述三角形是直角三角形,斜边经过ー个网格交点。还包括參照图5,示出了确定投影到DEM上的线的转折点的示意图。图中虚线为DEM网格,普通实线为DEM网格移动后确定的三角形,加粗实线为计算侵蚀沟道长度的线(A-B-C-D之间的长度)。DEM中的每ー个网格都有ー个高程,认为每个高程是网格中心点的高程。把原点向上与向右移动1/2个网格,刚好原来的网格中心点落在原来网格的交点上,以三个原来的网格中心点为顶点划直角三角形,斜边经过ー个原来的网格交点,根据三个空间上的点确定ー个平面,所以转折点是投影在DEM上的线与每个三角形边的交点,是空间的三维坐标点。步骤26,连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为侵蚀沟道长度。将所述转折点连接为多线段,通过每个转折点的坐标计算各线段的长度,将所有线段的长度相加起来,得到的就是侵蚀沟道长度。下面通过实施例3详细介绍本申请提出的ー种准确计算地表长度的方法。实施例3,详细介绍ー种准确计算山区排水沟长度的方法。在山区进行排水沟工程的时候,很重要的一点就是得到排水沟的准确长度,根据长度准备施工材料等。一般计算排水沟长度的方法是在选取的路径上采集部分点序列,根据有限的点序列计算排水沟的长度,然后增加一定的误差长度,最后根据计算的长度准备施工材料等。利用这样的方法计算出的长度误差较大,准备的材料往往会浪费或者不够,还会延误施工的进度。下面就通过本申请实施例中的方法来准确计算山区排水沟的长度。參照图6,示出了本申请实施例中一种准确计算山区排水沟长度的方法流程图。步骤61,确定需要计算山区排水沟长度的线的点序列;确定所述点序列包括
在地图上采集点序列或输入点序列的坐标。步骤62,确定所述点序列的范围;所述点序列的范围是点序列的外包矩形。步骤63,加载所述点序列范围内的DEM数据;所述DEM数据包括原点坐标、网格大小和网格高程。步骤64,投影所述需要计算山区排水沟长度的线到DEM上;所述投影是在DEM中找到与所述点序列的平面坐标相同的点序列。步骤65,确定所述投影到DEM上的线的转折点; 所述的转折点是投影在DEM上的线与由三个网格中心点组成的三角形边的交点,是空间的三维坐标点,其中,所述三角形是直角三角形,斜边经过ー个网格交点。步骤66,连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为山区排水沟的长度。下面通过实施例4详细介绍本申请提出的ー种准确计算地表长度的装置。实施例4,详细介绍ー种准确计算地表长度的装置。參照图7,示出了本申请实施例中ー种准确计算地表长度的装置结构图。点序列确定模块71,用于确定需要计算地表长度的线的点序列;所述点序列确定模块71在地图上确定需要计算地表长度的线的点序列。DEM加载模块72,用于加载点序列范围内的DEM数据;所述DEM加载模块72加载点序列范围内的DEM数据,包括原点坐标、网格大小和网格高程。投影模块73,用于投影所述需要计算地表长度的线到DEM上;所述投影模块73将需要计算地表长度的线投影到DEM上,确定投影到DEM上的点序列。转折点确定模块74,用于确定所述投影到DEM上的线的转折点;根据DEM描述区域地貌形态空间分布的特点,投影到DEM上的线位于三维空间内,地貌形态的高低起伏导致转折点的存在。计算模块75,用于连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为地表长度。所述计算模块75将转折点连接为多线段,计算各线段的长度,将所有线段的长度相加起来,得到的就是地表长度。综上所述,本申请实施例所述ー种准确计算地表长度的装置,借助DEM对实际地表情况的空间分布信息,利用DEM中的数据,包括原点坐标、网格大小和网格高程,将需要计算地表长度的线在DEM中投影,确定投影到DEM上线的转折点,连接转折点为线段并计算线段的长度,得到的就是实际的地表长度。本申请在DEM中重新采集点序列,即确定的转折点,通过增加点序列的密度来提高计算地表长度的准确度,使计算结果更能反映实际的地表情况。下面通过实施例5详细介绍本申请提出的ー种准确计算地表长度的装置。实施例5,详细介绍ー种准确计算地表长度的装置。參照图8,示出了本申请实施例中ー种准确计算地表长度的装置结构图。
点序列确定模块81,用于确定需要计算地表长度的线的点序列;所述点序列确定模块81在地图上确定需要计算地表长度的线的点序列,包括在地图上采集点序列或输入点序列的坐标,其中,所述点序列的坐标包括ニ维坐标或三维坐标;所述输入点序列的坐标符合OpenGIS (Open Geodata InteroperationSpecification,开放的地理数据互操作规范)。范围确定模块82,用于确定所述点序列的范围;所述范围确定模块82确定点序列的外包矩形,为了方便计算处理,该外包矩形可以往四周外扩3-5个像素的距离,所述外包矩形就是点序列的范围。DEM加载模块83,用于加载点序列范围内的DEM数据;所述DEM加载模块83加载点序列范围内的DEM数据,包括原点坐标、网格大小和网格高程,其中,所述原点坐标是外包矩形左下角的坐标,所述网格高程是网格中心点的高程。投影模块84,用于投影所述需要计算地表长度的线到DEM上;所述投影模块84在DEM中找到与所述点序列的平面坐标相同的点序列。转折点确定模块85,用于确定所述投影到DEM上的线的转折点;所述转折点确定模块85确定投影到DEM上的线的转折点。根据DEM描述区域地貌形态空间分布的特点,投影到DEM上的线位于三维空间内,地貌形态的高低起伏导致转折点的存在。所述的转折点是投影在DEM上的线与由三个网格中心点组成的三角形边的交点,是空间的三维坐标点,其中,所述三角形是直角三角形,斜边经过ー个网格交点。还包括DEM中的每ー个网格都有ー个高程,认为每个高程是网格中心点的高程。把原点向上与向右移动1/2个网格,刚好原来的网格中心点落在原来网格的交点上,以三个原来的网格中心点为顶点划直角三角形,斜边经过ー个原来的网格交点,根据三个空间上的点确 定ー个平面,所以转折点是投影在DEM上的线与每个三角形边的交点。计算模块86,用于连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为地表长度。所述计算模块86将转折点连接为多线段,通过每个转折点的坐标计算各线段的长度,将所有线段的长度相加起来,得到的就是地表长度。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相參见即可。以上对本申请所提供的ー种准确计算地表长度的方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种准确计算地表长度的方法,其特征在于,包括 确定需要计算地表长度的线的点序列,加载点序列范围内的DEM数据; 投影所述需要计算地表长度的线到DEM上; 确定所述投影到DEM上的线的转折点; 连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为地表长度。
2.根据权利要求I所述的方法,其特征在于, 所述确定需要计算地表长度的线的点序列包括 在地图上采集点序列或输入点序列的坐标, 其中,所述点序列的坐标包括二维坐标或三维坐标。
3.根据权利要求I所述的方法,其特征在于 所述点序列范围是点序列的外包矩形。
4.根据权利要求3所述的方法,其特征在于, 所述DEM数据包括原点坐标、网格大小和网格高程, 其中,所述原点坐标是外包矩形左下角的坐标, 所述网格高程是网格中心点的高程。
5.根据权利要求I所述的方法,其特征在于 所述投影是在DEM中找到与所述点序列的平面坐标相同的点序列。
6.根据权利要求I所述的方法,其特征在于 所述的转折点是投影在DEM上的线与由三个网格中心点组成的三角形边的交点,是空间的三维坐标点, 其中,所述三角形是直角三角形,斜边经过一个网格交点。
7.一种准确计算地表长度的装置,其特征在于,包括 点序列确定模块,用于确定需要计算地表长度的线的点序列; DEM加载模块,用于加载点序列范围内的DEM数据; 投影模块,用于投影所述需要计算地表长度的线到DEM上; 转折点确定模块,用于确定所述投影到DEM上的线的转折点; 计算模块,用于连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为地表长度。
8.根据权利要求7所述的装置,其特征在于, 所述DEM加载模块在点序列范围内加载的DEM数据包括原点坐标、网格大小和网格高程, 其中,所述点序列范围是点序列的外包矩形; 所述原点坐标是外包矩形左下角的坐标; 所述网格高程是网格中心点的高程。
9.根据权利要求7所述的装置,其特征在于, 所述投影模块在DEM中找到与所述点序列的平面坐标相同的点序列。
10.根据权利要求7所述的装置,其特征在于, 所述转折点确定模块确定投影在DEM上的线与由三个网格中心点组成的三角形边的交点,并将所述交点作为转折点;其中,所述三角形是直角三角形,斜边经过一个网格交点,所述转 折点是空间的三维坐标点。
全文摘要
本申请提供了一种准确计算地表长度的方法和装置,以解决现有的计算地表长度的方法中计算结果不准确的问题。所述方法包括确定需要计算地表长度的线的点序列,加载点序列范围内的DEM数据;投影所述需要计算地表长度的线到DEM上;确定所述投影到DEM上的线的转折点;连接所述的转折点为线段,计算线段的长度并求和,将求和结果作为地表长度。本申请提出的一种准确计算地表长度的方法和装置通过提高点序列的密度来提高计算地表长度的准确度,使计算结果更能反映实际的地表情况。
文档编号G06T17/05GK102682480SQ20121015694
公开日2012年9月19日 申请日期2012年5月18日 优先权日2012年5月18日
发明者李团宏, 聂森, 郑国柱 申请人:北京地拓科技发展有限公司