Daha çox

ArcPy-də məkan qoşulma sahə Xəritəçəkmə?


Bu mövzuda onsuz da yazıların olduğunu bilirəm, öz problemimə bir həll tapmağa çalışdım, ancaq sahə xəritəsi üçün kod mənim üçün çox mürəkkəbdir.

Bir piton skriptindən istifadə edərək qoşulmaq istədiyim bir Raster 100x100m və nöqtə təbəqələrim var. Şəbəkəyə əlavə edilmiş "çəki" (nöqtə təbəqəsi) adlanan bir sahənin CƏMİNƏ ehtiyacım var, amma sahə xəritələşdirməsini necə təyin edəcəyimi bilmirəm.

İndiyə qədər ssenari buna bənzəyir (ancaq çəki sahəmi yekunlaşdırmır):

arcpy-dən arcpy idxal env.workspace = r "C:  Users  Daniela  Desktop  test" fc_list = arcpy.ListFeatureClasses () for fc_list: arcpy.SpatialJoin_analysis ("grid100.shp", fc, "C: / İstifadəçilər / Daniela / Masaüstü / test / test "+" _ "+ str (fc)," JOIN_ONE_TO_ONE "," KEEP_ALL "," sum "," INTERSECT "," "," ")

Sahə xəritələri ArcGIS-də bir növ çətin olur. Əvvəlcə bir xəritə xəritələri obyekti, sonra isə xəritə xəritəsi yaradın, sonra giriş sahələrini əlavə edin və çıxış sahələrini təyin edin. Ayrıca, bütün cədvəli xəritəyə aşağıdakı kimi əlavə edə bilərsiniz:

myMapping = arcpy.FieldMappings () myMapping.addTable (path_to_the_table) arcpy.Append_management (fc, fc_out, "NO_TEST", myMapping)

Bir müddət əvvəl xüsusi xəritələr qurarkən istifadə etdiyim aşağıdakı nümunəni tapdım:

in_file1 = 'data.gdb / Trees' in_file2 = 'Plants.shp' output_file = 'data.gdb / Vegetation' # Lazım olan FieldMap və FieldMappings obyektlərini yaradın. fm_type = arcpy.FieldMap () fm_diam = arcpy.FieldMap () fms = arcpy.FieldMappings () # Hər iki orijinal sənəd üçün bitki növü və diametrinin sahə adlarını alın. tree_type = "Tree_Type" plant_type = "Plant_Type" tree_diam = "Tree_Diameter" plant_diam = "Diameter" # Müvafiq FieldMap obyektlərinə sahələr əlavə edin. fm_type.addInputField (in_file1, tree_type) fm_type.addInputField (in_file2, plant_type) fm_diam.addInputField (in_file1, tree_diam) fm_diam.addInputField (in_file2, plant_diam) hər iki sahəni də təyin edin. type_name = fm_type.outputField type_name.name = 'Veg_Type' fm_type.outputField = type_name diam_name = fm_diam.outputField diam_name.name = 'Veg_Diam' fm_diam.outputField = diam_name obyekt obyektlərini əlavə et. fms.addFieldMap (fm_type) fms.addFieldMap (fm_diam) # İki xüsusiyyət sinifini birləşdirin. arcpy.Merge_management ([in_file1, in_file2], output_file, fms)