#python #pandas #gis #geopandas
Вопрос:
Мое понимание наложения геопанд состоит в том, что, когда я указываю на keep_geom_type=True
это, он будет поддерживать левую геометрию как один и тот же тип. Например, левый геодезический кадр содержит полигоны/мультиполигоны, и выполнение наложения гарантирует, что в результате будут получены геометрии, являющиеся полигонами/Мультиполигонами. Однако в моем примере я получаю геометрическую коллекцию для одного из результатов. Я полагаю, что это должно было быть исправлено с помощью pull #1582. Но вот конкретный пример того, как это не работает, и я хотел бы отметить, что я использую geopandas=0.10.1.
Допустим, у меня есть левый фрейм данных в виде left_df
и мой правый фрейм данных, как right_df
учет различий с помощью наложения
res_difference = left_df.overlay(right_df,
how='difference',
keep_geom_type=True,
make_valid=True)
где res_difference
показывает
а геометрия в индексе 4232-это коллекция геометрии, когда она должна быть мультиполигоном.
Используя sjoin, я смог обнаружить, что 4232 (синий мультиполигон) пересекается с 4182 и 4184 (оранжевые полигоны), и построить пересекающиеся фигуры.
Строка строки отображается, потому что они имеют одну и ту же границу с отличиями, которые я вынул из полигонов ранее, где вы можете видеть реку, как вырезы. Я думаю, что есть ошибка, но было бы интересно посмотреть, что скажут люди, и хотелось бы знать, является ли это ошибкой?
Комментарии:
1. Это действительно похоже на настоящий жучок. Можете ли вы сообщить об этом github.com/geopandas/geopandas/issues пожалуйста? В идеале с образцом данных для воспроизведения проблемы.
2. @martinfleis конечно, спасибо за комментарии!