在Python脚本中创建一个Polygon对象失败

在脚本中创建一个Polygon对象,有的可以成功,有的不可以,例如:

polygon1 = arcpy.Polygon(arcpy.Array([arcpy.Point(113.378115172,23.0038225064), arcpy.Point(113.378115172,23.001717531), arcpy.Point(113.377547383,23.001717531), arcpy.Point(113.377547383,23.0038225064)]))

print polygon1.JSON

polygon2 = arcpy.Polygon(arcpy.Array([arcpy.Point(113.478115172,23.1038225064), arcpy.Point(113.478115172,23.001717531), arcpy.Point(113.377547383,23.001717531), arcpy.Point(113.377547383,23.1038225064)]))

print polygon2.JSON


如上脚本中,polygon1生成的图形为空,polygon2则正常,怎么处理才能成功创建此类多边形?
已邀请:

穆天龙 - 专注Desktop

赞同来自:

【解决办法】:
创建几何对象的时候要指定空间参考,类似如下(其中代码4326是指WGS 1984):


>>> sr = arcpy.SpatialReference(4326)
>>> geo = Polyline(Array([Point(125.336,33.7166),Point(125.3359,33.7167)]),sr)
>>> geo.WKT u''MULTILINESTRING ((125.336 33.7166, 125.3359 33.716700000000003))''
>>>


建议在创建要素类的时候指定空间参考,同时创建几何对象的时候也指定,空间参考非常重要,如果不指定,有时候会造成莫名的错误。

要回复问题请先登录注册