C# 简易GIS距离及面积计算

570 阅读1分钟

从事GIS行业三年多,学习了不少GIS相关的算法,在实际项目中,这些算法为本人解决了不少难题,现在本人将分享一个GIS比较简单的、易懂的距离及面积算法,这些算法目前已不适用当前GIS相关的需求,但是目前本人很多精确的算法都是由此演变出来的,这些初级算法为本人奠定了很好的基础,分享此文以与大家共同学习,同时也提醒自己继续研究学习使用。

我们来看看算法(如图):

如上图:

loDisPerDeg、laDisPerDeg分别为经纬每一度常距离常量。

calDistanceTwoPoint函数是根据平面距离公式计算两点的距离,点1与点2之间的差积为实际的距离(度), 分别乘以各自轴的平方进行运算,即可得出两点的实际公里数。

calAreaMultiplePoint函数是根据向量公式计算两点的叉积,然后配合距离单位乘积运算,取得最后面积大小的绝对值,取二分之一,即可得出多边形的面积。

如需要更加精确的GIS面积或距离算法,将会在下篇文章中分享:

C# GIS算法之高斯-吕克投影(需要与博主联系)

C# GIS算法之球面任意多边形面积算法