Menggunakan ArcGIS Desktop dengan SQL Server Spatial sebagai backend?

15

Saya bertanya-tanya bagaimana cara terbaik untuk menggunakan ArcGIS Desktop dan SQL Server 2008 secara bersamaan. Saat ini kami menjalankan impor dan ekspor manual antara sql 2008 dan arcgis 10 file bentuk. Dengan sql 2008 memiliki tipe data geografi, saya mengharapkannya mudah untuk diganti ke file peta dengan database relasional, tetapi untuk beberapa alasan sepertinya tidak sesederhana yang saya harapkan.

Adakah yang punya ide bagaimana saya bisa menggunakan sql 2008 untuk penyimpanan data dan menghapus file bentuk? Saya sudah membaca tentang arcsde, tetapi benar-benar tidak mengerti maksud dari layer lain. Tidak tahu apa yang seharusnya dilakukan.

Michael
sumber

Jawaban:

9

Menggunakan ArcSDE Anda dapat menyimpan data spasial pada dasarnya dalam 2 format. Baik menggunakan format asli SDE (yang merupakan gumpalan), ATAU tergantung pada database yang Anda gunakan (SQL Server, Oracle, PostGIS, saya pikir DB2 spasial juga) dalam format asli basis data masing-masing. Yang untuk Oracle misalnya, adalah tipe SDO_GEOMETRY dan untuk SQL Server tipe spasial Geografi atau Geometri.

Format mana yang Anda gunakan sebenarnya terserah Anda dan itu tidak akan / seharusnya tidak membuat perbedaan (besar) di sisi klien. Setiap klien ESRI (mis. Arcmap) akan menangani data dengan cara yang sama. Saran saya adalah untuk menggunakan format asli SQL Server (atau Oracle jika Anda menggunakannya) karena jika tidak saya pikir Anda harus menggunakan alat ESRI saja untuk melakukan bahkan pertanyaan atau analisis spasial paling sederhana. Menggunakan format db asli di sisi lain akan memungkinkan Anda untuk meminta data dari klien lain juga dan bahkan dari SQL Server Management Studio. Dan seperti yang dikatakan @Blomster, Anda dapat memindahkan banyak logika spasial ke dalam prosedur tersimpan.

Sebagai langkah pertama untuk mengimpor shapefile ke SQL Server adalah dengan mengunduh utilitas Shape2SQL yang sangat berguna oleh Morten Nielsen

mapoholic
sumber
13

Karena Anda telah menandai pertanyaan untuk ArcGIS 10, periksa Query Layers: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_is_a_query_layer/00s50000000n000000/

Saya telah menggunakannya untuk terhubung ke database SQL Server 2008 non-ArcSDE.

Anda mendapatkannya dari menu file:

masukkan deskripsi gambar di sini

Dan ada beberapa layar lain yang memandu Anda menentukan apa yang perlu diketahui ArcMap untuk membuat lapisan kueri.

masukkan deskripsi gambar di sini
(Pastikan bahwa kueri Anda menyertakan bidang geometri dan bidang id unik)

masukkan deskripsi gambar di sini

Anda akan ingin mengujinya, karena saya tahu itu bermasalah saat dirilis dan SP1.

Jay Cummins
sumber
6

Dalam pengalaman saya, menambahkan tipe kolom spasial SQL telah memungkinkan saya untuk memindahkan banyak operasi spasial saya (jarak, penyangga) ke dalam prosedur tersimpan yang sangat berguna.

ArcGIS toolbox memiliki alat "Salin Fitur" untuk mendorong data ke dalam geodatabase sde, dan jika Anda menentukan Kata Kunci Konfigurasi "Geometri" atau "Geografi", kolom spasial sql harus dibuat.

Blomster
sumber
4

ArcSDE memungkinkan Anda untuk menyimpan data spasial dalam contoh SQL Server, dengan menambahkan kolom spasial secara efektif ke tabel Anda; itu tidak mengubahnya, atau memengaruhi konektivitas / aplikasi yang ada. ArcSDE bertindak, jika Anda suka, sebagai toko metadata untuk data spasial Anda, seperti itu adalah nama featureeclass, pemilik, luas, jenis geometri yang Anda simpan, dll, dll (semua dalam tabel metadata dibangun untuk menginstal ArcSDE). Hal ini memungkinkan Anda untuk menyimpan apa pun yang Anda suka, gambar dll, dan masih memiliki referensi spasial (dalam SQL Server, jika saya ingat dengan benar, data spasial disimpan sebagai gambar tpe?). ArcSDE mengelola penyimpanan data ini. Ini sebenarnya alat yang bagus dan semua ini dari pengguna ESRI yang skeptis.

Saat ini saya menggunakan ArcGIS Server, dengan ArcSDE dan koneksi langsung (menggunakan tnsnames) pada Oracle 11g back end dan itu hebat. Saya tidak mengerti mengapa Anda akan menggunakan SQL Server untuk data spasial ketika saya pikir itu masih belum matang.

Berbulu
sumber
0

Anda dapat mengedit data vektor yang disimpan dalam SQL 2008 atau 2012 di ArcGIS dengan menginstal ekstensi GISquirrel, tersedia di www.gisquirrel.com. Ini juga menyediakan alat untuk mengimpor data spasial ke dalam SQL Server dari sumber data apa pun yang dapat dilihat sebagai lapisan dalam ArcMap . Saya baru-baru ini mengimpor meja dengan 90 juta poligon - butuh 4 hari, tetapi bekerja tanpa hambatan pada laptop berusia 2 tahun!

CrispinF
sumber