Tengo un geopandas que GeoDataFrame
contiene cientos de formas Polygon
y MultiPolygon
geometrías. Los polígonos se superponen en muchos lugares. Me gustaría hacer una nueva geometría que contenga un recuento de cuántas de ellas se superponen. Algo como esto:
¿Alguien tiene alguna idea sobre cómo abordar esto? Ni siquiera puedo ver una forma de entrar.
Eventualmente, me gustaría especialmente poder pesar los polígonos, para que algunos polígonos valgan 2 por sí mismos. Hacer esto con shapely
el campo Z de Z podría ser bueno.
Aparte: no estoy particularmente vinculado a ninguna de estas bibliotecas, es justo donde terminé. Las coordenadas en estas geometrías son en realidad coordenadas de píxeles: estoy tropezando con hacer una trama para superponer en otra imagen. Prefiero mantener mi huella lo más pequeña posible, ya que me gustaría poder implementar esto en servidores en la nube, etc., donde es posible que no pueda instalar cosas al azar.
Respuestas:
Puede estar fuera de tema porque es una solución postgresql / postgis:
En postgres / postgis es una simple consulta O (N ^ 2) que puede / podría adoptarse para geopanda.
y define 5 rectángulos:
La solicitud de intersección con la tabla misma:
muestra qué áreas se cruzan entre sí:
Con esta base, puede agregar los recuentos para cada objeto de identificación a través del grupo por clausel:
El resultado muestra el patrón deseado.
fuente