Недавно я начал использовать геоданные для обработки шейп-файлов моего города. Недавно я нашел проблему с использованием метода contains из геоданных. Проблема заключается в следующем:geandas содержит метод не возвращает многоугольники
У меня есть 2 разных шейп-файла с одной и той же проекцией crs: районы и секции. Мне нужно получить все участки полигона, которые находятся в округе. Я прочитал о методе contains, и похоже, что это именно то, что мне нужно, но в момент его запуска возвращающиеся многоугольники пустые. Странная вещь здесь, когда я использую метод пересечений, вместо этого содержит, он возвращает разделы в пределах района плюс все смежные разделы к этому.
Ниже мой код:
districts = GeoDataFrame.from_file('districts_WGS84.shp')
sections = GeoDataFrame.from_file('sections_WGS84.shp')
districts.crs == sections.crs #To be sure the files share the same crs
#The following line returns an empty array, but it should return all seccions within a district
print len(sections[sections.contains(districts.geometry[34]) == True])
# districts.geometry[34] is a fixed discrict in order to run a test
#The following line returns the list of all sections within the district plus adjacent ones
print len(sections[sections.intersects(districts.geometry[34]) == True])
Есть ли какие-либо проблемы с тем, как я пытаюсь получить это или проблема с самим методом?
Здесь находятся шейп, чтобы повторить мою проблему:
Районы: https://ufile.io/0a6f1
Разделы: https://ufile.io/e2463
С уважением.