Überlegungen zur Geoverarbeitung für die Shapefile-Ausgabe

Esri hat im Laufe der Jahre drei Hauptdatenformate zum Speichern von geographischen Informationen entwickelt: Coverages, Shapefiles und Geodatabases. Shapefiles wurden entwickelt, um ein einfaches Format zum Speichern von geographischen Informationen und Attributinformationen bereitzustellen. Aufgrund ihrer Einfachheit sind Shapefiles ein äußerst beliebtes offenes Format für die Datenübertragung. Die Entscheidung für Shapefiles ist zwar aufgrund ihrer Einfachheit scheinbar nahe liegend, jedoch sind ihre Verwendungsmöglichkeiten eingeschränkt. Dieses Problem wird durch Geodatabases gelöst. Wenn Sie Shapefiles verwenden, sollten Sie ihre Einschränkungen kennen. Diese werden nachfolgend grob erläutert:

Aufgrund dieser (und weiterer) Probleme sind Shapefiles nicht für die aktive Datenbankverwaltung zu empfehlen. Sie sind nicht für den inzwischen allgemein üblichen Lebenszyklus der Erstellung, Bearbeitung, Versionierung und Archivierung der Daten geeignet.

Wann sollten Shapefiles verwendet werden?

Wann sollten keine Shapefiles verwendet werden?

Von einigen unten genannten Ausnahmen abgesehen, können Shapefiles zum Speichern von Simple-Feature-Geometrie verwendet werden. Jedoch eignen sich Shapefiles nicht für Attribute. Beispielsweise können Shapefiles keine NULL-Werte speichern, Zahlen werden in Shapefiles gerundet, Unicode-Zeichenfolgen werden unzureichend unterstützt, die Länge von Feldnamen ist auf 10 Zeichen begrenzt, und Datum und Uhrzeit können nicht gemeinsam in einem Feld gespeichert werden. Dies sind nur die wichtigsten Probleme. Außerdem werden Funktionen in Geodatabases, z. B. Domänen und Subtypes, von Shapefiles nicht unterstützt. Sie sollten daher Shapefiles nur verwenden, wenn lediglich äußerst einfache Attribute vorhanden und keine Geodatabase-Funktionen erforderlich sind.

Shapefile-Komponenten und -Dateierweiterungen

Shapefiles werden in drei oder mehr Dateien gespeichert, die über dasselbe Präfix verfügen und in demselben Systemordner (Shapefile-Workspace) gespeichert werden. Die einzelnen Dateien sind sichtbar, wenn Sie den Ordner in Windows Explorer (nicht in ArcCatalog) anzeigen.

Erweiterung

Beschreibung

Erforderlich?

.shp

Die Hauptdatei, in der die Feature-Geometrie gespeichert wird. In dieser Datei werden keine Attribute gespeichert, sondern nur die Geometrie.

Ja

.shx

Eine Begleitdatei zu der .shp-Datei, in der die Positionen einzelner Feature-IDs in der .shp-Datei gespeichert werden.

Ja

.dbf

Die dBASE-Tabelle, in der die Attributinformationen von Features gespeichert werden.

Ja

.sbn und .sbx

Dateien, in denen der räumliche Index der Features gespeichert wird.

Nein

.atx

Wird für jeden in ArcCatalog erstellten dBASE-Attributindex erstellt.

Nein

.ixs und .mxs

Geokodierungsindex für Shapefiles mit Lese-/Schreibzugriff.

Nein

.prj

Die Datei, in der die Koordinatensysteminformationen gespeichert werden.

Nein

.xml

Metadaten für ArcGIS; dient dem Speichern von Informationen über das Shapefile.

Nein

Shapefile-Dateierweiterungen

Geometrieeinschränkungen

Attributeinschränkungen

NULL-Wert-Darstellung

NULL-Werte werden in Shapefiles nicht unterstützt. Wenn eine Feature-Class, die NULL-Werte enthält, in ein Shapefile konvertiert wird oder eine Datenbanktabelle in eine dBASE-Datei konvertiert wird, werden die NULL-Werte wie in der folgenden Tabelle beschrieben geändert:

AchtungAchtung:

Bei der Verwendung von Shapefiles oder dBASE-Dateien (.dbf) als Eingabe für Werkzeuge kann ArcGIS nicht bestimmen, ob ein Feldwert einen NULL-Wert oder einen gültigen Wert darstellt.

Datentyp mit NULL-Wert

NULL-Wert-Ersetzung

Zahl – Wenn das Werkzeug die Ausgabe von NULL, unendlich oder NaN (Not a Number, keine Zahl) erfordert

-1.7976931348623158e+308 (IEEE-Standard für den maximalen negativen Wert)

Zahl (alle anderen Geoverarbeitungswerkzeuge)

0

Text

" " (leer – kein Leerzeichen)

Datum

Wird als 0 gespeichert, jedoch als <NULL> angezeigt

NULL-Wert-Ersetzung in Shapefiles und dBASE-Dateien (.dbf)

Nicht unterstützte Funktionen

Shapefiles verfügen über keine erweiterten Datentypen auf Workspace- oder Feature-Class-Ebene. Bei jeder Konvertierung einer Geodatabase-Feature-Class oder eines anderen Formats in ein Shapefile gehen folgende Elemente verloren:

Shape-Länge und Shape-Fläche

Für Line- oder Polygon-Feature-Classes, die in einer Geodatabase gespeichert sind, werden die Felder shape_length und shape_area von ArcGIS berechnet und verwaltet, d. h., wenn Sie die Form einer Linie oder eines Polygons in einer Geodatabase-Feature-Class bearbeiten, werden die Werte in den Feldern shape_length und shape_area neu berechnet, um die an den Features vorgenommenen Änderungen zu übernehmen. Dies gilt nicht für Shapefiles. Auch wenn das Shapefile über ein shape_area- oder shape_leng-Feld verfügt, wird es nicht aktualisiert, wenn Änderungen an dem Shapefile durchgeführt werden.

Shapefiles und Geoverarbeitung

Jedes Geoverarbeitungswerkzeug, das eine Feature-Class ausgibt, ermöglicht Ihnen die Auswahl eines Shapefiles oder einer Geodatabase-Feature-Class als Ausgabeformat. Entsprechend ermöglicht Ihnen ein Werkzeug, das eine Tabelle ausgibt, die Auswahl einer dBASE-Datei (.dbf) oder einer Geodatabase-Tabelle als Ausgabe. Sie sollten das Format immer mit Bedacht auswählen und die Folgen der Konvertierung einer Geodatabase-Eingabe in eine Shapefile-Ausgabe berücksichtigen.

Geoverarbeitungswerkzeuge generieren automatisch eine Ausgabe-Feature-Class oder Ausgabetabelle. Diese automatisch generierte Ausgabe basiert auf einer Reihe von Faktoren, wie in Verwenden der Umgebungseinstellungen "Aktueller Workspace" und "Scratch-Workspace" beschrieben. Wenn die Umgebungseinstellung für den Scratch-Workspace auf einen Systemordner und nicht auf eine Geodatabase festgelegt ist, handelt es sich bei der automatisch generierten Ausgabe-Feature-Class um ein Shapefile oder eine dBASE-Datei (siehe Abbildung unten).

Shapefile und dBASE-Ausgabe

Sie sollten den Scratch-Workspace auf eine File-Geodatabase festlegen, sodass die automatisch generierte Ausgabe in eine File-Geodatabase und nicht in ein Shapefile oder eine DBF-Tabelle geschrieben wird.

Weitere Informationen zu Geoverarbeitungsumgebungen

Da das Schreiben in Shapefiles schnell erfolgt, werden sie häufig zum Schreiben von Zwischendaten in Modellen verwendet, weil dies die Modellausführung beschleunigt. Das Schreiben in eine File-Geodatabase erfolgt jedoch fast genauso schnell wie das Schreiben in ein Shapefile. Wenn die Geschwindigkeit nicht von ausschlaggebender Bedeutung ist, sollten Sie daher für Zwischen- und Ausgabedaten immer eine File-Geodatabase verwenden. Wenn Sie dennoch Shapefiles verwenden, beachten Sie die oben beschriebenen Einschränkungen, und verwenden Sie Shapefiles nur für Simple Features und Attribute. Eine Alternative zur Verwendung von Shapefiles für Zwischendaten ist das Schreiben von Features in den In-Memory-Workspace.

Weitere Informationen zum In-Memory-Workspace

Raumbezug und Shapefiles

Im Thema Raumbezug und Geoverarbeitung wird die Bedeutung von Raumbezugseigenschaften bei Verwendung von Geoverarbeitungswerkzeugen erläutert. Es gibt eine Reihe von Geoverarbeitungsumgebungen, die den von Werkzeugen verwendeten Raumbezug steuern. Die folgenden Umgebungen werden nicht berücksichtigt, wenn die Ausgabe eines Werkzeugs ein Shapefile ist:

5/9/2014