GeoWebCache: нерівність плиток


9

Я намагаюся протестувати просту веб-карту на основі стека 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}

);

Здається, все добре.

alt текст

Однак, коли я намагаюся додати шар WMS до своєї карти за допомогою GeoWebCache, замінюючи

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

з:

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

Мої дані раптово переміщуються з правильного положення:

alt текст

Будь-які ідеї щодо того, що може бути причиною?

EDIT: деяка додаткова інформація про публікацію у списку розсилки GWC .


1
Це виглядає як проблема зсуву даних. Можливо, вам буде потрібно відредагувати параметри проекції to_wgs, якщо ваші WMS відновлюються. 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, і це також використовується моєю веб-картою.
radek

ви коли-небудь вирішували своє питання? У мене є подібне питання з більшим зрушенням. Я бачу, що географічна розмова про допис із причинами вирішення проблеми на форумі GWC, але я не знаходжу цього повідомлення.
користувач28386

Відповіді:


4

Оновлення

Дивіться відповіді на публікацію Радека на форумі GWC про фактичну причину та рішення. Тепер я розумію, чому TileCache обрав для відображення помилок, таких як "Поточне значення x -1311047.936977 занадто далеко від кута плитки x -1493907.560000", а не передавати назад "найближчі" плитки в межах довільного діапазону помилок.


Ваші оригінальні дані в EPSG 3857? Якщо ні, то майже напевно зсув дати (не) відбувається десь.

Спробуйте змінити своє визначення OpenLayers на посилання EPSG: 900913 - можливо, GeoWebCache не розпізнає новий веб-код Mercator?

За посиланням, яке ви опублікували:

Інтегрована версія GeoWebCache автоматично налаштовує кожен шар із двома найпоширенішими проекціями:

* 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 Monitor Monitor - http://technet.microsoft.com/en-us/sysinternals/bb896645, щоб побачити, до яких файлів ви дійсно отримуєте доступ.

Також я припускаю, що зображення не були кешовані після зміни деяких параметрів проекції? Спробуйте перевстановити / видалити, щоб перевірити.


Дякую. Так, початкові дані є в 3857 р. Схоже, GWC розпізнає цей код: у розділі GWC Demos доступні всі три проекції: 3857, 4326, 900913. І для моєї карти я використовую 3857. Також спробував це з 900913 і помилка залишається.
radek

Якщо ваші вихідні дані є 3857 без зсуву дати, я б уявив, що в GWC не відбувається повторної проекції, і ваші вихідні дані потрібно повторно відхилити.
geographika

4

Чи є у вас правильний набір походження плитки для вашого OpenLayers.Map, як у GeoWebCache. Перевірте, як встановлений TileOrigin в GeoWebCache-демонстрації шару, і переконайтеся, що у вас є той самий TileOrigin на вашому OpenLayers.Map Constructor.


Дякую. Я спробував встановити це як: "tileOrigin: map.maxExtent.left + ',' + map.maxExtent.bottom", де maxExtent встановлюється відповідно до демонстрації шару GWC. Все ще не правильно.
radek

Які ваші налаштування GWC, можливо, вам знадобиться відрегулювати параметри DPI або в GWC, або в OpenLayers
Пітер

Я спробував налаштувати параметри DPI відповідно до попереднього попереднього перегляду шару GWC. Не допомогло.
radek

3

Така невідповідність майже завжди є проблемою прогнозування. Чи зберігаються дані в EPSG: 3857? Перевірте, чи налаштований шар GeoWebCache для виведення в EPSG: 3857.


Так, набір даних у 3857, і для нього також налаштований GWC.
radek

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.