【发布时间】:2017-12-17 08:48:13
【问题描述】:
我的任务是使用 numpy 数组查找要素类的平均中心。我使用
从要素类创建了一个numpy数组import arcpy
import numpy
fc = "polygons.shp"
a = arcpy.da.FeatureClassToNumPyArray(fc, ["SHAPE@X", "SHAPE@Y"])
那么数组 a 是:
array([( 3107178.29076947, 10151024.31186805),
( 3107961.30479125, 10139810.52458512),
( 3109603.8882401 , 10119654.26424824),
( 2992362.40598316, 10049723.50515586),
....
( 3114517.82381449, 10071634.68261757)],
dtype=[('SHAPE@X', '<f8'), ('SHAPE@Y', '<f8')])
这是 fc 中每条记录的质心 (X,Y)。我如何获得这些的meanX和meanY,所以输出将是([(mean.X,mean.Y)])?如here所述,我已尝试使用以下内容:
numpy.mean(a, axis=0)
但我得到的只是 X 值的平均值。在 arcpy.da 函数之后是否有一些额外的步骤来更改 dtype 以成功获得 mean.X、mean.Y 值?我必须使用 numpy mean 函数来做到这一点。谢谢!
【问题讨论】:
标签: python arrays numpy mean arcpy