Ошибка в точке в анализе полигонов с использованием фигурных
В моем скрипте Python я успешно импортировал геойсон, используя shapely
пакет и преобразован в мультиполигон с
test = geojson.load(open('test.geojson'))
multi = [shape(x['geometry']) for x in test['features']]
polygon = MultiPolygon(multi)
print(polygon)
Это возвращает мультиполигон:
MULTIPOLYGON (((-122.4187874794006 37.77566736187935, -122.4132943153381 37.77999215545677,..
И я успешно создал точки из образцов данных:
for item in items:
coords = Point(item['current_position']['coordinates'])
print(coords)
который возвращает:
{"coordinates": [-122.39883, 37.74576166666667], "type": "Point"}
{"coordinates": [-122.39868166666666, 37.74570333333333], "type": "Point"}
{"coordinates": [-122.39873666666666, 37.74593], "type": "Point"}...
Однако когда я запускаю точку в полианализе, мне возвращается ошибка:
for item in items:
coords = Point(item['current_position']['coordinates'])
polygon.contains(coords)
возвращается...
Traceback (most recent call last):
File "SF_scraper.py", line 44, in <module>
polygon.contains(coords)
File "//anaconda/lib/python2.7/site-packages/shapely/geometry/base.py", line 634, in contains
return bool(self.impl['contains'](self, other))
File "//anaconda/lib/python2.7/site-packages/shapely/predicates.py", line 13, in __call__
self._validate(other, stop_prepared=True)
File "//anaconda/lib/python2.7/site-packages/shapely/topology.py", line 17, in _validate
if ob is None or ob._geom is None:
File "//anaconda/lib/python2.7/site-packages/geojson/base.py", line 42, in __getattr__
raise AttributeError(name)
AttributeError: _geom
Что может быть не так? Я точно следовал документации