Я пытаюсь протестировать простую веб-карту на основе стека PostGIS / Geoserver / OpenLayers на Windows Server 2008.
Когда я загружаю свой слой 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}
);
Кажется, все в порядке.
Однако, когда я пытаюсь добавить слой WMS к моей карте, используя GeoWebCache, заменяя
"http://localhost:1979/geoserver/wms"
с:
"http://localhost:1979/geoserver/gwc/service/wms"
Мои данные внезапно перемещаются из правильной позиции:
Любые идеи о том, что может быть причиной?
EDIT: некоторая дополнительная информация о списке рассылки GWC пост .
Ответы:
Обновить
См. Ответы на сообщение Радека на форуме GWC, чтобы узнать причину и решение. Теперь я понимаю, почему TileCache выбрал отображение ошибок, таких как «Текущее значение x -1311047.936977, слишком далеко от угла плитки x -1493907.560000» вместо того, чтобы возвращать «самые близкие» плитки в произвольном диапазоне ошибок.
Ваши оригинальные данные в EPSG 3857? Если нет, то это почти наверняка, где-то происходит сдвиг (не).
Попробуйте изменить определение OpenLayers на EPSG: 900913 - может быть, GeoWebCache не распознает новый код веб-меркатора?
По ссылке вы разместили:
Звучит так, как будто Geoserver и GeoWebCache используют разные проекционные файлы. Возможно, ваш Geoserver имеет параметр to_wgs, а GWC - нет.
Находясь в Windows, запустите Process Monitor - http://technet.microsoft.com/en-us/sysinternals/bb896645, чтобы увидеть, к каким файлам вы действительно обращаетесь.
Также я предполагаю, что изображения не были кэшированы после того, как вы изменили некоторые параметры проекции? Попробуйте выполнить повторное заполнение / удаление, чтобы проверить.
источник
У вас есть правильное начало набора плиток для вашего OpenLayers.Map, как в GeoWebCache. Проверьте, как TileOrigin установлен в демоверсии GeoWebCache слоя, и убедитесь, что у вас есть тот же TileOrigin в конструкторе OpenLayers.Map.
источник
Такое смещение почти всегда является проблемой проекции. Данные хранятся в EPSG: 3857? Убедитесь, что слой GeoWebCache сконфигурирован для вывода в EPSG: 3857.
источник
Вы пробовали очистить кеш?
источник