أكثر

النقطية الناتجة من أداة الاستيفاء IDW من 3.40282e + 038 إلى -3.40282e + 038 في ArcPy

النقطية الناتجة من أداة الاستيفاء IDW من 3.40282e + 038 إلى -3.40282e + 038 في ArcPy


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

ثم قمت بتصدير النموذج إلى نص برمجي بايثون. يتم إنشاء إخراج البيانات النقطية ، لكن قيمة البيانات النقطية تتراوح من 3.40282e + 038 إلى -3.40282e + 038. لماذا حدث هذا وكيف يمكنني إصلاحه؟

السيناريو الخاص بي مثل هذا:

# استيراد وحدة Arcpy module import arcpy # تحقق من أي تراخيص ضرورية arcpy.CheckOutExtension ("3D") # تعيين بيئات المعالجة الجغرافية arcpy.env.scratchWorkspace = "C:  Documents  ArcGIS  biomass.gdb" arcpy.env.outputCoordinateSystem + ، PROJECTION ['Plate_Carree']، PARAMETER ['False_Easting'، 0.0]، PARAMETER ['False_Northing'، 0.0]، PARAMETER ['Central_Meridian'، 0.0]، UNIT ['Meter'، 1.0]] "arcpy.env.extent = "60.8785969898536 -11.0048500049116 148.898540012983 53.560734" arcpy.env.cellSize = "MAXOF" arcpy.env.workspace = "C:  سطح المكتب  الشكل" arcpy.env.mask = "newasia.shp" # المتغيرات المحلية: xyz_shp = "xyz.shp" b1_ald22222 = "C:  Documents  ArcGIS  mass.gdb  b1_ald22222" # العملية: IDW arcpy.Idw_3d (xyz_shp، "ALDX"، b1_ald22222، "27000"، "2"، " متغير 8 "،")

ربما يكون السبب في ArcMap غير قادر على التعرف على قيمة NoData التي تم تعيينها بواسطة أداة IDW إما 3.40282e + 038 أو -3.40282e + 038.

أوصي باستخدامSetNullأداة لهاتين القيمتين في النتيجة ومعرفة ما إذا كان ذلك يتخلص من أي قيم لا معنى لها (يجب تعيينها بشكل صحيح على NoData). إذا لم يكن الأمر كذلك ، فقد يكون هناك خلل في بيانات الإدخال (لست متأكدًا مما إذا كان IDW يتعامل مع القيم NULL بشكل صحيح ، على سبيل المثال).


لقد قمت بحل هذه المشكلة وهناك خطأ بسيط هنا. نطاق الاستيفاء هو 27000 متر ولكن مدى بيئة Arcpy بوحدة درجة. لذا فإن الشيء الوحيد الذي يتعين القيام به هو توحيد الوحدات.


شاهد الفيديو: شرح طريقة الانتربوليشن بواسطة الة الحاسبه