[ 作者:网络┋来源:百博数字┋发布:毛毛巴巴┋日期:2012年11月30日┋阅读:5441次┋字体:大 中 小 ]
工作过程中,拿到的数据在计算面积时几次都出现负值,弄的很是郁闷,但是数据只是差一个负号,在用的过程当中把负号去掉也是可以的,但这样看着还是很别扭,遇到问题就得想办法解决。
网上说可能因为在画多边形的时候边界有交叉造成的,为此我试验了一下,计算的面积仍然是正值,可见这种说法不可靠,网上还说构造多边形的时候方向面积的正负和方向是关系的,顺逆时针造成的结果就是一正一负,也试验过了,没出现负值问题,具体是什么原因造成了面积出现负值,至今也没找到……
最后用Repair geometry重新修复了一下,问题就解决了。具体位置:Data Management Tools--Features--Repair geometry
昨天检查一区属性发现一区图层的面积属性shape_area竟然出现了负值,想必是数据转换的时候出现了问题。今天在论坛求证了一下,感谢各位的解答。 ArcGIS默认顺时针图形为正,手工画polygon的时候不管怎么画结果都是顺时针的。所以一般负值的出现是转换过程出现问题,polygon是由ring组成的,ring则是有更小的segement(line,circularArc,ellipticalArc,beziercurve)构成,所具有方向性。 解决方法是用ArcTool中的check geometry和 repair geometry工具,上述的检查结果是Incorrect ring ordering。repair后会自动修复错误,已解决。 此外,repair工具只能修复以下五种错误:
- Null
geometry—The feature will be deleted from the feature class. - Short
segment—The geometry's short segment will be deleted. - Incorrect
ring ordering—The geometry will be updated to have correct ring ordering. - Incorrect
segment orientation—The geometry will be updated to have correct segment orientation. - Self
intersections—The geometry's segments that intersect will be split at their intersection. - Unclosed
rings—The unclosed rings will be closed. - Empty
parts—The parts that are null or empty will be deleted. How 更多的错误修复参照帮助中的 to salvage a corrupt shapefile