0

バルセロナの建物のフットプリントを取得するためにいくつかのコードを試しています:

import osmnx as ox
import matplotlib.pyplot as plt
%matplotlib inline

place_name = "Barcelona, Barcelona, Catalonia, Spain"
graph = ox.graph_from_place(place_name)
buildings = ox.footprints_from_place(place_name)

コードを実行すると、次のエラー メッセージが表示されます。

TopologicalError: The operation 'GEOSDifference_r' could not be performed. Likely cause is invalidity of the geometry <shapely.geometry.polygon.Polygon object at 0x00000262079B6550>

OSMnx のバージョンアップを試みましたが、問題ないようです。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

ソリューションは、次の github リポジトリに投稿されています。

https://github.com/gboeing/osmnx/blob/5176d4a2f86fd2adaf523d3d9bd0bed9b9b1d6ec/osmnx/footprints.py

footprints.py更新されたコードでファイルを変更する必要があります。- osmnx パッケージの貼り付けでファイルを開き、その内容を削除して、更新されたものをコピーします。

- または、新しいファイルを作成してから、osmnx パッケージの貼り付けに置き換えます。

于 2019-09-09T07:36:49.447 に答える