La préoccupation soulevée par @Adam Cara est très valable. Cependant, quand j'ai regardé l'auto-intersection, il est apparu que la plupart d'entre eux sont soit des morceaux maigres à la frontière entre 2 polygones massifs, soit des bits / îles déconnectés d'un grand polygone assis à l'intérieur d'un autre. Dans ce cas, l'effacement des chevauchements et l'attribution des chevauchements dissous l'attribut du plus proche voisin (selon la première éventualité) peut fonctionner.
Processus:
arcpy.Intersect_analysis("Landuse2b #","D:/Scratch/mpart.shp","ALL","#","INPUT")
arcpy.MultipartToSinglepart_management("mpart","D:/Scratch/spart.shp")
arcpy.Dissolve_management("spart","D:/Scratch/dissolved_1.shp","#","#","SINGLE_PART","DISSOLVE_LINES")
arcpy.Erase_analysis("Landuse2b","dissolved_1","D:/Scratch/erased.shp","#")
arcpy.DeleteField_management("spart","FID_Landus;OBJECTID;Lnduse2013;Shape_Leng;Shape_Area")
arcpy.SpatialJoin_analysis("spart","erased","D:/Scratch/sj_1.shp","JOIN_ONE_TO_ONE","KEEP_ALL"…..)
arcpy.Merge_management("sj;erased","D:/Scratch/merge_1.shp"….)
arcpy.Dissolve_management("merge_1","D:/Scratch/dissolved.shp","Lnduse2013","#","SINGLE_PART","DISSOLVE_LINES")
Tester:
arcpy.Intersect_analysis("dissolved #","D:/Scratch/test.shp","ALL","#","INPUT")
Message:
- Exécution: Intersection "dissous #" D: \ Scratch \ test.shp ALL # INPUT
- Heure de début: ven 22 avr 10:16:07 2016
- Fonctions de lecture ...
- Fonctions de craquage ...
- Fonctions d'assemblage ...
- AVERTISSEMENT 000117: sortie vide d'avertissement générée.
- Réussi le vendredi 22 avril 10:16:09 2016 (Temps écoulé: 2,34 secondes)
Notez que ce message signifie qu'il n'y a pas d'auto-intersection dans la sortie de Dissolution finale
Résultat:
https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing