Ich habe ein Verzeichnis mit Rasterbildern, das ständig aktualisiert wird. Aus diesen Bildern erstelle ich Image Pyramids mit dem Geotool-Dienstprogramm PyramidBuilder. Ich muss einen Cron-Job einrichten, um Geoserver automatisch Raster-Datenspeicher und Layer hinzuzufügen, ohne die Benutzeroberfläche zu verwenden.
Nachdem ich mir den REST-Abschnitt des Geoserver- Handbuchs angesehen hatte, konnte ich meinen Arbeitsbereich "testWS" hinzufügen, aber der Versuch, einen ImagePyramid-Datenspeicher zu erstellen, funktionierte nicht.
Da ich Zugriff auf den Datenspeicher habe, habe ich das Shapefile-Beispiel erweitert und es versucht
curl -u admin:geoserver -XPUT -H 'Content-type: text/plain' \
-d '/opt/geoserver_data_dir/2.0.2/data/test_pyramid.pyr' \
"http://localhost:8080/geoserver/rest/workspaces/testWS/datastores/test_pyramid.pyr/external.imagepyramid?configure=all"
Wobei test_pyramid.pyr die Basis meiner ImagePyramide an dieser Stelle ist.
Dies gab mir einen Fehler "Kein solcher Datenspeicher: test_pyramid"
Gibt es eine bessere Möglichkeit, Geoserver einen neuen Datenspeicher und einen neuen Layer hinzuzufügen, ohne jeden manuell über die Benutzeroberfläche hinzufügen zu müssen? Ich benötige Hilfe beim Erstellen der richtigen REST-Anweisung, mit der eine vorhandene ImagePyramid als Datenspeicher und Ebene hinzugefügt wird.
Gibt es Java-Code, der dies tun könnte? Ich habe mir die Geoserver-Python-Erweiterungen angesehen, aber diese hatten sie auch nicht.
Antworten:
Sie können einen Arbeitsbereich, einen Datenspeicher und einen Layer (Coveragestore) für ein GeoTiff mit Curl und XML von außerhalb der Benutzeroberfläche wie folgt erstellen:
Erstellen Sie den Arbeitsbereich.
Erstellen Sie dann den Datenspeicher.
Dann erstelle die Ebene.
Anschließend haben Sie einen Datenspeicher, der auf das externe Image 'image_wgs84.tif' verweist, und eine WMS-Ebene, in der die Abdeckung angezeigt wird.
Was ich nicht weiß, ist, ob diese Technik direkt in eine Technik zum Erstellen eines Datenspeichers vom Typ einer Bildpyramide übersetzt wird oder nicht.
Viel Glück.
quelle
?recalculate=nativebbox
, dass der native Begrenzungsrahmen neu berechnet wird, wenn die Projektion oder die Projektionsrichtlinie geändert wird. Siehe docs.geoserver.org/stable/en/user/rest/api/…Sie benötigen ein Coverage-Geschäft und Coverages.
Die Datenspeicher, die Sie zu verwenden versucht haben, sind nur für Vektordaten.
Haben Sie überprüft, wie Curl zum Hochladen von Coverage über den Geoserver Rest verwendet wird?
quelle