Temat: baza danych z rastrami
Baza danych, albo ecw / jp2.
Wms jest z założenia przeraźliwie wolny i nie ma sensu się z nim babrać, jeżeli zależy ci na komfortowej pracy.
Ja osobiście najczęściej używam ecw - plik jest właściwie bazą danych i dlatego dostęp do danych jest niesamowicie wręcz szybki. Dodatkowo jest to wciąż plik, a więc łatwo portowalny (no dobra te pliki potrafią być duuuże).
Robiłem kiedyś ecw z map topo i ortofoto dla 12 arkuszy mapy topo. Przy minimalnej kompresji, żeby zachować najlepszą jakość topo zajmuje mi 208mb (25k x 25k pixeli rgba, co daje około 2,3gb nieskompresowanego rastra), a orto 345mb (36k x 38k pixeli rgba, co daje około 5.1gb nieskompresowanego rastra)
Pracuję ostatnio z ortofoto dla Holandii - pliki ecw mają koło 50gb, dla rastra o rozmiarze ponad 150k x 150k pixeli. Linkowanie danych do projektu zajmuje nie więcej niż sekundę, a przeglądanie danych (zoomowanie, przesuwanie) nie powoduje żadnych przymuleń.
Sugerowałbym więc zmozajkowanie rastrów w jeden, albo kilka, jeżeli są rozproszone i razem byłyby za duże, a potem ich kompresję do ecw.
Jeżeli nie masz softu z GUI, GDAL świetnie sobie poradzi, chociaż przy rozmiarach przekraczających jakieś 25, 30 k x 25, 30k pixeli zaczyna mulić i często nie daje rady.
Workflow jest mniej więcej taki:
1. Tworzysz nowy raster wyjściowy o rozmiarze w pixelach i bbox będącym sumą mniejszych kawałków, które chcesz zmozajkować. Możesz to zrobić w gdalu, albo w swoim gisie. Rzecz jasna nadajesz rastrowi odpowiednie info o odwzorowaniu.
2. Używasz gdal warp do sklejenia całości
3. gdal translate zrobi ci z tego ecw.
Alternatywnie możesz użyć
http://gdal.org/gdal_merge.html, który ci zmozjakuje całość bez powyższej gimnastyki. Potem gdal translate. Jakoś nigdy nie miałem zacięcia, żeby rozkminić, dlaczego mi python nie działa tak, jak powinien więc nie wiem jak narzędzie się zachowuje. Ale najpewniej tak, jak powinno ;-)
Dominik Mikiewicz edytował(a) ten post dnia 20.01.10 o godzinie 09:41