web-dev-qa-db-ja.com

Shapelyポイントのリストをプロットする方法

ポイントデータセットに基づいてShapelyPointオブジェクトのリストを作成しました。このポイントのリストを以下にプロットするにはどうすればよいですか?

points = [Point(-4.85624511894443, 37.1837967179202), 
          Point(-4.855703975302475, 37.18401757756585),
          Point(-4.85516283166052, 37.1842384372115),
          Point(-4.85343407576431, 37.182006629169),
          Point(-4.85347524651836, 37.1804461589773),
          Point(-4.855792124429867, 37.18108913443582),
          Point(-4.85624511894443, 37.1837967179202)]
3
Hello-experts

xy属性とx属性にアクセスすると、y座標とPoint座標の2つのリストを取得できます。次に、たとえば、 plt.scatter または plt.plot 次のようにMatplotlibの関数:

import matplotlib.pyplot as plt
from shapely.geometry import Point

points = [Point(-4.85624511894443, 37.1837967179202), 
          Point(-4.855703975302475, 37.18401757756585),
          Point(-4.85516283166052, 37.1842384372115),
          Point(-4.85343407576431, 37.182006629169),
          Point(-4.85347524651836, 37.1804461589773),
          Point(-4.855792124429867, 37.18108913443582),
          Point(-4.85624511894443, 37.1837967179202)]
xs = [point.x for point in points]
ys = [point.y for point in points]
plt.scatter(xs, ys)
# or plt.plot(xs, ys) if you want to connect points by lines

enter image description here


JupyterNotebookまたはJupyterLabを使用している場合は、ポイントのリストを MultiPoint オブジェクトでラップして、SVGイメージを取得できます。これは、Matpotlibをインポートせずに何かをすばやくプロットしたい場合のデバッグ目的に役立ちます。

>>> MultiPoint(points)

与える:
enter image description here

2
Georgy