أكثر

تبديل إحداثيات Lat و Lon لملف الشكل؟

تبديل إحداثيات Lat و Lon لملف الشكل؟


لدي ملف شكل يتكون من مضلع واحد يتم تحديد حدوده بعدد كبير من النقاط. أيًا كان الشخص الذي أنشأ الملف في الأصل ، قام بقلب إحداثيات خطوط الطول والعرض ، لذلك يتم عرض البيانات عند 38 درجة شرق غرينتش و 122 درجة جنوب خط الاستواء ، أي جنوب القطب الجنوبي ، أو في الفضاء ، أو في مكان ما على الرقم التخيلي خط ، أو شيء من هذا القبيل. كيف يمكنني اصلاح هذا؟ يمكنني عمل ملف شكل آخر وإدخال الإحداثيات الصحيحة يدويًا ، لكن هذا المضلع المحدد محدد بعدة رؤوس متداخلة لذا أفضل عدم القيام بذلك بهذه الطريقة. هل هناك برنامج نصي بيثون أو أداة GP يمكن أن تساعدني؟


يمكنك القيام بذلك بسهولة باستخدام Python. يمكنك القيام بما يلي في نافذة Python الخاصة بـ ArcMap:

باستخدام arcpy.da.UpdateCursor ("your_layer_name"، ['SHAPE @ XY']) كصفوف: للصفوف في الصفوف: rows.updateRow ((r [0] [:: - 1]،))

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

تعديل:

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

باستخدام arcpy.da.UpdateCursor ("your_layer_name"، ['SHAPE @']) كصفوف: لـ r في الصفوف: # نقاط عكسية داخل المضلع (تدعم أيضًا المضلعات متعددة الأجزاء) rows.updateRow ((arcpy.Polygon (arcpy.Array (arcpy.Array ([arcpy.Point (pY، pX) لـ p جزئيًا]) للجزء في r [0])) ،))

هل تحتوي معلومات السمة على نقاط س وص؟ إذا لم يكن الأمر كذلك ، يمكنك تجربة Feature to Point لإنشائها ثم تبديل X و Y.


قم بتصدير ملف الأشكال الخاص بك كجدول ، وانقر بزر الماوس الأيمن فوق الجدول واختر "عرض بيانات XY". عندما تقوم بإدخال حقول خط الطول / العرض ، قم بتبديل ترتيب الحقول الخاصة بك ، وسيكون لديك الآن طبقة حدث X / Y صحيحة ، والتي يمكنك تصديرها إلى gdb كفئة معلم


يمكنك إنشاء عمودين جديدين لإضافة حقلين إلى ملف الشكل ثم حسابهما من عمود الحقل القديم مثل إحداثيات X والإحداثيات Y للحقل الجديد. ثم يمكنك حذف القديمة من ملف الأشكال.