أكثر

كيفية أتمتة الانضمام إلى جداول قاعدة البيانات غير المكانية SQL Server إلى ملف أشكال ArcGIS

كيفية أتمتة الانضمام إلى جداول قاعدة البيانات غير المكانية SQL Server إلى ملف أشكال ArcGIS


لدي العشرات من جداول قاعدة البيانات غير المكانية SQL Server. هذه جداول شائعة ، أنواع الأعمدة هي: nvarchar و int و float.

أحاول استخدام Arcpy لأتمتة ربط جداول قاعدة البيانات هذه بملفات الأشكال. يجب تسجيل الجداول في ArcGIS أولاً. ArcMap الذي أستخدمه هو 10.3.1. لسوء الحظ ، لم يعد ArcMap 10.3 يدعم "sdetable -o register -t" بعد الآن؟ حاولت بعض الوقت ولم أستطع أن أجعلها تعمل.

إذن ، هل هناك خيارات أخرى لأتمتة الانضمام إلى الجداول؟


أنت لا تبحث عن أتمتة الانضمام إلى الجدول بقدر ما تسجيل الجدول أتمتة.

ليس من الضروري استخدامجدوللتسجيل الجداول مع ArcSDE لأن ArcGIS يدعم عملية "التسجيل مع قاعدة البيانات الجغرافية" الكاملة (والتي تقوم بأكثر مما فعلته الأداة المساعدة لسطر الأوامر).

على سبيل المثال ، لدينا هنا اتصال مفتوح:

يؤدي النقر بزر الماوس الأيمن والتنقل عبر "إدارة" إلى "التسجيل بقاعدة بيانات جغرافية"

(لاحظ أنه لا يمكنك التسجيل إلا كمالك للطاولة)

يتطلب التسجيل عمود كائن جديد ، لذلك قد يكون هناك موجه:

على الرغم من أنه إذا كان لديك بالفعل عمود "ObjectID" (العدد الصحيح ليس فارغًا) - وهو في الواقع أفضل خيار لمنع تجزئة الجدول - قد تحصل على مطالبة تأكيد بدلاً من ذلك:

ثم يتم تسجيل الجدول:

تم إبراز القيد الفعال الوحيد لتسجيل قاعدة البيانات الجغرافية في الوثائق -

ملاحظة: نظرًا لأن ArcGIS لا يمكنه إضافة حقل ObjectID إلى طريقة عرض أو تحديث القيم في حقل ObjectID موجود في طريقة عرض ، فلا يمكنك تسجيل طريقة عرض بقاعدة البيانات الجغرافية.

ومن الممكن استخدامهاsdelayer -o التسجيللتسجيل العروض المكانية على الأقل مع ArcSDE ، والتي تروج لها إلى حالة "فئة المعالم البسيطة" (بدون متطلبات طبقة الاستعلام).

من المهم أيضًا ملاحظة أنه بمجرد تسجيل الجدول في ArcGIS ، فإنه يحتوي على عمود صف مجموعة SDE ، والذي يؤثر على القدرة على إدراج الصفوف خارج ArcGIS ، ولا ينبغي تغييره أو إفلاته باستخدام أدوات SQL (في خطر تلف البيانات الوصفية لقاعدة البيانات الجغرافية).

يمكن أيضًا إنجاز هذه العملية عبر ArcPy من خلال التسجيل مع قاعدة البيانات الجغرافية ، كما هو موضح في نهاية صفحة ترحيل سطر الأوامر:

"" "تسجيل جداول الجهات الخارجية باستخدام قاعدة البيانات الجغرافية" "" استيراد نظام استيراد arcpy def RegisterThirdPartyTables (in_tables): "" "تسجيل جداول الجهات الخارجية باستخدام قاعدة البيانات الجغرافية في الجداول - سلسلة الجداول المحددة بفاصلة منقوطة" "حاول: table = in_tables.split ('؛') للجدول في الجداول: arcpy.RegisterWithGeodatabase_management (table) باستثناء arcpy.ExecuteError: print (arcpy.GetMessages (2)) if __name__ == "__main__": RegisterThirdPartyTables (sys.argv [1 ])

الآن هذا: منذ عشرين عامًا ، كانت ملفات الأشكال شريرة جدًا ، لكن وقتها قد مضى. تتجاوز إمكانيات قاعدة البيانات الجغرافية للملف قدرات ملفات الأشكال بأي مقياس تقريبًا. الصلات بين مصادر الهندسة المستندة إلى الملفات (.shp أو .gdb) وقواعد البيانات هي جدا غير فعال ، ويجب تجنبه قدر الإمكان. يتطلب الأمر أحيانًا القليل من التفكير غير التقليدي للعمل ضمن حدود أنواع الهندسة / الجغرافيا الأصلية ، ولكن عادة ما تكون هناك طريقة للحصول على أداء ملائم (وغالبًا ما يكون متفوقًا) في ربط قاعدة البيانات (ومع قاعدة البيانات الجغرافية للمؤسسة ، هناك دائمًا الرجوع إلى تخزين SDEBINARY).