أكثر

هل تريد استرداد نقاط البداية والنهاية لكل سطر في ملف شكل الخط في ArcGIS Desktop أو QGIS؟

هل تريد استرداد نقاط البداية والنهاية لكل سطر في ملف شكل الخط في ArcGIS Desktop أو QGIS؟


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

كيف يمكنني القيام بذلك بطريقة بسيطة في ArcGIS Desktop أو QGIS؟


حل QGIS: من الممكن استخراج عقد البداية والنهاية (الإحداثيات) لملف متجه الخط ، ببساطة عن طريق استخدام xat و yat في آلة حاسبة الحقل ، مع الفهارس ذات الصلة 0 (البداية) و -1 (النهاية).

xat (0) yat (0) xat (-1) yat (-1)

هذا سطر واحد لـ GDAL. يقوم هذا الأمر بإنشاء ملف شكل من عقد البداية بالسمات المحددة:

ogr2ogr -f "ESRI Shapefile" -dialect sqlite output.shp -sql "حدد ST_StartPoint (الهندسة) ، السمة_1 ، السمة_2 ، السمة_3 من الإدخال" input.shp

استخدم ST_EndPoint لنقاط النهاية.


هناك ملحق QGIS "تحديد النقاط على طول الخطوط". لاشتقاق نقطتي البداية والنهاية ، اختر أضف نقاط النهاية استخدام فاصلة أطول من خطك الأطول.


بالنسبة إلى حل ArcGIS ، قمت بإنشاء أداة معالجة جغرافية تُنشئ نقاطًا على الخطوط.

يمكنك تنزيله وعرض الكود هنا: إنشاء نقاط على الخطوط

بالنسبة للنوع ، سوف ترغب في اختيار START / END POINTS. سيؤدي هذا إلى إنشاء فئة معلم نقطة جديدة تحتوي على نقطتي البداية والنهاية لكل خط متعدد الخطوط.

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

إليك لقطة شاشة توضح كيفية تعيين المعلمات:


في استخدام QGIS استخراج رؤوس معينة أداة. تعيين مؤشرات الرأس ل 0 للحصول على نقاط البداية و -1 للحصول على نقاط النهاية أو 0,-1 للحصول على كليهما.

لاحظ الوصف:

يتوافق الرأس الأول مع فهرس 0 ، والرأس الثاني له فهرس 1 ، إلخ. يمكن استخدام المؤشرات السلبية للعثور على الرؤوس في نهاية الشكل الهندسي ، على سبيل المثال ، الفهرس -1 يتوافق مع الرأس الأخير ، - 2 يتوافق مع الرأس الأخير الثاني ، إلخ.


لإضافة إحداثيات نقاط النهاية في جدول البيانات ، باستخدام ArcGIS ، يمكنك استخدام حاسبة الحقل (لا حاجة لإنشاء الأشكال الهندسية). انقر فوق اسم الحقل ، وآلة حاسبة الحقل ، ثم استخدم بناء جملة Python مع الأسطر المفردة أدناه (على سبيل المثال مع إحداثي X):

! shape.firstPoint.X! ! shape.lastPoint.X!

لاحظ أن كل شيء داخل !!


في ArcGIS ، إذا كان لديك ترخيص متقدم ، يمكنك استخدام Data Management Toolbox-> Features Toolset-> Feature Vertices to Points tool مع خيار كلا الطرفين. يتم الاحتفاظ بجميع سمات الخط. ومع ذلك ، سيتعين عليك إضافة حقل إلى فئة معلم الخط الأصلي وحساب معرف الميزة على الخط الخاص بك للحفاظ على هذه القيمة في النقاط. إذا كان لديك حقل قيمة فريد آخر في سطورك ، يمكنك الانضمام وحساب FID بعد تشغيل الأداة. قد يتضمن الخيار الأخير إجراء ارتباط مكاني مع خيار واحد إلى متعدد وإزالة النسخ ذات السمات السيئة.


شاهد الفيديو: СВАКУ 2009