J'essaie d'unir les frontières gouvernementales de niveau supérieur et inférieur des États américains de manière à générer une table PostGIS avec les noms de niveau supérieur et inférieur pour chaque forme.
Dans mon exemple ci-dessous, U
est un ensemble de données et a une colonne avec des lignes UA
et UB
. L
est un autre ensemble de données et a LA
, LB
et LC
. Lorsque L
j'unis les formes ensemble, je devrais obtenir les mêmes formes que le nouvel ensemble de données réuni, mais les deux colonnes de données.
Edit : Mon exemple d'image ci-dessus est assez minable. Jusqu'à présent, les réponses ont été liées à l'interrogation des données en supposant que la géométrie est disponible. Ceci est important mais saute la partie la plus confuse de ma question. Un meilleur exemple:
La forme jaune vient de U
, la forme orange vient de L
. Notez qu'ils se chevauchent, mais certains morceaux des polygones ne sont pas complètement contenus dans une autre forme (comme dans mon exemple où LB
et LC
sont complètement à l'intérieur UB
).
La question que j'essayais de poser est de couper correctement les deux couches afin que l'ensemble de données résultant ne se chevauche pas. Voir par exemple ce message de liste de diffusion qui se rapproche mais qui ne fonctionne pas tout à fait.
Réponses:
Sans connaître les noms de vos colonnes, c'est ma meilleure estimation. (Je n'ai pas eu l'occasion de tester, donc ce n'est peut-être pas tout à fait ça.) J'espère que vous pourrez trouver les noms de colonnes que j'ai utilisés. En supposant que L est un sous-ensemble de U:
la source
La réponse dépend de la netteté et de la cohérence de vos données. Si vous pouvez supposer que le centre de gravité du tableau L se trouve à l'intérieur du polygone correspondant dans le tableau U, vous pouvez écrire quelque chose comme:
Ensuite, vous devriez obtenir ce que vous voulez. Si vous utilisez toute la géométrie au lieu du centroïde de L, vous obtiendrez beaucoup de correspondances étranges.
HTH
Nicklas
la source