J'ai geopandas GeoDataFrame
contenant des centaines de galbe Polygon
et MultiPolygon
géométries. Les polygones se chevauchent à de nombreux endroits. Je voudrais créer une nouvelle géométrie qui contienne le nombre de chevauchements. Quelque chose comme ça:
Quelqu'un at-il des idées sur la façon d'aborder cela? Je ne vois même pas de chemin.
Finalement, j'aimerais surtout pouvoir pondérer les polygones, de sorte que certains polygones puissent valoir 2 par eux-mêmes. Faire cela avec shapely
le champ Z pourrait être bien.
À part: je ne suis pas particulièrement lié à aucune de ces bibliothèques, c'est juste là où je me suis retrouvé. Les coordonnées dans ces géométries sont en fait des coordonnées de pixels - je trébuche vers la création d'un raster à superposer sur une autre image. Je préférerais garder mon empreinte aussi petite que possible, car j'aimerais pouvoir déployer ce truc sur des serveurs cloud, etc., où je ne pourrais peut-être pas installer des trucs aléatoires.
Réponses:
Peut être hors sujet car c'est une solution postgresql / postgis:
Dans postgres / postgis, c'est une simple requête O (N ^ 2) qui peut / pourrait être adoptée pour la géopanda.
et définit 5 rectangles:
La demande d'intersection avec la table elle-même:
montre quelles zones se croisent:
En utilisant cette base, vous pouvez agréger les nombres pour chaque objet ID via le groupe par clausel:
Le résultat montre le motif recherché.
la source