ESRI(r) ShapeFile

Ermöglicht den Zugriff auf Dateien gemäß der ESRI© Shapefile Spezifikation.

Abfragen mittels GeoSQL sind möglich.

Es werden alle Geometrietypen mit Ausnahme von ShapeTypeMultiPatch unterstützt.

Argumente

Typname: shapeFile

  • fileName: Der Name der Datei, absolut oder relativ, mit oder ohne Dateierweiterung

  • epsgCode (-1): Epsg-Code der Daten, wenn nicht definiert, dann wird eine automatische Ermittlung aus der Bounding-Box versucht

  • style|cssFile: hier immer vom Typ Vektor CSS.

  • geomColumnName (ShapeGeometry): Name, wie die Geometrie-Spalte benannt werden soll.

Ladevorgang

Beim Laden werden die .shp, die .shx und die .dbf Dateien geöffnet und deren Header werden ausgewertet.

Die Attribut-Spalten ergeben sich aus der dbf Datei, doppelte Spaltennamen werden eindeutig gemacht. Zusätzlich werden immer die internen Spalten:

  • ShapeRowId (Zeilennummer)
  • ShapeGeometry (Geometrie)

angefügt und stehen neben den in der DBF definierten für Abfragen und nat. Kartendarstellung zur Verfügung.

Beispiel

{
"anyShape": {
    "type": "Shapefile",
    "fileName": "d:\\temp\\bsp.shp"
  }
}

Implementierungsdetails

Im Hauptspeicher werden die Informationen zum Index jedes Shape-Records vorgehalten. Die beteiligten Dateien werden nach dem Initialisierungsvorgang wieder geschlossen und bei jedem Datenabruf neu geöffnet.

Eine "Shapedatei" besteht mindestens aus 3 Dateien, die Namen sind dabei identisch und unterscheiden sich in der Dateierweiterung. Vorhanden sein muss:

  • .shp
  • .dbf
  • .shx

Bei der Länge des Dateinamen gibt es keine Einschränkungen. Beim Ladevorgang wird das letzte Dateidatum der shp, shx und dbf gemerkt. Bei folgenden Aufrufen wird dieser erneut ermittelt und bei einer Abweichung eine Fehler gemeldet, die Ebene muss dann neu geladen werden.

Bekannte Einschränkungen:

  • das Geometrieformat ShapeTypeMultiPatch wird nicht unterstützt
  • die .cpg-Datei (CodePage) der DBF Dateien wird nicht ausgewertet (Umsetzung geplant)
  • die .prj-Datei wird nicht ausgewertet
  • keine Links und Memo-Dateien der DBF

Zuletzt geändert: 08.04.2021 11:42:03 (erstmals erstellt 26.03.2017)