Обеспокоенность, высказанная @Adam Cara, очень веская. Однако когда я посмотрел на самопересечение, оказалось, что большинство из них являются либо узкими кусочками на границе между двумя массивными полигонами, либо разъединенными кусочками / островками большого полигона, расположенного внутри другого. В этом случае стирание перекрытий и назначение растворенных перекрытий может сработать атрибутом ближайшего соседа (в зависимости от того, что наступит раньше).
Процесс:
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")
Тест:
arcpy.Intersect_analysis("dissolved #","D:/Scratch/test.shp","ALL","#","INPUT")
Сообщение:
- Выполнение: Пересечь "растворенный #" D: \ Scratch \ test.shp ALL # INPUT
- Время начала: пт. 22 апреля 10:16:07 2016
- Особенности чтения ...
- Особенности взлома ...
- Особенности сборки ...
- ПРЕДУПРЕЖДЕНИЕ 000117: Предупреждение о пустом выходе.
- Успешно в пт 22 апреля 10:16:09 2016 (Истекшее время: 2,34 секунды)
Обратите внимание, что это сообщение означает, что нет никаких самопересекающихся в выходных данных из окончательного распада
Результат:
https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing