أكثر

جدول السمات طرح القيمة من القيمة السابقة

جدول السمات طرح القيمة من القيمة السابقة


لدي ملف شكل نهر وأحتاج إلى التأكد من أن كل قمة لها ارتفاع أقل من قمة الصعود السابقة.

لقد قمت بتحويل polylineZ إلى نقاط باستخدام ET GeoWizards.

هذا يعطيني قيمة Z لكل رأس.

لقد أضفت حقلاً يسمى ElevDiff.

أحتاج إلى حساب الفرق في قيم الارتفاع من القمة السابقة إلى التي تليها في جدول البيانات.

إذا كانت القيمة سالبة ، فأنا أعلم أن الخط لا يتدفق إلى أسفل في هذه المرحلة.

هذه مهمة سهلة في Excel ولكني أتساءل عما إذا كان هناك برنامج نصي بيثون أو طريقة سهلة لحساب ذلك باستخدام ArcGIS.

ليس لدي أي امتدادات (مثل محلل مكاني ، محلل ثلاثي الأبعاد ، محلل نيوتورك).


سأكون حذرًا للغاية على افتراض أن ترتيب القمم (FID) في الجدول يذهب حسب ترتيب تدفق النهر الخاص بك. إذا كان لديك order_ID ، فيمكن إعداده لاستخدامه بدلاً من ذلك. لست على دراية بمعالج ET Geo ، إذا كانت نقاطك تحتوي على ارتفاعات في حقل بدلاً من قيم z ، فاستبدل "SHAPE @ Z" باسم الحقل هذا.

استيراد arcpy من arcpy import da vertices = "File_Name.shp" elev1 = 0 باستخدام arcpy.da.UpdateCursor (الرؤوس ، ["FID" ، "SHAPE @ Z" ، "ElevDiff"]) كمؤشر: للصف في المؤشر: Elev2 = عائم (صف [1]) صف [2] = (ارتفاع1 - ارتفاع2)