在ArcObjects组件库中并没有提供直接由含有高程信息的等高线直接内插来生成GRID数据的方法,而是提供了利用具有高程值的离散点内插生成RASTER数据。我们可以利用间接的办法来实现:先将等高线数据生成TIN类型的DEM数据,然后再将TIN转换成RASTER数据。
实现思路和步骤:
(1)首先需要添加一个带有高程值的数据,作为生成RASTER的源数据;(2)通过从数据集中选择它的高程字段来创建一个FeatureClassDescriptor对象。该对象是一个从数据集中提取了高程字段新对象,作为进行内插操作的一个输入对象;(3)使用IRasterAnalysisEnvironment接口设置输出Raster网格的大小;(4)使用IInterpolationOp接口中的内插方法IDW进行内插操作;(5)生成并保存输出文件。
3 TIN数据的生成
等高线生成三角网主要有三种方法:等高线离散点直接生成TIN方法、将等高线作为特征线的方法、自动增加特征点及优化TIN的方法。
3.1等高线离散点直接生成TIN
首先将等高线上的点离散化,然后使用从不规则点生成TIN的方法生成TIN,这种方法并没有考虑等高线数据的特殊结构,会出现各种各样的问题,如:出现三角形的三个顶点都位于同一条等高线(即所谓的平三角形),或者三角形某一边穿过了等高线的情况,而这些情况按照TIN的特性来说都是不允许的。在实际应用中,这种算法很少直接使用。
3.2将等高线作为特征线的方法
将每一条等高线当作断裂线或结构线,对于三角形而言,至多只能从同一等高线取两个点,并且规定在这些线上不能有三角形生成。
3.3自动增加特征点及优化TIN的方法
这种方法的实质是将等高线离散化建立TIN,采用增加特征点的方式来消除TIN中的“平三角形”,并使用优化TIN的方式来消除不合理的三角形。
利用ArcObjects在生成DEM的方法上,TIN比Raster实现起来更容易一些,实现步骤如下:
(1)加载一个等高线数据集,用来生成TIN;(2)将该等高线数据集的空间引用设置为要创建TIN的空间引用;(3)利用ITinEdit接口中的InitNew方法生成TIN;(4)由于生成的TIN没有高程信息,还要利用ITinEdit接口中的AddFromFeatureClass方法添加高程信息到TIN中;(5)保存TIN数据。
结束语
DEM数据是GIS中进行地形可视化表达和地形分析的重要基础,而DEM数据生成方法的选择,直接决定了DEM数据生成的效率和质量,这里在对生成DEM数据的相关算法和技术研究的基础上,基于ArcGIS的ArcEngine二次开发平台,利用ArcObjects组件库提供的相关接口实现了DEM的生成,从实际效果来看,其数据的表现形式和精确度还是较令人满意的,当然,这还只是对DEM数据的生成方法进行了试验性的研究和探讨,真正要发挥DEM数据的作用,还需要结合具体的实际应用,进行结构和功能上的不断完善,尤其是在生成DEM数据的基础上进行各种相关的地形分析。
参考文献
[1]李志林,朱庆.数字高程模型[M].武汉:武汉大学出版社,2003.
[2]汤国安,刘学军,闾国年.数字高程模型及地学分析的原理与方法[M].北京:科学出版社,2005.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机基于ArcGIS的DEM数据生成方法的研究与探讨(2)在线全文阅读。