Als Teil einer möglichen Lösung für diese Frage möchte ich eine Ebene in GeoServer über REST erstellen, die eine SQL-Anweisung zusammen mit einer Benutzer-ID liefert.
Lesen Ich denke, ich würde einen Feature-Typ erstellen und veröffentlichen? Ich muss das alles in REST tun. Hat jemand irgendwelche Codebeispiele?
Antworten:
Mit der GeoServer REST-API können Sie viele Dinge tun, die nicht speziell dokumentiert sind und für die es keine Codebeispiele gibt. Hier ist die Strategie, um diese zu bekämpfen.
Beginnen Sie zunächst mit den Beispielen in der Dokumentation . Vergewissern Sie sich, dass Sie mit dem Erstellen einer einfachen neuen Ebene oder eines neuen Arbeitsbereichs mithilfe eines HTTP-POST mit XML oder JSON vertraut sind.
Erstellen Sie dann über die GeoServer-Benutzeroberfläche manuell das Objekt, für das keine Dokumentation vorhanden ist (in diesem Fall ein Feature-Typ).
Wechseln Sie schließlich manuell zum GeoServer REST-Index (
http://your-server/rest
oderhttp://your-server/geoserver/rest
). Durchsuchen Sie den Index, bis Sie den gerade erstellten Feature-Typ finden. Fügen Sie ".xml" oder ".json" an die URL dieser Ressource an, und Sie sehen die XML- oder JSON-Darstellung.Diese Darstellung hätten Sie zum POST benötigt, um den Feature-Typ über die API zu erstellen. Die URL der Repräsentation ist die URL, die Sie zum POSTEN benötigt hätten (zum Beispiel
http://your-server/geoserver/rest/..../myFeatureTypeName.json
).Mit dieser Strategie können Sie herausfinden, wie Sie eine Ressource in GeoServer programmgesteuert erstellen oder konfigurieren.
quelle
featuretypes
Endpunkt des Ladens, zBgeoserver/rest/workspaces/<workspacename>/datastores/<storename>/featuretypes/
Ich weiß, dass dies eine alte Frage ist, aber nur für den Fall, dass jemand anders verwirrt ist, wie ich es war. Der wichtige Teil ist, dass Sie keine Ebene vom Endpunkt http: // geoserver / rest / levels erstellen können .
Wenn Sie eine Vektorebene hinzufügen möchten, erfolgt dies über die Feature-Typ-Ressource:
http://docs.geoserver.org/stable/en/user/rest/api/featuretypes.html
EIN POST an:
Wo befindet sich der Arbeitsbereich, in dem der Feature-Typ gespeichert werden soll? Die zu verwendende Datenquelle erstellt einen neuen Vektor-Feature-Typ, dh einen Layer.
Wenn Sie sich fragen, was Sie POST können, ist @Rohan richtig. Die einfachste Möglichkeit besteht darin, einen vorhandenen Feature-Typ abzufragen, dh einen http-GET-Wert für
Dadurch wird ein vorhandener Feature-Typ als json zurückgegeben.
quelle
Ihre beste Referenz finden Sie in der Bedienungsanleitung. http://docs.geoserver.org/stable/en/user/rest/examples/index.html
quelle
Wenn Sie Java verstehen, sollten Sie sich diesen einfachen Code ansehen , der mit REST alle Arten von Operationen auf GeoServer ausführt.
quelle
Um eine Ebene hinzuzufügen, müssen ein Datenspeicher und ein Funktionstyp definiert werden. Vorausgesetzt, sie sind bereits zusammen mit einem Stil definiert (wie in der Anleitung unter http://boundlessgeo.com/2012/10/adding-layers-to-geoserver- using- the-rest- api/ beschrieben) , um eine Ebene einem PUT hinzuzufügen Anfrage muss an geoserver gesendet werden unter:
Mit einem Dateninhalt wie:
quelle