GeoWebCache:タイルの調整不良


9

Windows Server 2008でPostGIS / Geoserver / OpenLayersスタックに基づいてシンプルなWebマップをテストしようとしています。

次の方法でWMSレイヤーをロードすると、

var gwctest = new OpenLayers.Layer.WMS(
    "gwctest",
    "http://localhost:1979/geoserver/wms",
    {
    'layers': 'Index2000:index_vect_s100',
    'format': 'image/png',
    'srs': 'EPSG:3857', 
    'units': 'm',
    'transparent': true
    },
    {'opacity': 0.8, 'isBaseLayer': false, 'visibility': false}

);

すべて問題ないようです。

代替テキスト

ただし、GeoWebCacheを使用してマップにWMSレイヤーを追加しようとすると、

"http://localhost:1979/geoserver/wms"

と:

"http://localhost:1979/geoserver/gwc/service/wms"

データが正しい位置から突然移動します。

代替テキスト

原因は何ですか?

編集:GWCメーリングリストの投稿に関する追加情報。


1
データムシフトの問題のようです。wmsが再投影されている場合は、投影のto_wgsパラメータを編集する必要がある場合があります。trac.osgeo.org/proj/wiki/...
geographika

@geographika:では、GWCモードなしで同じレイヤーが正しく表示されるのはなぜですか。
radek、

1
プロジェクションに別の設定ファイルを使用していますか?geoserver.org/display/GEOSDOC/5.+GWC+-+GeoWebCacheを
geographika

@geographika:GeoServerドキュメントの古いバージョンだと思います。新しいバージョン:geoserver.org/display/GEOSDOC/5.+GWC+ - +GeoWebCache。私のGeoWebCache構成ページには、タイルが3857プロジェクションで準備できていると書かれており、これは私のWebマップでも使用されています。
radek

あなたは今まであなたの問題を解決しましたか?私はより大きなシフトで同様の問題を抱えています。GWCフォーラムで原因の解決策を伴う投稿についてgeographika talskが表示されますが、その投稿は見つかりません。
user28386 2015年

回答:


4

更新

実際の原因と解決策については、GWCフォーラムのRadekの投稿への応答を参照してください。TileCacheが「現在のx値-1311047.936977がタイルコーナーx -1493907.560000から遠すぎる」というエラーの表示を選択した理由を理解しました。


元のデータはEPSG 3857ですか?そうでない場合、それはほぼ間違いなくどこかで起こっている(ない)データムシフトです。

OpenLayers定義をEPSG:900913を参照するように変更してみてください。GeoWebCacheが新しいWebメルカトルコードを認識しない可能性がありますか?

投稿したリンクから:

GeoWebCacheの統合バージョンは、最も一般的な2つの投影法ですべてのレイヤーを自動的に構成します。

* EPSG:4326 (standard Latitude/Longitude)
* EPSG:900913 (Spherical Mercator, the projection used in Google Maps)

追加のプロジェクションが必要な場合は、キャッシュディレクトリにgeowebcache.xmlという構成ファイルを作成できます(例:/var/geoserver_data/gwc/geowebcache.xml)。

GeoserverとGeoWebCacheが異なる投影ファイルを使用しているように思えます。おそらく、Geoserverにはto_wgsパラメータがあり、GWCにはありません。

Windowsを使用しているときに、Process Monitor- http://technet.microsoft.com/en-us/sysinternals/bb896645を実行して、実際にアクセスしているファイルを確認します。

また、いくつかの投影パラメーターを変更した後、画像がキャッシュされなかったと思いますか?再シード/削除して確認してください。


ありがとう。はい、元のデータは3857にあります。GWCがこのコードを認識しているようです。GWCデモセクションでは、3857、4326、900913の3つの予測をすべて使用できます。また、私の地図では3857を使用しています。 900913でエラーが残ります。
radek

元のデータがデータムシフトのない3857にある場合、GWCで再投影は行われず、元のデータを再度再投影する必要があると思います。
geographika

4

GeoWebCacheのように、OpenLayers.Mapに正しいタイル原点セットを持っていますか?レイヤーのGeoWebCache-demoでTileOriginがどのように設定されているかを確認し、OpenLayers.Mapコンストラクターに同じTileOriginがあることを確認してください。


ありがとう。「tilesOrigin:map.maxExtent.left + '、' + map.maxExtent.bottom」として設定しようとしましたが、maxExtentはレイヤーのGWCデモに従って設定されています。まだ正しくありません。
radek、

GWC設定は何ですか、GWCまたはOpenLayersのいずれかでDPI設定を調整する必要がある場合があります
Peter

レイヤーのGWCデモプレビューに従ってDPI設定を調整してみました。助けにはならなかった。
radek 2010

3

このようなミスアライメントは、ほとんどの場合、投影の問題です。データはEPSG:3857に保存されていますか?GeoWebCacheレイヤーがEPSG:3857で出力するように構成されていることを確認します。


はい、データセットは3857にあり、GWCも構成されています。
radek、

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