Importieren von KML- und Stilinformationen in Geoserver

9

Ich arbeite an einem Projekt, das seit über einem Jahr in der Entwicklung ist, aber ich habe mich erst kürzlich engagiert. Meine Aufgabe besteht darin, ungefähr 2.500 KML-Dateien in ein anderes Format zu konvertieren, diese Dateien in einen Geoserver zu importieren und dann die zugehörigen Stilinformationen für jede Datei zu kopieren. Mir ist klar, dass Sie mit Geoserver KML-Dateien direkt importieren können. Unsere Dateien scheinen jedoch nie korrekt zu rendern, und mein Chef möchte aus philosophischen Gründen vom KML-Format abweichen.

Mit ogr2ogr habe ich versucht, diese Dateien in ESRI-Shapefiles zu konvertieren. Der Konvertierungsprozess hat jedoch nur ungefähr ein Drittel der Dateien bearbeitet und einige der in den Stilinformationen geforderten Metadaten gelöscht. Die Dateien, die keinen Code für Polygone und Punkte konvertiert haben, die ich gelesen habe, können für andere Programme wie QGIS ein Fehler sein.

Ich habe auch versucht, alle KML-Dateien in eine PostGIS-Datenbank zu stellen und sie so zu konvertieren. Dies scheint jedoch alle Daten zu löschen und im Wesentlichen leere Tabellen für den Import zu hinterlassen.

TL; DR Ich muss einen Weg finden, 2.500 KML-Dateien in ein von Geoserver verwendbares Format zu konvertieren, und werde mit Informationen im XML-Stil arbeiten. Ich bin ein kompletter GIS-Neuling und dies ist mein erstes Posting. Es tut mir leid, wenn dies ein bisschen lächerlich erscheint.

Jakob
quelle
Ist der Stil im Wesentlichen für alle KML-Dateien gleich oder sind sie alle völlig unterschiedlich? In ersterem Fall können Sie möglicherweise einfach eine Stildatei (oder eine Reihe von Dateien) für GeoServer übergeben, die SLD (ein XML-basiertes Format) verwendet.
nmtoken
Dies in Bezug auf das Importieren von kml und Stilinformationen in Geoserver
GeoStoneMarten
Ich weiß nicht, wo ich diese Frage stellen kann, aber ich bin sicher, dass Sie meine Antwort kennen. Ist hier trotzdem KML als neue Datenquelle auf GeoServer hochzuladen? @samane
Mostafa Fallah

Antworten:

1

In GeoServer sind Daten und Stil getrennt, es gibt keine Möglichkeit, sie zu mischen. Sie können ein SLD automatisch generieren. Bisher weiß ich nicht, ob es einen Konverter für den kml-Stil zum Geoserver-Stil gibt.

GeoStoneMarten
quelle
1

Erstens sind Geoserver-Stil (SLD) und Daten (KML) völlig unterschiedlich. Importieren Sie die KML-Datei in Geoserver und später, erstellen Sie eine SLD-Datei im Stileditor oder erstellen Sie einen Stil im Viewer (wie Mapfishapp) und speichern Sie anschließend die .sld-Datei, um die sld einfach ohne Schreiben in XML zu erhalten (schwieriger zu realisierende Klassifizierung oder anderer spezifischer Stil, wenn ein System dies leicht erkennt).

Später habe ich KML-Dateien verwendet, um GIS-Daten zu speichern, und die ganze Zeit habe ich Attribute verloren (= Daten verloren). KML behält nur Geometrieinformationen bei. Es ist besser, Ihre nativen Daten in einem anderen Format zu speichern (CSV-Attribut keep) oder einfach eine Datentabelle zu erstellen und anschließend die geografischen Informationen anzugeben oder eine Ebene direkt zu erstellen. (Shapefile, Csv ...).

Ich hoffe ich helfe dir ...

Gaetan
quelle
1

Die zusätzlichen Informationen in der kml-Datei, die Sie verwenden möchten und die Sie als "Metadaten" bezeichnen, können sich im KML-Jargon befinden:

  1. Stile und Stilkarten
  2. ExtendedData
  3. Benutzerdefinierte Informationen im Feld Beschreibung einer Ortsmarke, normalerweise in Form von HTML-Tabellen

Da jede kml-Datei eine ASCII-Datei ist, kann sie über ein Textverarbeitungsskript verarbeitet werden. Nach meinem Verständnis muss für jeden Objekttyp, den Sie in Geoserver präsentieren und formatieren möchten, eine separate "Ebene" erstellt werden. Dies bedeutet, dass Sie aus jeder kml-Datei abhängig von Ihrer Klassifizierung der Objekttypen mehrere Dateien erhalten.

Keine einfache Aufgabe für Standardwerkzeuge. Wenn alle 2.500 kml-Dateien mit derselben Anwendung erstellt werden, haben sie hoffentlich dieselbe Struktur. In diesem Fall benötigen Sie eine detaillierte Analyse dieser Struktur und viele benutzerdefinierte Skripte.

user73203
quelle
1

Öffnen Sie die kml und schauen Sie hinein. Es hört sich so an, als ob Sie nur die Daten wollen, da die anderen Poster vorgeschlagen haben, dass die Stile nicht auf den Karten sind. Ihr Problem ist also die Konvertierung aller Dateien, bei denen es sich im Wesentlichen nur um Textdateien handelt. Lernen Sie etwas Python

Hacken Sie dann so etwas in Form: https://gist.github.com/linwoodc3/0306734dfe17076dfd34e09660c198c0

Keith
quelle