أكثر

الانضمام / الارتباط في ArcGIS 9.3.1 ArcEditor من خلال برنامج نصي بيثون - هل هذا ممكن؟

الانضمام / الارتباط في ArcGIS 9.3.1 ArcEditor من خلال برنامج نصي بيثون - هل هذا ممكن؟


أنا أعمل على ArcGIS 9.3.1 ArcEditor وأريد كتابة برنامج نصي بيثون يقوم بعمل صلة أو ارتباط. تكمن المشكلة في أن حقل الانضمام إلى الجدول يقتصر على ARCINFO (ترخيص أعلى) ، ولا يمكن تنفيذ الارتباط عن طريق الكود (أو هكذا يبدو من مساعدة ARCGIS). نظرًا لأن ترقية الترخيص ليست خيارًا ، فهل لدى أي شخص طريقة يمكنني من خلالها القيام بربط بين ملفي أشكال في ArcGIS أو أدوات المصدر المفتوح؟


إذا قمت باستيراد ملفات الأشكال إلى قاعدة بيانات جغرافية ، فيمكنك ضمها باستخدام SQL مع مكتبة Python ODBC. انظر هذه الصفحة للمساعدة في استخدام pyodbc.

إليك بعض الأمثلة على الكود:

import pyodc cnxn = conn = pyodbc.connect ("برنامج التشغيل = {برنامج تشغيل Microsoft Access (* .mdb، * .accdb)} ؛ DBQ =؛ ") #access 2007 cursor = cnxn.cursor () query =" "" SELECT * FROM table1 JOIN table2 ON table1.field1 = table2.field1 "" "cursor.execute (استعلام) rows = cursor.execute (استعلام). فيتشال ()

أنت محق في ذلك في Arc 9.3 و تاريخ الميدان و أضف انضمام تتطلب أدوات gp ترخيص ArcInfo. ومع ذلك، في قوس 10، تم تغيير ترخيص أدوات "الانضمام إلى الحقل" و "إضافة الانضمام" و متاحة الآن لجميع مستويات الترخيص (ArcView & ArcEditor).

للمصدر المفتوح ، ألق نظرة على ogr2ogr. أوصي بتنزيل FWTools (انظر ورقة الغش هنا) ، والتي تتضمن ogr2ogr في التثبيت وتجعل من السهل جدًا البدء بسرعة. من التعليمات عبر الإنترنت ogr2ogr في قسم JOIN:

يدعم OGR SQL شكلاً محدودًا من واحد إلى واحد JOIN. يسمح هذا بالبحث عن السجلات من جدول ثانوي بناءً على مفتاح مشترك بينه وبين الجدول الأساسي الذي يتم الاستعلام عنه. على سبيل المثال ، قد يشتمل جدول مواقع المدن على عمود Nation_id الذي يمكن استخدامه كمرجع في جدول قومية ثانوي لجلب اسم الدولة.