我在ESRI论坛上发布了一个类似的问题,但发布的内容似乎很冷淡:(
任何人都知道如何识别ESRI要素类是否包含弯曲的(弧)段?
我有几千个壮举。类,通过python的东西会很棒!
谢谢!
修改:更新
esri的某个人评论说,您可以通过比较要素的“truecentroid”和“centroid”来检测折线要素是否包含弧段。如果真实的话。 <>分:然后该功能包含一个弧。这没关系,但我仍然缺乏多边形的解决方案,因为上述方法不起作用。这是我们到目前为止所拥有的:
lstFCs = arcpy.ListFeatureClasses("*", "Polyline")
for fc in lstFCs:
rows = arcpy.SearchCursor(fc)
print fc
for row in rows:
type = row.Shape
geom = str(type.centroid.X)
truegeom = str(type.trueCentroid.X)
if geom != truegeom:
print row.ObjectID
del row, rows
答案 0 :(得分:0)
对于多边形,我认为您必须首先遍历多边形的环以找到折线,然后您可以像在代码中一样检查折线。
很抱歉,由于我没有安装ArcGIS,因此我无法帮助您(很久以前我使用过ArcGIS)。您可能会在gis.stackexchange.com上获得更好的回复。
答案 1 :(得分:0)
尝试这样的事情:
import arcpy, json
arcpy.env.workspace = r"..." #Your database
lstFCs = arcpy.ListFeatureClasses("*", "Polyline")
for fc in lstFCs:
rows = arcpy.SearchCursor(fc)
print fc
for row in rows:
jsonGeometry = json.loads(row.Shape.JSON)
if 'curve' in jsonGeometry or 'curveRings' in jsonGeometry:
print row.ObjectID
del row, rows