欢迎来到天天文库
浏览记录
ID:31626246
大小:358.00 KB
页数:10页
时间:2019-01-16
《由不规则离散点集生成tin与grid dem》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案由不规则离散点集生成TIN与GRIDDEM 现阶段生成数字高程模型(DEM)的方法较多,如以摄影测量得到的像对为数据源跟踪生成等高线及DEM,由机载激光测距仪记录规则点集后生产数据,也可采用传统的地形图扫描后跟踪等高线,记录一连串离散点集,接着运用各类算法进行处理,最后生成不规则三角网(TIN)与规则格网(GRID)DEM的方法。本文主要介绍的就是以等高线(参考图一)和离散点集为数据源,产生TIN与GRIDDEM的技术路线。具体步骤如下:1)跟踪等高线生成离散点集,记录在文本文件中。参考图二和图三。2)读取文本文件中的数据,进行预处理。主要工作是
2、找到XY轴方向上最小最大数值,压缩数据范围,避免数据范围跨度太大或太小,即出现数据分布稠密或稀疏的情况。 while(!_demfile.eof()) { _demfile>>point3dXYZ[i][0]>>point3dXYZ[i][1]>>point3dXYZ[i][2]; point3dXYZ[i][2]=point3dXYZ[i][2]/2; //因为XY轴在随后调整,因此相应调Z
3、轴数值 if(xMin>point3dXYZ[i][0])xMin=point3dXYZ[i][0];//得到整个范围的最大与最小数值 if(xMaxpoint3dXYZ[i][1])yMin=point3dXYZ[i][1]; if(yMaxpoint3dXYZ[i][2])zMin=poi
4、nt3dXYZ[i][2]; if(zMax5、 //TIN中的点 friendclassTIN;public:int Get_ID (void) { return(m_ID);} //ID数值 constPOINT3d& Get_Point (void){ return(m_Point); } //普通的点精彩文档实用标准文案 double Get_X(void) {return(m_Point[0]); } //点上的X数值 double 6、 Get_Y(void) {return(m_Point[1]); } //点上的Y数值 double Get_Z(void) {return(m_Point[2]); } int Get_Neighbor_Count (void){ return(m_nNeighbors); } //邻接点的个数 TIN_Point*Get_Neighbor (intiNeighbor) { return(iNeighbor>=0&&iNeighbor7、s?m_Neighbors[iNeighbor]:NULL); } //得到某一邻接点 int Get_Triangle_Count (void){return(m_nTriangles);} //得到邻接三角形个数 TIN_Triangle* Get_Triangle(intiTriangle) { return(iTriangle>=0&&iTriangle8、
5、 //TIN中的点 friendclassTIN;public:int Get_ID (void) { return(m_ID);} //ID数值 constPOINT3d& Get_Point (void){ return(m_Point); } //普通的点精彩文档实用标准文案 double Get_X(void) {return(m_Point[0]); } //点上的X数值 double
6、 Get_Y(void) {return(m_Point[1]); } //点上的Y数值 double Get_Z(void) {return(m_Point[2]); } int Get_Neighbor_Count (void){ return(m_nNeighbors); } //邻接点的个数 TIN_Point*Get_Neighbor (intiNeighbor) { return(iNeighbor>=0&&iNeighbor7、s?m_Neighbors[iNeighbor]:NULL); } //得到某一邻接点 int Get_Triangle_Count (void){return(m_nTriangles);} //得到邻接三角形个数 TIN_Triangle* Get_Triangle(intiTriangle) { return(iTriangle>=0&&iTriangle8、
7、s?m_Neighbors[iNeighbor]:NULL); } //得到某一邻接点 int Get_Triangle_Count (void){return(m_nTriangles);} //得到邻接三角形个数 TIN_Triangle* Get_Triangle(intiTriangle) { return(iTriangle>=0&&iTriangle8、
8、
此文档下载收益归作者所有