GeoServer ImageMosaic PostGIS endeksi güncellemesi


11

GeoServer'ı, bu kılavuzu izleyerek bir ImageMosaic depolama alanı oluşturduğum yerde kullanıyorum . Yeni bir veri deposu oluşturduğumda, tüm *.tifdosyalar DB'ye (PostGIS ile PostgreSQL) endekslenir. Veri klasörüne yeni geotiff koyduğumda veya DB'deki tüm geotiff dosyalarını yeniden dizine eklediğimde, DB'de nasıl yeni dizin girişi oluşturabilirim?

Yapılandırma dosyalarım:

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})(?=_)

dizindeki dosyalar:

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

Yanıtlar:


5

IMHO bunu yapmanın en iyi yolu curlkomut ile REST üzerinden .

Varolan ImageMosaic'ın tamamını yeniden dizine eklemek için aşağıdaki komut gibi bir şey kullanın (doğru kullanıcı adını, parolayı, çalışma alanı adını, ImageMosaic mağaza adını ve granül dizinin yolunu ayarlamayı unutmayın):

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"

Bu işlem, geçerli dizindeki tüm granülleri silecek ve mevcut dosyaları tek tek ekleyecektir. Çok zaman alıcı.

Tek bir granül eklemeyi tercih ederim (yani 1 raster dosyası):

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"

Her iki örnekte, tarama dosyalarının belirtilen konumda ( external.imagemosaicURL'nin sonunda belirtilen) zaten var olduğu varsayılmaktadır .

Daha fazla örnek GeoServer belgelerinde verilmiştir .


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.