如何只从数组中提取值而没有文本“ array”和“ typecode”?
数组为shapely.linestring.centroid.xy
:
a = LineString.centroid.xy
print(a)
>> (array('d', [-1.72937...45182697]), array('d', [2.144161...64685937]))
print(a[0])
>> array('d', [-1.7293720645182697])
我只需要
-1.7293...
作为浮动对象,而不需要整个数组业务。 最佳答案
实际上,可以通过Point
和x
属性访问y
的各个坐标。由于object.centroid
返回Point
,因此您可以简单地执行以下操作:
>>> from shapely.geometry import LineString
>>> line = LineString([(0, 0), (2, 1)])
>>> line.centroid.x
1.0
>>> line.centroid.y
0.5
另外,诸如
Point
,LinearRing
和LineString
的几何对象具有coords
属性,该属性返回特殊的CoordinateSequence
对象,从中可以获取各个坐标:>>> line.coords
<shapely.coords.CoordinateSequence at 0x7f60e1556390>
>>> list(line.coords)
[(0.0, 0.0), (2.0, 1.0)]
>>> line.centroid.coords[0]
(1.0, 0.5)