أكثر

استخدام ArcGIS Tabulate Intersection لتحديد الغطاء الأرضي الأقصى داخل منطقة المضلع

استخدام ArcGIS Tabulate Intersection لتحديد الغطاء الأرضي الأقصى داخل منطقة المضلع


لدي ملف شكل (طبقة أ) يحتوي على مضلعات مختلفة - يمثل كل مضلع منطقة بيئية. لدي طبقة أخرى من المضلعات (الطبقة ب) - يمثل كل مضلع حدًا لمستجمعات المياه. أريد تحديد المنطقة البيئية (الطبقة أ) ذات الأثر الأكبر داخل كل مستجمع مائي (الطبقة ب).

تتيح لي أداة Tabulate Intersection حساب النسبة المئوية لكل منطقة بيئية في الطبقة A في كل مستجمع مائي في الطبقة B ، ويمكنني بعد ذلك ضم هذا الجدول إلى الطبقة B - ولكن ماذا لو أردت فقط القيمة القصوى؟

بمعنى المنطقة البيئية ، والنسبة المئوية المرتبطة بها ، وهي أكبر منطقة بيئية داخل مستجمعات المياه. هل هناك طريقة بسيطة لتوجيه أداة Tabulate Intersection لإنتاج جدول بأكبر بصمة إيكولوجية في كل مستجمع مائي؟

يمكنني القيام بذلك يدويًا عند العمل مع مجموعات البيانات الصغيرة ولكني أفضل أن يتم تشغيله تلقائيًا للمجموعات الأكبر.


بافتراض أنك تريد استخدامه في Model Builder ، أقترح عليك نص "حساب القيمة" كما يلي:

def LargestEcoregion (tabulate_intersection_result): rows = arcpy.SearchCursor (tabulate_intersection_result، sort_fields = "PERCENTAGE D") row = rows.next () arcpy.AddMessage ("٪ s -٪ s"٪ (row.getValue ("EcoRegion_Feport_Feport) ، row.getValue ("PERCENTAGE")))

هنا تحتاج إلى تحديد اسم الحقل للمناطق الحيوية الخاصة بك (على سبيل المثال ، EcoRegion_Field_Name_To_Report) وستظهر النتيجة في نافذة التقدم.


شاهد الفيديو: Tabulate intersection