1.前言
作为一名从事规划行业的人来讲,计算图斑的椭球面积在工作中是必不可少的,熟悉ArcGIS的人一般会使用下面这些步骤来计算(我的软件版本为ArcGIS 10.2.2 for Desktop):
- 打开图层属性表;
- 右键要计算椭球面积的字段,进入字段计算器;
- 解析程序选择Python,并在下方输入【!shape.geodesicArea!】,如果需要保留两位小数则输入【round(!shape.geodesicArea!,2)】,点击确定即可计算出椭球面积。
但在实际工作中,难免会遇到面积很小的图斑,而这些面积很小的图斑用上述步骤计算出来可能会出现面积为0的情况。
在最初的时候,这种情况令我百思不得其解,不过我还是找到了一个解决办法,就是去ArcGIS Pro中计算几何(选择测地线面积),这种方法可以保证不管图斑有多小都会有数值计算出来,就在我以为问题解决了的时候,新的问题又出现了。如下:
上面的图片是用ArcGIS 10.2.2计算的,下面的图片是用ArcGIS Pro 3.0.0计算的,可以看到面积相差1.2平方米左右,经过核查,我发现这次是ArcGIS 10.2.2算的准,而ArcGIS Pro却算的不准了,而差的这1.2平方米在数据检查时是会报错的。
这种情况勾起了我的好奇心,想要知道这是为什么,因此我去网上查找有没有相关经验,结果是没有。我又去找有没有计算椭球面积的小工具,但结果是虽然有很多人分享工具和代码出来,但工具大多是要付费的,代码也不是我熟悉的Python语言。
所以这次只能自己写一个计算椭球面积的代码,前后加起来大概花了一天时间完成(在此感谢空间规划工具箱作者@规划酱大大对我的帮助与解惑),经过测试,椭球面积达到了准确无误,源代码免费分享出来,希望能帮到和我一样有困惑的人。
2.源代码分享
椭球面积计算依据:《TD/T 1055-2019 第三次全国国土调查技术规程》中的附录D-图斑椭球面积计算公式及要求。
编写环境:Anaconda3 (64-bit)、Python2.7、ArcGIS10.2.2。
最终做成