Arcgis 数据叠加前后面积不一致情况检查和解决办法
Arcgis 数据叠加前后面积不一致情况检查和解决办法
·
Arcgis 数据叠加前后面积不一致情况检查和解决办法
主要是以下几类情况:
1、存在拓扑错误 →→→ “面重叠”
2、存在弧段→→→“CAD数据 或者arcgis 贝塞尔曲线”
3、数据问题→→→ “存在无效图形”*
4、坐标系 →→→ “数据定义坐标系与数据节点坐标不一致”
解决办法
1、 拓扑问题
重叠面处理方法: 单个图层的点、线、面查找办法很多
方法一 拓扑 -- 将数据导入文件地理数据库(.gdb )—创建数据集—构建拓扑(不能有面重叠)
方法二 相交 --单个图层输入相加 --输出结果即是图层内的重叠部分
面重叠处理办法:
*建议先把面的 M值 、Z值去除后处理在进行处理*
*不需要面属性:*可以采用融合工具(arcpy.management.Dissolve)不勾选多部件选项,输出数据即不重叠。
*需要面属性:*先用融合工具(arcpy.management.Dissolve)把原要素面转线 转点(点保留属性_勾选位于面内) ,把融合后的面按线要素分割,最后空间连接点属性(空间连接也可选择按照条件赋值)
处理后检查面是否还存在重叠。
2、存在弧段
弧段检查方法
弧段来源一般 是CAD数据或arcgis 光滑曲线导致 该类型会导致面积计算不准确 建库时椭球面积计算的误差也会非常大 (!shape.geodesicarea!、!shape.geodesiclength!),如果擦除弧段有可能导致面积不拟合
方法一 转shp 格式,(.shp格式不存在弧段),原图斑擦除shp格式转回的图斑产生的弧段图斑
方法二 先转WKT坐标 格式,然后按照WKT格式转回矢量 ,原图斑擦除WKT格式转回图斑后的弧段图斑 (wkt可以在数据库里面操作)
方法三 !shape.geodesicarea! 计算的面积与 !shape.area! 计算的面积相差较大(一般误差为1以内) , !shape.geodesicarea! -!shape.area! 大于1的就可能存在弧段
无论怎样处理办法,在格式转换过程中必须注意数据精度(如: 容差 arcpy.env.XYTolerance=XXXX米 、分辨率arcpy.env.XYResolution= XXXXX米 要一致)
弧段处理方法
a.将数据转换为shp 、wkt 、vct 、txt 格式 → 转回矢量 (这个方法会丢失图形范围)
b.计算椭球面积时候 先进行节点增密处理(增密工具) (这个方法导致节点过密)
3、无效图形→→→ “存在无效图形”
修复几何 (修复时设置的环境精度要高于要素精度)若Arcgis 无法修复可以转Qgis修复和优化
4、坐标系 →→→ “数据定义坐标系与数据节点坐标不一致
更改要素坐标系
更多推荐
所有评论(0)