Mehr

SQL Server-Geometrie vs. Geografie im Esri-Kartendienst


Wir haben eine SQL Server 2008R2-Datenbank, in der Punktkoordinaten als Dezimalgrad gespeichert werden.
Ich möchte einen Esri-Kartenservice erstellen, der diese Punkte anzeigt.

Da die Punktdaten dynamisch sind, habe ich mich entschieden, den Abfrage-Layer für die Tabelle mit Koordinaten zu verwenden und Koordinaten im laufenden Betrieb in den räumlichen SQL Server-Typ zu konvertieren.

Ich habe beide Raumtypen getestet -GeometrieundErdkundeund beide ermöglichen die Anzeige von Punkten in ArcMap. Beide Typen verwenden das WGS84-Koordinatensystem, da die Koordinaten Längen- und Breitengrad sind, der Kartendienst jedoch in Web Mercator (3857) verfügbar ist.

Welcher Typ des räumlichen SQL Server-Typs sollte bevorzugt werden, um Längen- und Breitengrad im Esri Kartendienst im Handumdrehen anzuzeigen?


Die einzige Möglichkeit, Lat/Lon-Spalten im Handumdrehen in Geometrie umzuwandeln, besteht darin, eine Ansicht Ihrer Tabelle zu erstellen und Erstellen Sie eine Geometriespalte mit STGeomFromText (latColumn, lonColumn, SRID). Hier gibt es einen Artikel, der beschreibt, wie das geht. In Ihrem Fall würden Sie die Ansicht in der von mir unten beschriebenen Methode veröffentlichen…

Ich veröffentliche Ansichten von SQL Spatial-Tabellen (Geometrie bereits erstellt), die verbunden sind, um "Pseudo-Feature-Klassen" zu erstellen, die ich in ArcMap einbringe und dann in ArcGIS Server veröffentliche.

Die Ansicht führt mithilfe einer Union-Funktion zwei Tabellen zusammen und fügt dann eine OBJECTID-Spalte hinzu (mithilfe einer RowNum-Funktion).

Die zugrunde liegenden räumlichen Daten sind vom Geometrietyp und werden in einem projizierten Koordinatensystem der State Plane Colorado Central (SRID:2877) gespeichert.

Ich verwende das MXD, um diese Punkte im Handumdrehen auf Web Mercator zu projizieren. (Ich verwende keinen Abfrage-Layer, sondern füge sie wie eine Feature-Class aus der SDE-Verbindung zu derselben SQL-Server-Datenbank hinzu – ArcMap interpretiert sie dann als Abfrage-Layer.)

Anschließend veröffentliche ich diese MXDs auf ArcGIS Server, als ob es sich um Standard-SDE-Layer handelte.

Ich hatte keine Probleme beim Anzeigen oder Abfragen dieser Datensätze.


Schau das Video: SQL 2008 Series:Geography And Geometry Datatype (Oktober 2021).