28-02-2011, 11:03
Witam.
Chciałbym się poradzić co mogę zrobić z długim odświeżaniem map (rastrów) umieszczonych na wewnętrznym serwerze WMS (MapServer-Apache). Problem polega na tym, iż podczas przesuwania mapy, długo (od 3 do 6 sekund) trwa odświeżenie całej treści. Bez warstw WMS same wektory z bazy Postgis śmigają dość szybko. Dodam, że mapy WMS pojawiają się dopiero od skali 1:2000. Serwer na którym pracuje zarówno baza Postgresql jak i Map Server to Windows Server Standard SP2, Intel Xeon E3110 (2*3.0GHz) i 4GB RAM. Wydawałoby się, że powinien być wystarczający aczkolwiek przy przewijaniu mapy zarówno stacja kliencka jak i serwer są bardzo obciążone (głownie procesor, ramu jest dość). Rastrów mam około 800. Są one na różnych warstwach WMS (mapy z różnych układów współrzędnych). Stawiając MapSerwer najpierw stworzyłem piramidy dla wszystkich rastrów, następnie stworzyłem z nich plik VRT zapisany w oddzielnych projektach QGIS (dla poszczególnych układów). I tak mam między innymi projekt 42.qgs w którym znajduje się tylko plik 42.vrt złożony z rastrów w układzie 1942. Taki projekt został wyeksportowany do MapServera w formacie JPG a adresy WMS dodane do głównego projektu mapy jako warstwa WMS. Tak samo sprawa wygląda z pozostałymi układami np 1965. Nie tworzyłem piramidy dla plików VRT gdyż są one zrobione osobno dla każdego pliku TIFF, z których składa się VRT. Jeżeli lepiej zrobić piramidę dla pliku VRT, zamiast dla pojedynczych rastrów, to dajcie znać aczkolwiek w moim przypadku plik OVR będzie gigantyczny! Może nie należy tworzyć pliku VRT tylko wyeksportować projekt z wszystkimi mapami (dla danego układu)? Jeżeli są jeszcze jakieś inne metody przyśpieszenia wyświetlania rastrów na serwerze WMS to proszę o poradę.
Pozdrawiam.
PS1. Dołączam zrzut ekranu na którym widać główny projekt.
PS2. Stacje klienckie pracują na Win XP/Vista/7 głównie z Qgis 1.5 i 1.6.
Chciałbym się poradzić co mogę zrobić z długim odświeżaniem map (rastrów) umieszczonych na wewnętrznym serwerze WMS (MapServer-Apache). Problem polega na tym, iż podczas przesuwania mapy, długo (od 3 do 6 sekund) trwa odświeżenie całej treści. Bez warstw WMS same wektory z bazy Postgis śmigają dość szybko. Dodam, że mapy WMS pojawiają się dopiero od skali 1:2000. Serwer na którym pracuje zarówno baza Postgresql jak i Map Server to Windows Server Standard SP2, Intel Xeon E3110 (2*3.0GHz) i 4GB RAM. Wydawałoby się, że powinien być wystarczający aczkolwiek przy przewijaniu mapy zarówno stacja kliencka jak i serwer są bardzo obciążone (głownie procesor, ramu jest dość). Rastrów mam około 800. Są one na różnych warstwach WMS (mapy z różnych układów współrzędnych). Stawiając MapSerwer najpierw stworzyłem piramidy dla wszystkich rastrów, następnie stworzyłem z nich plik VRT zapisany w oddzielnych projektach QGIS (dla poszczególnych układów). I tak mam między innymi projekt 42.qgs w którym znajduje się tylko plik 42.vrt złożony z rastrów w układzie 1942. Taki projekt został wyeksportowany do MapServera w formacie JPG a adresy WMS dodane do głównego projektu mapy jako warstwa WMS. Tak samo sprawa wygląda z pozostałymi układami np 1965. Nie tworzyłem piramidy dla plików VRT gdyż są one zrobione osobno dla każdego pliku TIFF, z których składa się VRT. Jeżeli lepiej zrobić piramidę dla pliku VRT, zamiast dla pojedynczych rastrów, to dajcie znać aczkolwiek w moim przypadku plik OVR będzie gigantyczny! Może nie należy tworzyć pliku VRT tylko wyeksportować projekt z wszystkimi mapami (dla danego układu)? Jeżeli są jeszcze jakieś inne metody przyśpieszenia wyświetlania rastrów na serwerze WMS to proszę o poradę.
Pozdrawiam.
PS1. Dołączam zrzut ekranu na którym widać główny projekt.
PS2. Stacje klienckie pracują na Win XP/Vista/7 głównie z Qgis 1.5 i 1.6.