Próbuję przetestować prostą mapę internetową opartą na stosie PostGIS / Geoserver / OpenLayers w systemie Windows Server 2008.
Kiedy ładuję moją warstwę WMS przez:
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}
);
Wszystko wydaje się w porządku.
Jednak gdy próbuję dodać warstwę WMS do mojej mapy za pomocą GeoWebCache, zastępując
"http://localhost:1979/geoserver/wms"
z:
"http://localhost:1979/geoserver/gwc/service/wms"
Moje dane nagle przechodzą z właściwej pozycji:
Wszelkie pomysły na to, co może być przyczyną?
EDYCJA: dodatkowe informacje o poście na liście mailingowej GWC .
Odpowiedzi:
Aktualizacja
Zobacz odpowiedzi na post Radka na forum GWC, aby znaleźć rzeczywistą przyczynę i rozwiązanie. Rozumiem teraz, dlaczego TileCache wybrał wyświetlanie błędów, takich jak „Bieżąca wartość x -1311047.936977, jest zbyt daleko od narożnika kafelka x -1493907.560000”, zamiast przekazywać „najbliższe” kafelki w zakresie arbitralnego błędu.
Czy twoje oryginalne dane są w EPSG 3857? Jeśli nie, to prawie na pewno jest to gdzieś zmiana (nie) odniesienia.
Spróbuj zmienić definicję OpenLayers tak, aby odwoływała się do EPSG: 900913 - może GeoWebCache nie rozpoznaje nowego kodu mercatora internetowego?
Z opublikowanego linku:
Brzmi to tak, jakby Geoserver i GeoWebCache korzystały z różnych plików projekcji. Może twój Geoserver ma parametr to_wgs, a GWC nie.
W systemie Windows uruchom Process Monitor - http://technet.microsoft.com/en-us/sysinternals/bb896645, aby zobaczyć, które pliki naprawdę uzyskujesz dostęp.
Zakładam też, że obrazy nie były buforowane po zmianie niektórych parametrów projekcji? Spróbuj ponownie posiać / usunąć, aby sprawdzić.
źródło
Czy masz poprawny zestaw początku kafelków dla twojej OpenLayers.Map jak w GeoWebCache. Sprawdź, jak ustawiony jest TileOrigin w wersji demo GeoWebCache warstwy i upewnij się, że masz ten sam TileOrigin na swoim konstruktorze OpenLayers.Map.
źródło
Takie niewspółosiowanie jest prawie zawsze problemem projekcyjnym. Czy dane są przechowywane w EPSG: 3857? Sprawdź, czy warstwa GeoWebCache jest skonfigurowana do wyświetlania w EPSG: 3857.
źródło
Czy próbowałeś wyczyścić pamięć podręczną?
źródło