@Adam Caraによって提起された懸念は非常に有効です。しかし、自己交差を見ると、それらのほとんどは2つの巨大なポリゴンの境界上の細いビットか、別のポリゴンの内側にある大きなポリゴンの切断されたビット/島のいずれかであるように見えました。この場合、重複を消去し、ディゾルブされた重複を割り当てると、最も近い隣人(どちらか早い方)の属性が機能します。
プロセス:
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")
メッセージ:
- 実行:Intersect "dissolved#" D:\ Scratch \ test.shp ALL#INPUT
- 開始時間:2016年4月22日金曜日10:16:07 2016
- 読書機能...
- クラッキング機能...
- フィーチャーの組み立て...
- 警告000117:警告の空の出力が生成されました。
- 2016年4月22日金曜日10:16:09に成功(経過時間:2.34秒)
このメッセージは、最終的なDissolveからの出力に自己交差がないことを意味します。
結果:
https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing