Verwenden von ArcGIS Desktop mit SQL Server Spatial als Backend?


15

Ich frage mich, wie ArcGIS Desktop und SQL Server 2008 am besten zusammen verwendet werden können. Momentan führen wir manuelle Importe und Exporte zwischen SQL 2008 und ArcGis 10 Shape-Dateien durch. Mit SQL 2008 mit einem geografischen Datentyp hatte ich erwartet, dass es einfach ist, die Kartendateien durch eine relationale Datenbank zu ersetzen, aber aus irgendeinem Grund scheint es nicht so einfach zu sein, wie ich erwartet hatte.

Hat jemand eine Idee, wie ich SQL 2008 für die Datenspeicherung verwenden und Shape-Dateien beseitigen kann? Ich habe über Arcsde gelesen, verstehe aber den Sinn einer anderen Ebene nicht wirklich. Keine Ahnung, was es eigentlich tun soll.

Antworten:


9

Mit ArcSDE können Sie räumliche Daten in grundsätzlich zwei Formaten speichern. Entweder mit dem nativen SDE-Format (das ein BLOB ist), ODER je nach verwendeter Datenbank (SQL Server, Oracle, PostGIS, ich denke auch DB2 räumlich) im jeweiligen nativen Datenbankformat. Dies ist beispielsweise für Oracle der Typ SDO_GEOMETRY und für SQL Server der räumliche Typ Geography oder Geometry.

Welches Format Sie letztendlich verwenden, liegt bei Ihnen und sollte auf der Client-Seite keinen (großen) Unterschied machen. Jeder ESRI-Client (z. B. Arcmap) würde die Daten auf dieselbe Weise behandeln. Mein Vorschlag wäre, sich für das native SQL Server-Format zu entscheiden (oder für das von Oracle, wenn Sie es verwenden), da Sie ansonsten meines Erachtens nur ESRI-Tools verwenden müssten, um selbst die einfachsten räumlichen Abfragen oder Analysen durchzuführen. Wenn Sie dagegen das native Datenbankformat verwenden, können Sie die Daten auch von anderen Clients und sogar von SQL Server Management Studio aus abfragen. Und wie @Blomster sagt, können Sie einen Großteil der räumlichen Logik in gespeicherte Prozeduren verschieben.

Als ersten Schritt zum Importieren von Shapefiles in SQL Server müsste das äußerst praktische Shape2SQL- Dienstprogramm von Morten Nielsen heruntergeladen werden


13

Da Sie die Frage für ArcGIS 10 mit Tags versehen haben, überprüfen Sie die Abfrage-Layer: http://help.arcgis.com/de/arcgisdesktop/10.0/help/index.html#/What_is_a_query_layer/00s50000000n000000/

Ich habe es verwendet, um eine Verbindung zu Nicht-ArcSDE SQL Server 2008-Datenbanken herzustellen.

Sie erreichen es über das Dateimenü:

Bildbeschreibung hier eingeben

Es gibt auch einige andere Bildschirme, in denen Sie festlegen, was ArcMap wissen muss, um den Abfrage-Layer zu erstellen.

Bildbeschreibung hier eingeben
(Stellen Sie sicher, dass Ihre Abfrage ein Geometriefeld und ein eindeutiges ID-Feld enthält.)

Bildbeschreibung hier eingeben

Du wirst es ausprobieren wollen, da ich weiß, dass es bei Release und SP1 fehlerhaft war.


6

Nach meiner Erfahrung hat das Hinzufügen eines räumlichen SQL-Spaltentyps es mir ermöglicht, einen Großteil meiner räumlichen Operationen (Entfernung, Puffer) in gespeicherte Prozeduren zu verschieben, was sehr praktisch ist.

ArcGIS Toolbox verfügt über ein Werkzeug "Features kopieren", mit dem Daten in eine SDE-Geodatabase verschoben werden. Wenn Sie ein Konfigurationsschlüsselwort für "Geometrie" oder "Geografie" angeben, sollte eine räumliche SQL-Spalte generiert werden.


4

In ArcSDE können Sie räumliche Daten in der SQL Server-Instanz speichern, indem Sie Ihren Tabellen effektiv eine räumliche Spalte hinzufügen. Es ändert nichts daran oder wirkt sich auf vorhandene Konnektivität / Anwendungen aus. Wenn Sie möchten, fungiert ArcSDE als Metadatenspeicher für Ihre räumlichen Daten, z. B. Name der Feature-Class, Eigentümer, Ausdehnung, Typ der von Ihnen gespeicherten Geometrie usw. (alles in Metadatentabellen, die bei der Installation von ArcSDE erstellt wurden). Es ermöglicht Ihnen, alles zu speichern, was Sie möchten, Bilder usw., und dennoch räumliche Verweise zu haben (in SQL Server werden räumliche Daten, wenn ich mich richtig erinnere, als tpe-Bild gespeichert?). ArcSDE verwaltet die Speicherung dieser Daten. Es ist eigentlich ein gutes Tool und das alles von einem skeptischen ESRI-Benutzer.

Ich verwende derzeit ArcGIS Server mit ArcSDE und direkter Verbindung (unter Verwendung von tnsnames) auf einem Oracle 11g-Back-End und es ist großartig. Ich verstehe nicht, warum Sie SQL Server für räumliche Daten verwenden, wenn ich denke, dass es noch ziemlich unausgereift ist.


0

Sie können Vektordaten, die in SQL 2008 oder 2012 in ArcGIS gespeichert sind, bearbeiten, indem Sie die GISquirrel-Erweiterung installieren, die unter www.gisquirrel.com verfügbar ist. Diese enthält auch Tools zum Importieren von räumlichen Daten in SQL Server aus jeder Datenquelle, die in ArcMap als Layer angezeigt werden kann . Ich habe kürzlich eine Tabelle mit 90 Millionen Polygonen importiert - es hat 4 Tage gedauert, aber problemlos auf einem 2 Jahre alten Laptop funktioniert!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.