Ошибка в точке в анализе полигонов с использованием фигурных

В моем скрипте 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

Что может быть не так? Я точно следовал документации

0 ответов

Другие вопросы по тегам