Daha çox

SQL Server-in məkan olmayan verilənlər bazası masalarının ArcGIS shapefile qoşulmasını necə avtomatlaşdırmaq olar

SQL Server-in məkan olmayan verilənlər bazası masalarının ArcGIS shapefile qoşulmasını necə avtomatlaşdırmaq olar


Məndə onlarla SQL Server məkan olmayan verilənlər bazası cədvəlləri var. Bunlar ümumi masalardır, sütun növləri bunlardır: nvarchar, int və float.

Bu verilənlər bazası cədvəllərini formalaşdırmaq üçün avtomatlaşdırmaq üçün Arcpy istifadə etməyə çalışıram. Əvvəlcə cədvəllər ArcGIS-də qeydiyyata alınmalıdır. İstifadə etdiyim ArcMap 10.3.1-dir. Təəssüf ki, ArcMap 10.3 artıq "sdetable -o register -t" ni dəstəkləmir? Bir müddət çalışdım və işə yarada bilmədim.

Yəni masalara qoşulmağı avtomatlaşdırmaq üçün başqa seçimlər varmı?


Masa cədvəli avtomatlaşdırmasını axtarmırsınız masa qeydiyyatı avtomatlaşdırma.

İstifadəyə ehtiyac yoxdursdetablecədvəlləri ArcSDE ilə qeyd etmək, çünki ArcGIS tam bir "Geodatabase ilə qeydiyyatdan keç" əməliyyatını dəstəkləyir (bu, komut satırı proqramının etdiklərindən daha çox şey edir).

Məsələn, burada açıq bir əlaqə var:

Sağ düyməni vurun və "İdarə et" vasitəsilə naviqasiya "Geodatabase ilə qeydiyyatdan keçin"

(Yalnız masa sahibi kimi qeydiyyatdan keçə biləcəyinizi unutmayın)

Qeyd üçün yeni bir obyektiv sütun tələb olunur, ona görə də bir təklif ola bilər:

baxmayaraq ki, artıq bir "ObjectID" sütunu varsa (INTEGER NULL DEYİL) - bu, cədvəl parçalanmasının qarşısını almaq üçün həqiqətən ən yaxşı seçimdir - bunun əvəzinə bir təsdiq istəyi ala bilərsiniz:

Və sonra masa qeyd olunur:

Coğrafi verilənlər bazası qeydiyyatı üçün yeganə effektiv məhdudiyyət sənədlərdə vurğulanır -

Qeyd: ArcGIS bir görünüşə bir ObjectID sahəsi əlavə edə və ya bir görünüşdə mövcud bir ObjectID sahəsindəki dəyərləri yeniləyə bilmədiyi üçün bir görünüşü geodatabase ilə qeyd edə bilməzsiniz.

və istifadə etmək mümkündürsdelayer - qeydiyyata alınən azı "sadə xüsusiyyət sinfi" statusuna yüksəldən ArzSDE ilə məkan baxışlarını qeydiyyatdan keçirmək (Sorgu Katmanı tələbi olmadan).

Bir cədvəlin ArcGIS-də qeydiyyata alındıqdan sonra ArcGIS xaricində sətir əlavə etmək qabiliyyətini təsir edən bir SDE-sətir sətir sütununa sahib olduğunu və SQL alətləri ilə dəyişdirilməməsi və ya düşməməsi (risk altında) olduğunu da qeyd etmək vacibdir. geodatabase metadata korrupsiya).

Bu proses, ArcPy vasitəsilə Geodatabase ilə Qeydiyyatdan keçərək əmr sətri miqrasiya səhifəsinin sonunda göstərildiyi kimi həyata keçirilə bilər:

"" "Üçüncü tərəf cədvəllərini geodat verilənlər bazası ilə qeydiyyata alın" "" arcpy import sys def RegisterThirdPartyTables (in_tables): "" "Üçüncü tərəf cədvəllərini in_tables geodatabase ilə qeyd edin - cədvəllərin yarım nöqtəli ayrılmış sətri" "" cəhd edin: tables = in_tables.split (';') cədvəllərdəki cədvəl üçün: arcpy.RegisterWithGeodatabase_management (cədvəl) istisna olmaqla arcpy.ExecuteError: print (arcpy.GetMessages (2)) if __name__ == "__main__": RegisterThirdPartyTables (1s.ar) ])

İndi bu: iyirmi il əvvəl shapefiles olduqca pis idi, lakin vaxtları keçdi. Fayl coğrafi verilənlər bazası imkanları, hər hansı bir metriklə formalı sənədlərin xüsusiyyətlərini üstələyir. Fayl əsaslı həndəsə mənbələri (.shp və ya .gdb) ilə verilənlər bazaları arasında birləşmələr çox səmərəsizdir və mümkün olduqda qarşısını almaq lazımdır. Bəzən yerli Həndəsə / Coğrafiya növləri hüdudları daxilində işləmək üçün biraz qeyri-adi düşüncə tələb olunur, lakin ümumiyyətlə bir verilənlər bazasına qoşulmaq üçün kifayət qədər (və çox vaxt üstün) performans əldə etmək üçün bir yol var (və bir müəssisə geodatabase ilə həmişə geri qalma var İKİNCİ saxlama).


Videoya baxın: ArcGIS Enterprise: Managing ArcGIS Server