GeoServerを使用して巨大な航空写真を表示する最良の方法は何ですか


8

私は航空写真を持っています-ほぼ1.5 GB、GeoTIFF-そしてそれをGeoServerのレイヤーとして追加しようとしています...

レイヤーの追加は成功しましたが、パフォーマンスは非常に悪かったです。

GeoWebCacheを使用してレイヤーをキャッシュしようとしましたが、パフォーマンスはまだ悪いです。

任意のヒント?

回答:


13

画像全体を同時にメモリに読み込まないように、画像をタイル表示して概要を追加する必要があります。GeoServerは、この目的のために画像ピラミッドデータストアを提供します。

私は自分のマシンでこれを設定する方法を説明するこれらのメモを書きました。重要なステップは、次のコマンドを使用して、GDALでピラミッドを構築することです。

mkdir bmpyramid
gdal_retile.py -v -r bilinear -levels 8 -ps 2048 2048 -co \
"TILED=YES" -targetDir bmpyramid \
bluemarble.tif

どこ-

  • -v:詳細な出力。ユーザーは各ファイルの作成をスクロールして確認できるため、進行状況がわかります(大きなピラミッドの構築には数時間かかる場合があります)。
  • -r bilinear:より低い解像度レベルを構築するときにバイリニア補間を使用します。これは、メモリ内で高価な補間を実行するようにGeoServerに要求せずに良好な画像品質を取得するための鍵です
  • -レベル8:ピラミッドのレベルの数
  • -ps 2048 2048:ピラミッドの各タイルは2048x2048 GeoTIFFになります
  • -co“ TILED = YES”:ピラミッドの各GeoTIFFタイルは内側にタイルされます
  • (ここでは使用しません)-co“ COMPRESS = JPEG”:ピラミッドの各GeoTIFFタイルはJPEG圧縮されます(パフォーマンスを向上させるために小さいサイズで処理します。このパラメーターなしで試してください)。
  • -targetDir bmpyramid:bmpyramidディレクトリにピラミッドを構築します。ターゲットディレクトリは存在し、空である必要があります
  • bmreduced.tiff:ソースファイル

gdal_retile.pyのユーティリティノート。


gdal_retile.pyを取得するにはどうすればよいですか(Windows XPでジオサーバーを実行しています)?
Mathboy 2012年

trac.osgeo.org/osgeo4wとクイックインストールの指示に従ってください
Ian Turton

問題が発生しました。gdal_retile.pyツールを使用してタイルを作成しましたが、レイヤーをタイルフォルダーにリンクしているときにGeoserverから次のエラーが発生しますCould not list layers for this store, an error occurred retrieving them: This plugin accepts only File, URL and String pointing to a file
Mathboy 2012年

@iant、この部分のスラッシュは-co \ "TILED=YES"、命令がコマンドウィンドウの改行にまたがることを許可していますか?
elrobis 2012年

3
また、Windowsでgdal_retileを使用して高解像度の大面積ラスターを処理する場合は、を追加することをお勧めし-useDirForEachRowます。デフォルトでは、タイルは作成するすべてのタイルを同じフォルダーに配置します。大規模なラスターの場合、ルートフォルダーに約350,000のタイルが存在すると、大幅な遅延が発生します。対照的に、-useDirForEachRow各行のタイルは、タイルルートの下の独自のフォルダーに配置します。これは、Windowsの速度が大幅に向上することを意味します。前に-useDirForEachRowフル郡の画像モザイク(6インチ)を実行するために2ヶ月必要!-useDirの後、完全なプロセスは一晩で完了します。
elrobis 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.