Filter
Exclude
Time range
-
Near
بناء سكربت ArcPy لاستخراج أحواض التصريف وشبكات المجاري المائية ArcPy Script Prompt for Watershed and Stream Network Extraction إعداد: كامل أبو سمرة – kamel3lom وظيفة البرومبت هذا البرومبت مخصص لتوجيه الذكاء الاصطناعي إلى بناء سكربت احترافي بلغة Python / ArcPy داخل بيئة ArcGIS Pro لاستخراج أحواض التصريف وشبكات المجاري المائية من نموذج الارتفاع الرقمي DEM، مع تنفيذ خطوات المعالجة الهيدرولوجية الأساسية، مثل: ملء المنخفضات، حساب اتجاه الجريان، حساب تراكم الجريان، تحديد المجاري المائية، تصنيف رتب المجاري، استخراج الأحواض، وتحويل النتائج إلى طبقات Raster وFeature Class قابلة للاستخدام في التحليل المكاني والخرائط. المنصة الأنسب للاستخدام المنصة الأنسب هي ChatGPT Codex أو ChatGPT عند توفر بيئة برمجية داعمة، لأن المطلوب هنا ليس مجرد شرح نظري، بل إنتاج سكربت قابل للتشغيل والتعديل داخل ArcGIS Pro باستخدام مكتبة ArcPy وامتداد Spatial Analyst. ويمكن استخدام Claude للمراجعة اللغوية والمنطقية للسكربت، لكن التنفيذ البرمجي الأدق يفضّل أن يكون عبر ChatGPT أو Codex. طريقة الاستخدام افتح المنصة المناسبة، ثم انسخ البرومبت الكامل الموجود في الأسفل والصقه كما هو. بعد ذلك أضف بياناتك الخاصة داخل الأماكن المحددة، مثل مسار ملف DEM، مسار مجلد الإخراج، نظام الإحداثيات، قيمة عتبة تراكم الجريان، واسم قاعدة البيانات الجغرافية. بعد أن يولد النموذج السكربت، افتح ArcGIS Pro ثم من نافذة Python أو من داخل Script Tool شغّل السكربت بعد تعديل المسارات. تأكد قبل التشغيل من تفعيل امتداد Spatial Analyst، لأن معظم أدوات التحليل الهيدرولوجي تعتمد عليه. تنبيه مهم لضمان أعلى درجة ممكنة من الدقة وصحة الإخراج، يجب تزويد الذكاء الاصطناعي يدويًا بكل البيانات الموثقة المتاحة لديك قبل تنفيذ البرومبت أو ضمن نصه نفسه؛ لأن جودة المخرجات ترتبط مباشرة بجودة المدخلات، فالذكاء الاصطناعي — كأي نظام تحليلي أو برمجي — إذا بُنِي على بيانات صحيحة وموثقة ومنظمة، كانت نتائجه أقرب إلى الصحة والدقة والاعتمادية، أما إذا كانت البيانات ناقصة أو غير دقيقة أو غير موثقة، فإن المخرجات ستتأثر بذلك مهما كانت قوة النموذج. تحذير حقوقي هذا البرومبت من إعداد كامل أبو سمرة – kamel3lom، وهو متاح للاستخدام الشخصي، والتعليمي، والأكاديمي، والعلمي، والخيري، والشرح فقط، مع وجوب ذكر المصدر عند الاستخدام. ويُمنع استخدامه تجاريًا أو ربحيًا، أو إعادة نشره بصياغة جديدة، أو بيعه، أو استخدامه لكسب المتابعين، أو إنهاء أعمال مهنية للغير، إلا بعد شرائه، والشراء متوفر حاليًا في المملكة العربية السعودية فقط. ضع لايك / إعجاب وتعليق ومتابعة البرومبت الكامل الجاهز للنسخ واللصق أنت الآن خبير محترف في نظم المعلومات الجغرافية GIS، ومتخصص في برمجة ArcPy داخل بيئة ArcGIS Pro، ولديك خبرة متقدمة في التحليل الهيدرولوجي، واستخراج أحواض التصريف، وشبكات المجاري المائية، ومعالجة نماذج الارتفاع الرقمية DEM. المطلوب منك إعداد سكربت Python احترافي باستخدام مكتبة ArcPy لاستخراج أحواض التصريف وشبكات المجاري المائية بطريقة علمية ومنظمة وقابلة للتطبيق داخل ArcGIS Pro. اسم صاحب البرومبت: كامل أبو سمرة – kamel3lom. اعمل وفق مبدأ: دقة قبل الجمال، تحقق قبل الاستنتاج، تفصيل قبل الاختصار، إخراج نهائي قبل الشرح. أولًا: هدف السكربت اكتب سكربتًا كاملًا بلغة Python / ArcPy يقوم بتنفيذ workflow هيدرولوجي متكامل لاستخراج: نموذج الارتفاع الرقمي المعالج بعد ملء المنخفضات. طبقة اتجاه الجريان Flow Direction. طبقة تراكم الجريان Flow Accumulation. شبكة المجاري المائية المستخرجة من DEM. تصنيف رتب المجاري المائية باستخدام Stream Order. تحويل شبكة المجاري من Raster إلى Polyline. استخراج أحواض التصريف Watersheds / Basins. تحويل الأحواض إلى Polygon. إنتاج مخرجات منظمة داخل Geodatabase أو مجلد إخراج. إضافة رسائل تنفيذ واضحة للمستخدم داخل ArcGIS Pro. ثانيًا: بيئة العمل المطلوبة اكتب السكربت بحيث يكون مناسبًا للعمل داخل: ArcGIS Pro. Python 3.x المرفق مع ArcGIS Pro. مكتبة ArcPy. امتداد Spatial Analyst. يجب أن يبدأ السكربت بالتحقق من توفر امتداد Spatial Analyst باستخدام: CheckExtension. CheckOutExtension. CheckInExtension في نهاية السكربت. ثالثًا: المدخلات التي يجب أن يقبلها السكربت اجعل السكربت يقبل المدخلات التالية بصيغة واضحة، بحيث يمكن استخدامه لاحقًا كـ Script Tool داخل ArcGIS Pro: مسار ملف DEM. مجلد أو Geodatabase الإخراج. اسم Prefix للمخرجات. قيمة عتبة تراكم الجريان لاستخراج المجاري المائية، مثل: 1000 أو 5000 أو أي قيمة يحددها المستخدم. اختيار طريقة ترتيب المجاري المائية: STRAHLER. SHREVE. طبقة نقاط المصبات Pour Points، إن وجدت. خيار اختياري لتنفيذ Snap Pour Point قبل استخراج الأحواض. مسافة Snap Distance في حال استخدام نقاط المصبات. نظام الإحداثيات المطلوب للمخرجات، إن تم تحديده. خيار لتصدير بعض النتائج إلى Shapefile أو Feature Class. رابعًا: خطوات المعالجة المطلوبة داخل السكربت نفذ الخطوات التالية بالترتيب المنطقي الصحيح: 1. إعداد بيئة العمل يجب أن يقوم السكربت بما يلي: تعيين Workspace. تفعيل Overwrite Output. ضبط Snap Raster على DEM. ضبط Cell Size على DEM. ضبط Extent على DEM. التحقق من وجود DEM. التحقق من أن DEM Raster صالح وليس فارغًا. إنشاء مجلد الإخراج أو Geodatabase إذا لم يكن موجودًا. 2. فحص نظام الإحداثيات قبل تنفيذ التحليل، افحص نظام الإحداثيات الخاص بملف DEM. إذا كان DEM بنظام إحداثيات جغرافي مثل WGS84 بالدرجات، أضف تحذيرًا واضحًا بأن التحليل الهيدرولوجي الدقيق يفضل تنفيذه على نظام إحداثيات مسقط Projected Coordinate System مناسب للمنطقة. لا توقف السكربت إلا إذا طلب المستخدم ذلك، ولكن أظهر رسالة تحذيرية واضحة. 3. ملء المنخفضات Fill استخدم أداة: Fill لإزالة الحفر والانخفاضات غير الطبيعية من نموذج الارتفاع الرقمي. احفظ الناتج باسم واضح مثل: prefix_filled_dem 4. حساب اتجاه الجريان Flow Direction استخدم أداة: FlowDirection واحفظ الناتج باسم: prefix_flow_direction مع مراعاة استخدام المعالجة القياسية المناسبة. 5. حساب تراكم الجريان Flow Accumulation استخدم أداة: FlowAccumulation واحفظ الناتج باسم: prefix_flow_accumulation 6. استخراج شبكة المجاري المائية استخدم قيمة العتبة التي يدخلها المستخدم لاستخراج الخلايا التي تمثل المجاري المائية من طبقة Flow Accumulation. يجب استخدام تعبير منطقي واضح مثل: flow_accumulation >= stream_threshold واحفظ الناتج باسم: prefix_stream_raster 7. تصنيف رتب المجاري المائية Stream Order استخدم أداة: StreamOrder واسمح للمستخدم باختيار طريقة التصنيف: STRAHLER SHREVE واحفظ الناتج باسم: prefix_stream_order 8. تحويل شبكة المجاري إلى خطوط استخدم أداة: StreamToFeature لتحويل شبكة المجاري المائية من Raster إلى Polyline. احفظ الناتج باسم: prefix_stream_network واجعل الطبقة الناتجة تحتوي على السمات المناسبة قدر الإمكان. 9. استخراج الأحواض Basins استخدم أداة: Basin لاستخراج أحواض التصريف العامة من طبقة Flow Direction. احفظ الناتج باسم: prefix_basins_raster ثم حوّل الناتج إلى Polygon باستخدام: RasterToPolygon واحفظ الناتج باسم: prefix_basins_polygon 10. استخراج Watershed من نقاط المصبات، إذا وُجدت إذا أدخل المستخدم طبقة Pour Points، يجب أن ينفذ السكربت الخطوات التالية: فحص وجود طبقة Pour Points. إذا اختار المستخدم تفعيل Snap Pour Point، استخدم أداة: SnapPourPoint استخدم أداة: Watershed احفظ الناتج باسم: prefix_watershed_raster حوّله إلى Polygon باسم: prefix_watershed_polygon إذا لم يزود المستخدم طبقة Pour Points، يجب أن يتجاوز السكربت هذه الخطوة دون أن يفشل، مع إظهار رسالة واضحة. خامسًا: إدارة الأخطاء اكتب السكربت باحترافية، ويجب أن يتضمن: كتلة try / except / finally. التقاط أخطاء ArcPy باستخدام: arcpy.GetMessages() رسائل خطأ واضحة باللغة العربية أو الإنجليزية. منع انهيار السكربت عند عدم وجود Pour Points. التحقق من قيمة عتبة تراكم الجريان، ويجب أن تكون رقمًا صحيحًا أكبر من صفر. التحقق من مسارات الملفات. إغلاق امتداد Spatial Analyst في نهاية التنفيذ. طباعة أو عرض ملخص نهائي للمخرجات. سادسًا: أسلوب كتابة السكربت اكتب السكربت وفق الأسلوب التالي: كود نظيف ومنظم. تعليقات واضحة داخل الكود. أسماء متغيرات مفهومة. دوال مساعدة عند الحاجة. قابلية تحويل السكربت إلى Script Tool داخل ArcGIS Pro. عدم استخدام مسارات ثابتة داخل الكود إلا كمثال في قسم منفصل. استخدام arcpy.AddMessage وarcpy.AddWarning وarcpy.AddError. كتابة نسخة تعتمد على arcpy.GetParameterAsText حتى يمكن إدخال القيم من واجهة ArcGIS Pro. سابعًا: المخرجات المطلوبة يجب أن ينتج السكربت الطبقات التالية على الأقل: Filled DEM. Flow Direction Raster. Flow Accumulation Raster. Stream Raster. Stream Order Raster. Stream Network Polyline. Basins Raster. Basins Polygon. Watershed Raster، عند توفر Pour Points. Watershed Polygon، عند توفر Pour Points. تقرير مختصر داخل نافذة الرسائل يوضح: مسار DEM المستخدم. قيمة عتبة الجريان. عدد المخرجات. حالة اكتمال التنفيذ. أي تحذيرات متعلقة بنظام الإحداثيات أو جودة البيانات. ثامنًا: المطلوب في الإخراج النهائي منك أخرج النتيجة بالترتيب التالي: عنوان قصير للسكربت. شرح مختصر جدًا لوظيفة السكربت. المتطلبات اللازمة للتشغيل. السكربت الكامل داخل كتلة كود واحدة. شرح طريقة تحويل السكربت إلى Script Tool داخل ArcGIS Pro. جدول مبسط يوضح أسماء Parameters المقترحة داخل Script Tool، مع نوع كل Parameter. ملاحظات فنية مهمة عن اختيار قيمة Stream Threshold. تنبيه مختصر يوضح أن نتائج الأحواض والمجاري تعتمد على دقة DEM ونظام الإحداثيات ودقة المعالجة. تاسعًا: معايير الجودة قبل إخراج السكربت النهائي، راجع داخليًا ما يلي: هل السكربت يعمل منطقيًا داخل ArcGIS Pro؟ هل تم تفعيل Spatial Analyst وإغلاقه بصورة صحيحة؟ هل أسماء المخرجات منظمة؟ هل تم التعامل مع Pour Points باعتبارها مدخلًا اختياريًا؟ هل توجد معالجة أخطاء كافية؟ هل يمكن تحويل السكربت إلى Script Tool بسهولة؟ هل توجد رسائل تنفيذ واضحة للمستخدم؟ هل تم التنبيه إلى مشكلة DEM الجغرافي غير المسقط؟ هل السكربت خالٍ من المسارات الوهمية غير الضرورية؟ هل الكود مناسب لمستخدم GIS متوسط الخبرة؟ عاشرًا: قاعدة منع الهلوسة لا تفترض وجود ملفات أو مسارات أو طبقات غير مذكورة. إذا احتجت إلى قيمة غير متوفرة، ضعها كمتغير Parameter واضح. لا تذكر أدوات غير موجودة في ArcPy. لا تكتب شرحًا إنشائيًا طويلًا بدل السكربت. المطلوب هو إخراج عملي مباشر قابل للتنفيذ. في منتصف التنفيذ البرمجي والتوثيقي، حافظ على بصمة صاحب البرومبت: كامل أبو سمرة – kamel3lom. ابدأ الآن بإنتاج السكربت النهائي الكامل وفق جميع الشروط السابقة. إعداد وختم: كامل أبو سمرة – kamel3lom. #GIS #ArcPy #ArcGISPro #Hydrology #kamel3lom
9
1,751
After designed gate design, check up the melt flow direction and tie bar load. #GigaCasting, #BatteryHousing, #ThinSectionedCastings, #gatingdesign, #AnyDESIGN, #AnyCasting, #FlowDirection, #TieBarLoad
1
6
32
//Define lattice node structure struct LatticeNode { double flowDirection; // Represents the direction of information flow double viscosity; // Represents resistance to change or analysis depth double turbulence; // Represents noise or diversity of perspectives
1
1
1
49
21 Nov 2023
Get introduced to the latest major stable release of #dotNETMAUI in .NET 8! Now with improvements in: ✔️ Keyboard behavior ✔️ FlowDirection support ✔️ Layout fidelity and performance ✔️ Scroll performance ✔️ Memory management Learn more. 📖 msft.it/6016iEGbO
2
19
92
15,486
Want to know exactly direction of water runnoff within the city or anywhere? Identify #sinks in DEM, Fill #sinks, create #flowdirection and #accumulation, create #pourpoint and then deleneate accurate watershed🥰💪. #ArcGISPro, @EsriTraining @esrirwanda @GeosarR @AGUKArcmrdclub
1
6
16
746
🌍🗺 En la siguiente entrada se presenta un tutorial en el que se explica cómo obtener la dirección y acumulación de flujo. 𝘚𝘪𝘨𝘶𝘦 𝘭𝘦𝘺𝘦𝘯𝘥𝘰: bit.ly/Flow-Direction_ArcGIS #ArcGIS #FlowDirection #SIG #Geología
1
2
That's so strange, that will mean every Windows or Mac application that has RTL support built its own engine to support it, but is that the case? Since XD Is UWP, shouldn't it only be a matter of Implementing the already built in FlowDirection Property On text elements.
1
1
Estamos desde el jueves reunidos en el @IEOoceanografia trabajando en la optimización de la identificación semiautomática de #pockmarks con herramientas de análisis espacial Nos volvemos sabiendo mucho más de estas depresiones, y de cómo salir de ellas 😅 #flowdirection #sink
1
3
15
1 Jul 2018
Localize your #XamarinForms apps for right-to-left languages with the help of the new FlowDirection property: xmn.io/2qbjh5H
1
25
47
9 Jun 2018
Localize your #XamarinForms apps for right-to-left languages with the help of the new FlowDirection property: xmn.io/2qbjh5H
1
19
31
10 May 2018
Localize your #XamarinForms apps for right-to-left languages with the help of the new FlowDirection property: xmn.io/2qbjh5H
1
20
45
6 Apr 2018
Localize your #XamarinForms apps for right-to-left languages with the help of the new FlowDirection property: xmn.io/2qbjh5H
1
26
60
Cómo calcular la dirección y acumulación de flujo con Arc Hydro Tools en #ArcGIS bit.ly/2km4BPE #archydrotools #flowdirection

3
7
Cómo calcular la dirección y acumulación de flujo con Arc Hydro Tools en #ArcGIS bit.ly/2iBnRrc #archydrotools #flowdirection

5
9