Aggiornamento dell'indice PostGIS di GeoServer ImageMosaic


11

Uso GeoServer dove ho creato un archivio ImageMosaic seguendo questo manuale . Quando creo un nuovo archivio dati, tutti i *.tiffile vengono indicizzati nel DB (PostgreSQL con PostGIS). Come posso creare una nuova voce di indice nel DB, quando inserisco un nuovo geotiff nella mia cartella di dati o reindicizzo tutti i file di geotiff nel DB?

I miei file di configurazione:

datastore.properties:

SPI=org.geotools.data.postgis.PostgisNGDataStoreFactory
host=localhost
port=5432
database=GeoServerRaster
schema=public
user=geoserver
passwd=*******
Loose\ bbox=true
Estimated\ extends=false
validate\ connections=true
Connection\ timeout=10
preparedStatements=true

indexer.properties:

Caching=false
TimeAttribute=ingestion
ElevationAttribute=elevation
Schema=*the_geom:Polygon,location:String,ingestion:java.util.Date,elevation:Integer
PropertyCollectors=TimestampFileNameExtractorSPI[timeregex](ingestion),DoubleFileNameExtractorSPI[elevationregex](elevation)

timeregex.properties:

regex=[0-9]{8}T[0-9]{6}Z(\?!.\*[0-9]{8}T[0-9]{6}Z.\*)

elevationregex.properties:

regex=(?<=_)(\\d{1,5})(?=_)

file nella directory:

tc_10000_20140807T033115Z.tif
tc_10000_20140807T040046Z.tif
tc_10000_20140807T043115Z.tif
...

Risposte:


5

IMHO il modo migliore per farlo è tramite REST con il curlcomando.

Per reindicizzare l'intero ImageMosaic esistente, utilizzare qualcosa come il seguente comando (ricordarsi di impostare il nome utente, la password, il nome dell'area di lavoro, il nome del negozio ImageMosaic e il percorso della directory granules corretti):

curl -v -u username:password -XPOST -H "Content-type: text/plain" \
 -d "file:///path/to/your/image/mosaic/directory/" \
 "http://localhost:8080/geoserver/rest/workspaces/YOUR_WORKSPACE/coveragestores/YOUR_IMAGEMOSAIC_STORE/external.imagemosaic"

Ciò eliminerà tutti i granuli dall'indice corrente e quindi aggiungerà i file esistenti uno per uno. Richiede molto tempo.

Preferisco aggiungere un singolo granulo (ovvero 1 file raster):

curl -v -u username:password -XPOST -H "Content-type: text/plain" \
 -d "file:///path/to/your/image/mosaic/directory/and/your/granule.tiff" \
 "http://localhost:8080/geoserver/rest/workspaces/YOUR_WORKSPACE/coveragestores/YOUR_IMAGEMOSAIC_STORE/external.imagemosaic"

Entrambi gli esempi presuppongono che i file raster siano già presenti nella posizione specificata (specificata da external.imagemosaicalla fine dell'URL).

Altri esempi sono nei documenti GeoServer .


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.