أكثر

رسم الخرائط الميدانية للانضمام المكاني في ArcPy؟

رسم الخرائط الميدانية للانضمام المكاني في ArcPy؟


أعلم أن هناك بالفعل منشورات حول هذا الموضوع ، لقد حاولت استنباط حل لمشكلتي الخاصة ولكن رمز تعيين الحقول معقد للغاية بالنسبة لي.

لدي طبقة نقطية 100x100m وطبقات نقطية أريد الانضمام إليها باستخدام برنامج نصي بيثون أحتاج إلى إضافة SUM لحقل يسمى "الوزن" (طبقة النقطة) إلى الشبكة ، لكنني لا أعرف كيفية تحديد تعيين الحقل.

حتى الآن يبدو النص على هذا النحو (لكنه لا يلخص مجال وزني):

استيراد arcpy من arcpy import env.workspace = r "C:  Users  Daniela  Desktop  test" fc_list = arcpy.ListFeatureClasses () لـ fc in fc_list: arcpy.SpatialJoin_analysis ("grid100.shp"، fc، "C: / Users / Daniela / Desktop / test / test "+" _ "+ str (fc)،" JOIN_ONE_TO_ONE "،" KEEP_ALL "،" sum "،" INTERSECT "،" "،" ")

تعد تعيينات الحقول مرهقة نوعًا ما في ArcGIS. تقوم أولاً بإنشاء كائن تعيينات الحقول ، ثم إنشاء خريطة المجال ، ثم إضافة حقول الإدخال وتحديد حقول الإخراج. أيضًا ، يمكنك إضافة الجدول بأكمله إلى التعيين مثل:

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

لقد وجدت المثال التالي الذي استخدمته منذ بعض الوقت عند إنشاء تعيينات مخصصة:

in_file1 = 'data.gdb / Trees' in_file2 = 'Plants.shp' output_file = 'data.gdb / Vegetation' # أنشئ كائنات FieldMap و FieldMappings المطلوبة. fm_type = arcpy. tree_type = "Tree_Type" plant_type = "Plant_Type" tree_diam = "Tree_Diameter" plant_diam = "Diameter" # إضافة الحقول إلى كائنات FieldMap المقابلة لها. 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 properties. 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 # أضف كائنات FieldMap إلى كائن FieldMappings. fms.addFieldMap (fm_type) fms.addFieldMap (fm_diam) # دمج فئتي السمات. arcpy.Merge_management ([in_file1، in_file2]، output_file، fms)

شاهد الفيديو: How to use the spatial join tool in ArcGIS Pro.