La preoccupazione sollevata da @Adam Cara è molto valida. Tuttavia, quando ho osservato l'autointersezione, mi è sembrato che la maggior parte di essi fossero o pezzi sottili sul confine tra 2 poligoni enormi o pezzi / isole disconnesse di un grande poligono seduto all'interno di un altro. In questo caso, la cancellazione di sovrapposizioni e l'assegnazione di dissoluzioni si sovrappone all'attributo del vicino più vicino (a seconda dell'evento che si verifica per primo) può funzionare.
Processi:
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")
Test:
arcpy.Intersect_analysis("dissolved #","D:/Scratch/test.shp","ALL","#","INPUT")
Messaggio:
- In esecuzione: Interseca "dissolved #" D: \ Scratch \ test.shp ALL # INPUT
- Ora di inizio: venerdì 22 aprile 10:16:07 2016
- Funzioni di lettura ...
- Funzionalità di cracking ...
- Funzioni di assemblaggio ...
- AVVISO 000117: Avviso di uscita vuota generata.
- Riuscito a venerdì 22 aprile 10:16:09 2016 (tempo trascorso: 2.34 secondi)
Nota questo messaggio significa che non ci sono autointersezioni nell'output di Dissolve finale
Risultato:
https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing