ArcGIS und räumliche Datentypen von Microsoft

Geodatabases unterstützen das Speichern von Vektordaten mithilfe der Microsoft-Datentypen "geometry" und "geography". Diese Typen sind in SQL Server verfügbar und erfordern keine separate Installation. Verwenden Sie diese Datentypen, wenn Sie mit SQL auf Ihre räumlichen Daten zugreifen möchten.

Der Microsoft-Datentyp "geometry" ähnelt vorhandenen räumlichen GIS-Datentypen: Er verwendet Koordinaten in einer beliebigen Ebene, z. B. definierte Projektionen.

Der Microsoft-Datentyp "geography" wird für Daten auf einem Sphäroid verwendet, die mit Breitengrad- und Längengradkoordinaten gespeichert werden.

Die beiden Typen unterscheiden sich hinsichtlich der verwendeten Methode für räumliche Berechnungen. Weitere Informationen zu den räumlichen Datentypen von Microsoft finden Sie in der SQL Server-Dokumentation.

Verwenden von Konfigurationsschlüsselwörtern zum Angeben räumlicher Datentypen von Microsoft

Standardmäßig verwenden Geodatabases in SQL Server den Microsoft Geometry-Typ. Wenn Sie den Microsoft Geography-Typ zur Speicherung in Geodatabases in Standort-SQL Server-Datenbanken verwenden möchten, müssen Sie entweder (1) den Parameter GEOMETRY_STORAGE unterhalb des Konfigurationsschlüsselworts DEFAULTS in der Tabelle "SDE_dbtune" in GEOGRAPHY ändern oder (2) beim Erstellen von Feature-Classes ein Konfigurationsschlüsselwort angeben, das für den Parameter GEOMETRY_STORAGE den Wert GEOGRAPHY festlegt.

Sie sollten nur den Parameter GEOMETRY_STORAGE unter dem Schlüsselwort DEFAULTS ändern, wenn die Mehrzahl der Benutzer zumeist Geography für ihre Daten verwendet. Falls nur einige der Daten im Geography-Typ gespeichert werden, legen Sie ein separates Schlüsselwort fest, wenn die Feature-Class erstellt wird. Ein Schlüsselwort wird bereitgestellt: GEOGRAPHY. Alternativ können Sie jedoch auch ein eigenes benutzerdefiniertes Schlüsselwort erstellen.

Registrieren einer vorhandenen räumlichen Tabelle in der Geodatabase

Wenn Sie mit einer Anwendung eines Drittanbieters oder SQL Tabellen erstellt haben, die die Microsoft-Spalten "geometry" oder "geography" enthalten, können Sie diese Tabellen in der Geodatabase registrieren, um die Geodatabase-Funktionalität nutzen zu können, wie z. B. Beziehungsklassen, Topologie, geometrische Netze, Cadastral Fabrics, Terrains oder Schemas, oder um Subtypes, Standardwerte, Domänen oder Validierungsregeln verwenden zu können. Hierzu müssen die Tabellen bestimmte Voraussetzungen erfüllen:

Informationen zum Registrieren der Tabelle in der Geodatabase mit ArcGIS for Desktop finden Sie unter Registrieren einer Tabelle in der Geodatabase.

Erstellen eines räumlichen Indexes

SQL Server erfordert einen Primärschlüssel für die Tabelle, damit ein räumlicher Index erstellt werden kann.

...in ArcGIS

Wenn Sie mit ArcGIS eine Feature-Class mit einer Geometry- oder einer Geography-Spalte erstellen, erstellt ArcGIS standardmäßig über die Zeilenspalte-ID (ObjectID) der Business-Tabelle einen gruppierten Primärschlüssel. Danach erstellt es auf Grundlage des Werte-Satzes für den Parameter B_MS_SPINDEX des Konfigurationsschlüsselworts in der Tabelle "SDE_dbtune", die beim Erstellen der Feature-Class verwendet wurde, einen räumlichen Index. Wenn die Feature-Class als versioniert registriert ist, wird ein gruppierter Primärschlüssel für die Zeilen-ID- und Status-ID-Spalte der Adds-Tabelle erstellt. Der räumliche Index wird dann basierend auf den Werten für den Parameter A_MS_SPINDEX im Konfigurationsschlüsselwort erstellt, die beim Erstellen der Feature-Class verwendet wurden. Der Standardwert für beide Parameter lautet wie folgt:

GRIDS = (MEDIUM, MEDIUM, MEDIUM, MEDIUM), CELLS_PER_OBJECT = 16

Weitere Informationen zum Festlegen von Werten in der Tabelle "SDE_dbtune" finden Sie unter Ändern des Inhalts der DBTUNE-Tabelle.

Wenn Sie in ArcGIS eine Feature-Class mit einer räumlichen Geometry- oder Geography-Spalte erstellen, wird das umgebende Rechteck der Feature-Class außerdem als Ausdehnung der zu indizierenden Daten berechnet. Alle Features außerhalb dieses Bereichs werden nicht indiziert. Sie werden jedoch weiterhin in räumlichen Abfragen zurückgegeben. Wenn die Feature-Class-Ausdehnung nicht festgelegt wird, wird der maximale Koordinatenbereich für das Raumbezugssystem der Feature-Class als umgebendes Rechteck verwendet. Jedes Mal, wenn der Layer vom Nur-Lade-E/A-Modus in den normalen E/A-Modus wechselt, wird das umgebende Rechteck basierend auf der aktuellen Ausdehnung angepasst. Alternativ können Sie eine Feature-Class-Ausdehnung auch über die Registerkarte Feature-Ausdehnung des Dialogfeldes Eigenschaften: Feature-Class festlegen oder neu berechnen.

... außerhalb von ArcGIS

Für räumliche Tabellen, die außerhalb von ArcGIS erstellt wurden, z. B. mit SQL, müssen Sie in der Tabelle einen Primärschlüssel und mit SQL einen räumlichen Index erstellen. Nachfolgend ist die SQL-Syntax zum Erstellen eines räumlichen Indexes für eine Tabelle dargestellt, die eine Geometry- oder Geography-Spalte enthält:

CREATE SPATIAL INDEX <index_name>
ON <table> (<spatial column>)
USING GEOMETRY_GRID
WITH (
BOUNDING_BOX = minx,miny,maxx,maxy),
GRIDS = (low|medium|high, low|medium|high, low|medium|high, low|medium|high), 
CELLS_PER_OBJECT = n,
<other regular btree index options like filegroups, fill factors, etc>
)

Bekannte Einschränkungen bei der Verwendung von SQL Server Geography mit einer Enterprise-Geodatabase

Nachfolgend finden Sie eine Liste von Aspekten, die Sie beachten müssen, wenn Sie SQL Server Geography-Daten in der Enterprise-Geodatabase als SQL_GEORASTER speichern.

9/11/2013