关于DEM土方量算的计算方法
关于DEM土方量算的计算方法最近在写一个关于dem土方计算的功能,网上搜索了下,普遍提到的都是三角网和矩形格网形式进行计算,然后又研究了下arcgis软件的结果,最后发现arcgis中使用的也是格网形式进行了矩形立方计算。于是开始动手编写代码段,其实实现的代码相当简单最后测试结果与arcgis中结果一致,下面是实现的核心函数代码:double caculateElevation(DEMHEADER
·
关于DEM土方量算的计算方法
最近在写一个关于dem土方计算的功能,网上搜索了下,普遍提到的都是三角网和矩形格网形式进行计算,然后又研究了下arcgis软件的结果,最后发现arcgis中使用的也是格网形式进行了矩形立方计算。
于是开始动手编写代码段,其实实现的代码相当简单最后测试结果与arcgis中结果一致,下面是实现的核心函数代码:
double caculateElevation(DEMHEADERINFO m_demInfo, float *m_lpHeight,int x,int y, double referenceElevation, double &rmax)
{
double gz=0;
double s = m_demInfo.lfDx*m_demInfo.lfDy;////获取格网面积
float mh=0;
float xyz;
GetZ(m_demInfo, m_lpHeight, y , x , xyz);
//
if (xyz== m_demInfo.lfNoData)
{
rmax = 0;
return 0;
mh += 0;
}
rmax = abs(xyz- referenceElevation);
gz = s*(xyz - referenceElevation);
return gz; ////返回格网计算的体积
}
实际原理就是把每个格网作为一个独立的立方体来进行考量,思路较为单纯
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)