Suite

Attribuer des polygones qui se chevauchent en fonction d'attributs à l'aide d'ArcGIS for Desktop ?


J'utilise ArcGIS 10.1 et j'ai un fichier de formes de polygones avec 16000 enregistrements. Il y a beaucoup de polygones qui se chevauchent et mon objectif est

  1. pour déterminer les portions de chevauchement
  2. résoudre le problème, de sorte qu'il n'y ait pas de chevauchement entre les polygones adjacents (probablement en utilisant la dissolution)
  3. idéalement, la partie chevauchée entre les polygones est attribuée au polygone qui a la date la plus ancienne, extraite de la colonne de date de la table attributaire.

Le graphique montre les détails :

Jusqu'à présent, j'ai réussi avec 1, en détectant le chevauchement en utilisant soit l'union, soit l'intersection de l'exécution sur le fichier d'origine (partie supérieure droite du graphique).

Ensuite, j'ai exécuté la dissolution dans le but de fusionner la partie superposée avec le polygone qui partage le même ID : 100. Cela ne fonctionne pas; il ne dissout pas les limites entre le chevauchement d'origine et les polygones. Cela me laisse vraiment perplexe, car s'il existe des polygones avec des limites partagées qui ont les mêmes attributs et que vous utilisez la dissolution, ne devraient-ils pas devenir le même polygone ? Tous les attributs du chevauchement et l'un des polygones sont identiques, et j'ai utilisé plusieurs champs différents ainsi que tous les champs pour le fondu, tous avec le même résultat.

En utilisant une autre approche, j'ai créé un fichier de formes séparé qui ne contient que les polygones superposés. J'ai ensuite utilisé l'effacement sur le fichier d'origine pour supprimer la partie de chevauchement, ce qui m'a laissé un trou à l'endroit où se trouvait le chevauchement. J'ai ensuite essayé de combiner ces 2 fichiers (j'ai essayé de fusionner, d'union et de mise à jour), pensant que je pourrais ensuite utiliser Dissoudre sur ce résultat. Cependant, la sortie de cette dissolution est toujours la même, elle ne dissout pas les frontières.

Parce que je n'ai pas réussi le fondu enchaîné, je ne sais même pas comment attaquer 3, en attribuant le chevauchement au polygone avec les données plus anciennes.


L'Union créera des polygones en double les uns sur les autres (l'ancien + le plus récent) dans les zones où ils se chevauchent (les polygones sélectionnés ci-dessous en ont 2 qui se chevauchent).

Vous pouvez les dédupliquer en exécutant Find Identical (utilisez le champ [SHAPE] et cochez "Sortir uniquement les enregistrements en double".

Ensuite, joignez vos polygones d'union basés sur [OBJECTID] et [IN_FID] et "conservez uniquement les enregistrements correspondants".

Vous obtiendrez toutes les paires en double basées sur [FEAT_SEQ].

Exportez ces dupes séparément. Pour les dédupliquer, exécutez une fusion sur les dupes exportés, en spécifiant soit le [FEAT_SEQ] ou rien pour le Dissoudre les champs et le champ [Date] et le type "Min" dans le champ Champs de statistiques. Une fois les doublons exportés dédupliqués, vous pouvez joindre/fusionner/ajouter/chargement de données/etc. pour réconcilier les deux classes d'entités. @Chris W a suggéré ce morceau.

Ensuite, votre fusion principale sur l'ensemble de la classe d'entités devrait fonctionner.

Et le résultat.

Faites-moi savoir si cela ne le fait pas pour vous.


Voir la vidéo: QGIS fusionner ou regrouper les communes pour obtenir des départements (Octobre 2021).