GeoServer ImageMosaic PostGISインデックスの更新


11

このマニュアルに従って、ImageMosaicストレージを作成したGeoServerを使用します。新しいデータストアを作成すると、すべての*.tifファイルがDBにインデックス付けされます(PostGISを使用したPostgreSQL)。データフォルダに新しいジオティフを配置するとき、またはDB内のすべてのジオティフファイルのインデックスを再作成するときに、DBに新しいインデックスエントリを作成するにはどうすればよいですか?

私の設定ファイル:

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.\*)

elevregex.properties:

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

ディレクトリ内のファイル:

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

回答:


5

それを行う最良の方法は、curlコマンドでRESTを使用することです。

既存のImageMosaic全体のインデックスを再作成するには、次のコマンドのようなものを使用します(正しいユーザー名、パスワード、ワークスペース名、ImageMosaicストア名、およびgranuleディレクトリへのパスを設定することを忘れないでください):

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"

これにより、現在のインデックスからすべてのグラニュルが削除され、既存のファイルが1つずつ追加されます。非常に時間がかかります。

単一のグラニュール(1ラスターファイル)を追加することを好みます:

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"

どちらの例も、ラスターファイルが指定された場所(external.imagemosaicURLの最後に指定された場所)に既に存在することを前提としています。

その他の例はGeoServerのドキュメントにあります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.