Post by Abdullah Essam

gis specialist

كان عندي طبقة للطرق فيها قيمة حرم الطريق (Buffer Distance) لكل طريق، وطبقة للمباني. المطلوب كان تحديد المباني اللي حصل منها تعدي على حرم الطريق، وحساب مساحة التعدي، وبعدها استخدام المساحة دي في حساب الضريبة المستحقة على كل مبنى. في البداية بنيت الحل باستخدام ModelBuilder، واعتمدت على أدوات زي: Buffer Identity Clip Calculate Field Join والحل اشتغل، لكن أثناء التنفيذ جاتلي فكرة: بما إن المطلوب في النهاية هو قيمة واحدة لكل مبنى، ليه ما أجربش أنفذها باستخدام Arcade؟ كتبت Expression يبدأ بقراءة طبقة الطرق، ويعمل Buffer لكل طريق باستخدام قيمة الـ Buffer_Distance الخاصة بيه، وبعدها يجمع كل الـ Buffers باستخدام Union، ثم يحسب الجزء المتداخل بين المبنى الحالي وحرم الطريق باستخدام Intersection، وأخيرًا يحسب مساحة التعدي ويرجعها للحقل، ولو مفيش أي تداخل يرجع القيمة 0. النتيجة كانت إني قدرت أوصل لنفس الناتج المطلوب باستخدام Arcade، مع تقليل خطوات الـ Geoprocessing والاعتماد على Expression واحد لحساب مساحة التعدي لكل مبنى. أكتر حاجة عجبتني هي ان انا ساتخدمت اكتر من طريقه حل لمشكله معينه ومن ناحيه تانيه التدريب علي استخدام الاركيد ("الكود المستخدم وصوره الموديل في اول كومنت لو حد عنده فكره افضل سواء اكان من ناحيه الكود او من ناحيه الطريقه ياريت يشاركها معانا 🙏 ") #ArcGIS #Arcade #GIS #ModelBuilder #SpatialAnalysis #Esri #GISDeveloper #GeoSpatial #SpatialData

Post content

Video Content