Shapefiles (.shp)
Shapefiles stellen ein von der Firma ESRI eingeführtes Format zur Speicherung von Geodaten dar, welches sich zu einem Quasi-Standard beim Austausch von digitalen geographischen Informationen entwickelt hat. Ein Shapefile beschreibt im Gegensatz zu LTG-Dateien, welche Flächen-, Linien- und Punktinformationen enthalten, nur eine separate Ebene (z.B. nur die Grenzen von Postleitgebieten). Dennoch besteht ein Shapefile nicht aus einer einzigen, sondern aus einem Bündel von Dateien, die für eine entsprechende Nutzung benötigt werden. Neben einer SHP-Datei zur Speicherung von Geometrieinformationen gehören dazu SHX- bzw. DBF-Dateien, in denen Indexinformationen für die Geometrie bzw. Sachdaten hinterlegt werden.
Einfügen von Shapefiles in easymap
Shapefiles können direkt aus dem Steuerungsfenster Kartengrundlagen auf das Kartenblatt eingefügt werden. Sofern die zu bearbeitenden Shapefiles nicht im Standardpfad der digitalen Landkarten abgelegt worden sind, muss das entsprechende Verzeichnis ausgewählt werden.
Alle Shapefiles im ausgewählten Verzeichnis werden im Steuerungsfenster Kartengrundlagen unter „Karten im SHP-Format“ aufgelistet. Um sämtliche Shapefiles im angegebenen Verzeichnis auf dem Kartenblatt einzufügen, klicken Sie auf die Überschrift oberhalb der einzelnen Shapefiles und ziehen diese mit der Maus aus dem Steuerungsfenster Kartengrundlagen auf das Kartenblatt (Drag&Drop). Die Überschrift oberhalb der einzelnen Shapefiles entspricht dem Namen des Ordners, der die Shapefiles beinhaltet (hier GK3). Zum Einfügen einer einzelnen Ebene (z.B. E-Straßen_-_Hauptnetz) markieren Sie diese per Mausklick und ziehen Sie danach per Drag&Drop aus dem Steuerungsfenster Kartengrundlagen auf das Kartenblatt. Sobald ein oder mehrere Shapefiles per Drag&Drop auf das Kartenblatt gezogen wurden, öffnet sich das Fenster Auswahl der Schlüsselspalten.
Auswahl der Schlüsselspalte
Im Gegensatz zu den im Lieferumfang enthaltenen Karten im LTG-Format, deren Schlüsselspalte vordefiniert ist, können Shapefiles mehrere Spalten mit unterschiedlichen Kennziffern oder IDs beinhalten. Aus diesen Nummern und IDs muss eine sog. Schlüsselspalte ausgewählt werden, die zur Verknüpfung von Kartengrundlage und Sachdaten genutzt werden soll. Diese Spalte muss die Eigenschaft haben, dass sie nur eindeutige Werte enthält. Spalten mit leeren Zellen oder Zahlenspalten mit Nachkommastellen sind ebenfalls keine gültigen Schlüsselspalten.
Jedes Objekt eines Shapefiles beinhaltet in der dazugehörenden Tabelle (DBF-Datei) immer mindestens eine Spalte mit dem Namen „FID“ . Die Abkürzung FID steht für Feature Identifier und stellt eine eindeutige Identifikationsnummer für jedes Objekt eines Shapefiles dar. Allerdings ist die FID in der Regel eine laufende Nummer, mit der die einzelnen Objekte durchnummeriert werden, so dass die FID nur als Notlösung in Betracht kommt, sofern keine andere Spalte die Bedingungen für eine Schlüsselspalte erfüllt. So sollten Analysen immer nur auf den aus dem Shapefile mitgelieferten Daten basieren, falls FID als Schlüsselspalte verwendet wird.
Nachdem für alle Shapefiles eine entsprechende Schlüsselspalte festgelegt wurde, werden die einzelnen Shapefiles im Kartenblatt sowie im Steuerungsfenster Inhalt angezeigt. Standardmäßig sind aber nur die Geometrien (Flächen, Linien und Punkte) sichtbar geschaltet. Die dazugehörenden Texte werden zunächst nicht angezeigt, können aber nachträglich sichtbar gemacht werden, in dem man im Steuerungsfenster Inhalt in der Checkbox ein entsprechendes Häkchen setzt.
Weitere Themen:
easymap muss eine Indexdatei (*.qix) aufbauen, um Shapefiles nutzen zu können. Wenn der Benutzer in dem Verzeichnis, aus dem das Shapefile kommt, Schreibrechte besitzt, wird die erzeugte QIX-Datei in diesem Verzeichnis abgelegt. Bei der nächsten Verwendung desselben Shapefiles wird diese wiederverwendet, was zu deutlich schnelleren Verarbeitungszeiten führt. Falls die QIX-Datei nicht gespeichert werden kann, muss sie bei jeder Verwendung des Shapefiles neu erzeugt werden, was besonders bei großen Shapefiles zu längeren Einfügezeiten führen kann. Falls keine Schreibrechte vorhanden sind und die Shapefiles häufig genutzt werden, bietet es sich an, die Dateien zu verschieben oder einmal unter einem Benutzeraccount in easymap zu verwenden, der hier Schreibrechte besitzt (z.B. Administrator).
Hinweis: Bitte bedenken Sie, dass die QIX-Dateien nicht automatisch neu generiert werden, wenn z.B. Änderungen an der SHP-Datei vorgenommen wurden. Es kann also vorkommen, dass eine SHP-Datei nicht angezeigt wird, obwohl sie korrekt zusammengesetzt ist. In einem solchen Fall, löschen Sie die vorhandene QIX-Datei und erstellen Sie mit easymap die Datei neu.
Das SHP-Format stellt in der Grundversion keine Informationen über das Koordinatensystem bereit, in dem die gespeicherten Koordinaten vorliegen. Dafür gibt es zusätzliche Projektionsdateien (PRJ) , in denen diese Informationen abgelegt werden können. Diese sind optional, jedoch stehen viele Funktionen nicht zur Verfügung, wenn die Projektionsdatei fehlt. Eine Projektionsdatei hat denselben Namen wie das Shapefile, aber die Endung *.prj.
Kartengrundlagen können nur gemeinsam in einer Karte dargestellt werden, wenn sie dasselbe oder ein sehr ähnliches Koordinatensystem verwenden. Dies kann ohne eine Projektionsdatei nicht festgestellt werden und ist daher in diesen Fällen nicht möglich. Außerdem können keine Umrechnungen in Längenangaben durchgeführt werden.
Hinweis: Sorgen Sie immer dafür, dass Sie zu den verwendeten Shapefiles auch Projektionsdateien vorliegen haben. Die Funktionalität ist ansonsten sehr eingeschränkt.
Leider gibt es für Shapefiles keinen einheitlichen Standard für die Zeichenkodierung. Diese kann nicht einmal programmseitig aus den Dateien ermittelt werden.
Wenn Sie ein Shapefile verwenden, und die Texte fehlerhaft sind (z.B. deutsche Umlaute falsch angezeigt werden, oder sogar ganze Texte nur aus kryptischen Zeichen bestehen), konnte easymap die Zeichenkodierung des Shapefiles nicht ermitteln. easymap verwendet standardmäßig den ANSI-Zeichensatz mit der aktuell im System eingestellten Codepage für das Einlesen von Shapefiles.
Um die Zeichenkodierung für ein Shapefile festlegen zu können, hat ESRI eine weitere Zusatzdatei eingeführt, das Codepage-File (CPG) . Dies ist eine Textdatei, die den gleichen Namen wie die Shapedatei trägt, aber die Endung *.CPG hat. In dieser Datei muss als einziger Text die Nummer der Codepage eingetragen werden, in der das Shapefile kodiert wurde.
Häufig verwendet werden die folgenden Codepages:
- 850: Westeuropäisch (DOS)
- 1252: Westeuropäisch (Windows)
- 1200: Unicode
- 65001: Unicode (UTF8)
Insbesondere für osteuropäische Länder werden auch folgende Codepages häufiger verwendet:
- 1250: Mitteleuropäisch (Windows)
- 1251: Kyrillisch (Windows)
- 1253: Griechisch (Windows)
- 1254: Türkisch (Windows)
Festlegen der Zeichenkodierung für ein Shapefile
easymap unterstützt Sie bei der Erstellung eines Codepage-Files zu einem bestehenden Shapefile, falls dieses fehlt und Zeichen falsch angezeigt werden. Öffnen Sie im Steuerungsfenster Kartengrundlagen mit der rechten Maustaste das Kontextmenü auf einem Shapefile und wählen Sie Codepage Für Datei „…“ festlegen. Im folgenden Dialog können Sie eine Zeichenkodierung festlegen. Nach Abschluss dieses Vorgangs erstellt easymap eine CPG-Datei. Dafür müssen Sie Schreibrechte in dem Ordner besitzen, in dem das Shapefile liegt. Sollte dies nicht der Fall sein, wenden Sie sich an Ihren Administrator.