Efektywne zarządzanie danymi rastrowymi

Mimo coraz większej mocy obliczeniowej oraz relatywnie niskich kosztów przestrzeni dyskowej organizacja danych rastrowych wymaga wykorzystania odpowiednio wydajnego modelu danych.

Raster vs Katalog rastrów vs Zestaw danych mozaiki

Istnieją trzy podstawowe sposoby przechowywania zobrazowań rastrowych. Pierwszy z nich to standardowe pliki rastrowe w systemie plików, zapisane bezpośrednio po pozyskaniu w formacie źródłowym lub przetworzone w wyniku różnych analiz. Drugi to pliki rastrowe przekonwertowane do formatu bazodanowego, również w strukturach profesjonalnych systemów bazodanowych (Oracle, MS SQL Server, PostgreSQL i inne). Trzeci sposób to hybryda tych dwóch rozwiązań, polegająca na zarządzaniu z poziomu geobazy plikami rastrowymi zapisanymi na dysku w formacie plikowym.

Także w przypadku zarządzania rastrami można wyróżnić trzy odmienne metody wykorzystujące powyższe sposoby przechowywania danych. Pierwsza z nich, podstawowa i najbardziej znana, to zestaw danych rastrowych (raster dataset), czyli (z perspektywy użytkownika) plik lub odpowiadająca mu struktura w geobazie, przechowująca jeden lub więcej kanałów spektralnych. Plik może reprezentować jeden arkusz zeskanowanej mapy, zdjęcie lotnicze lub satelitarne w formacie oryginalnym lub przetworzonym w wyniku np. rektyfikacji, numeryczny model terenu w postaci rastrowej czy też inną postać tablicy z określonymi wartościami poszczególnych pikseli. Taki zestaw danych wystarczy dodać do ArcMap jako warstwę, aby móc go obejrzeć, zmodyfikować (jeśli trzeba) oraz wykonać przy jego pomocy analizę przestrzenną. Taka forma nie jest jednak prosta do zarządzania. W przypadku dużej liczby plików rastrowych każdy raster musi być dodany do ramki danych jako osobna warstwa, co z reguły wyraźnie wpływa na prędkość działania aplikacji mapowej. W przypadku np. 100 zdjęć lotniczych samo zarządzanie z poziomu projektu mapy może być kłopotliwe.

Rys. 1. Przykładowe funkcje zestawu danych mozaiki.

Rys. 1. Przykładowe funkcje zestawu danych mozaiki.

Rozwiązaniem problemu poniekąd wydaje się katalog rastrów. Jest to nic innego jak tabela w geobazie, skupiająca informacje o metadanych dotyczących rastrów dodanych do katalogu. Tabela może zawierać rastry, które są przechowywane w jej strukturze (katalog zarządzany) lub przechowywać jedynie referencję do danych zapisanych w systemie plików (katalog niezarządzany). Obie opcje pozwalają na przechowywanie kolekcji danych rastrowych przyległych do siebie, nakładających się częściowo lub całkowicie bez konieczności mozaikowania ich do jednego olbrzymiego rastra, a mimo wszystko stanowiących spójną całość. Dodatkowo, ponieważ jest to tabela, można w prosty sposób wykorzystać ten fakt do analiz, np. używając selekcji według atrybutów.

Katalogi rastrowe wychodzą jednak z użycia za sprawą struktury, która zanim znalazła się wśród podstawowych modeli danych dostępnych w geobazach platformy ArcGIS (od wersji 10.0), istniała jako osobne rozwiązanie serwerowe o nazwie ArcGIS Image Server. Struktura ta to zestaw danych mozaiki (mosaic dataset).

Dynamiczne przetwarzanie rastrów w locie

Zestaw danych mozaiki w pewnym sensie przypomina niezarządzany katalog rastrów. Zawiera on odniesienie do każdego zestawu danych rastrowych będącego jego elementem. Jego główną zaletą (wywodzącą się z ArcGIS Image Server) jest przetwarzanie rastrów w locie.

W standardowym schemacie otrzymanie żądanego produktu rastrowego poprzedza łańcuch narzędzi użytych do analizy, takich jak: reklasyfikacja wartości piksela, przycięcie rastra do zasięgu konkretnego poligonu, maska dla nieistotnych wartości piksela i wiele innych. Efektem każdego z ogniw łańcucha jest pośredni raster wynikowy, będący parametrem wejściowym do kolejnej analizy. O ile cały proces można zautomatyzować, o tyle biorąc pod uwagę rozmiar plików rastrowych, przetwarzanie może trwać dłuższą chwilę.

 Rys. 2. Główny zestaw danych mozaiki (model terenu), jako źródło do obliczenia nowych produktów (odniesione zestawy z funkcjami Ekspozycja i Spadki).


Rys. 2. Główny zestaw danych mozaiki (model terenu), jako źródło do obliczenia nowych produktów (odniesione zestawy z funkcjami Ekspozycja i Spadki).

Z pomocą przychodzi nam zestaw danych mozaiki, który wszystkie wymienione operacje, a także wiele innych, realizuje w locie przy pomocy tzw. funkcji mozaikujących. Funkcje te można łączyć w łańcuchy, dzięki czemu nie ma potrzeby generowania pośrednich produktów analizy. Przede wszystkim jednak rezultat analizy jest generowany na żądanie w momencie zaistnienia takiej potrzeby w określonym zasięgu przestrzennym, czyli np. w przeglądanym przez użytkownika fragmencie mapy. Ciekawy przykład stanowi funkcja realizująca ortorektyfikację zdjęć lotniczych w locie, która jako argumenty przyjmuje osobny plik z zapisanymi parametrami kamery oraz numeryczny model terenu. Kolejną bardzo ważną zaletą zastosowania takiego rozwiązania jest oszczędność czasu w przypadku aktualizacji zdjęć. Wystarczy zastąpić pliki w katalogu źródłowym. Całe przetwarzanie i tak realizowane jest w locie w momencie przeglądania warstwy reprezentującej zestaw danych mozaiki.

Bardzo podobne działanie (choć w ograniczonym zakresie) da się zrealizować przy użyciu narzędzi okna Analizy Obrazu w ArcMap. Wybrane funkcje można przypisać wybranym warstwom, aby w rezultacie otrzymać nowe, zmienione w locie warstwy wynikowe. Różnica polega na tym, że zmiany są w tym przypadku przypisane do warstwy (jak symbolizacja w projekcie mxd lub w pliku .lyr), podczas gdy łańcuch funkcji mozaikujących to cecha zestawu danych mozaiki zapisana w geobazie.

Przechowywanie i tworzenie zestawu danych mozaiki

O ile obrazy rastrowe mogą być przechowywane jako pliki (np. *.tiff), o tyle zestaw danych mozaiki zawsze musi się znajdować w geobazie Esri. Tworzenie takiego zestawu danych sprowadza się do kliknięcia geobazy prawym klawiszem w oknie ArcCatalog i wybrania opcji Nowa – Zestaw danych mozaiki.

W oknie kreatora mozaiki obligatoryjnym parametrem (oprócz nazwy nowego zestawu danych) jest układ współrzędnych (podobnie jak w przypadku zestawu danych wektorowych). Opcjonalnie można określić odgórnie typ przechowywanych rastrów (patrz wyżej) oraz liczbę kanałów i typ piksela.

Gdy pusty zestaw danych mozaiki już istnieje, można do niego dodać obiekty rastrowe, korzystając z menu kontekstowego. Utworzenie biblioteki na kształt katalogu rastrów sprowadza się do wskazania folderu przechowującego pliki rastrowe. Bez znaczenia są ich liczba i rozmiar. Podczas tej czynności istnieje możliwość zdefiniowania poszczególnych własności charakterystycznych dla danego rastra.

Rys. 3. Łączenie funkcji w łańcuchy.

Rys. 3. Łączenie funkcji w łańcuchy.

Typy rastrów

Zestaw danych mozaiki pozwala na zdefiniowanie typu indywidualnego rastra na etapie jego dodawania. Domyślnie standardowy typ zestawu danych rastrowych może być użyty dla wszystkich źródeł obsługiwanych przez oprogramowanie Esri, takich jak pliki GeoTiff czy MrSID.

Dane rastrowe mogą jednak pochodzić od konkretnego dostawcy, być gotowym produktem o określonej definicji i posiadać charakterystyczne dla siebie metadane, będące ich składową (np. nagłówkiem) lub dołączone w osobnym pliku. Należą do nich np. parametry kamery, typ sensora, data wykonania zdjęcia, współrzędne.

Wśród wielu popularnych formatów znajdują się m.in.: Applanix (dla zdjęć lotniczych), Geoeye-1, IKONOS, Landsat 8, QuickBird, WorldView. Zestaw danych mozaiki pozwala również na przetwarzanie w locie danych ze skanowania laserowego (pliki LAS, zestaw danych LAS lub Terrain Dataset – Zestaw danych terenowych). Podczas dodawania rastrów ich charakterystyczne parametry można dodatkowo konfigurować, np. dodać korekcję wartości piksela na podstawie NMT.

Metody mozaikowania

W przypadku pokrywających się obrazów rastrowych użytkownik ma możliwość wybrania, który z nich będzie widoczny (dotyczy to np. obrazu tego samego obszaru na sąsiadujących ze sobą zdjęciach lotniczych). Jest to zdecydowanie korzystniejsze zastosowanie przetwarzania niż w przypadku długiego łańcucha geoprzetwarzania i generowania nowych pośrednich rastrów wynikowych w przypadku klasycznej analizy, ponieważ przeliczanie w locie za każdym razem gwarantuje bezstratne odczytanie oryginalnej wartości piksela oraz pozwala na dostęp na żądanie do wszystkich pokrywających się zobrazowań. Użytkownik może określić, czy na wierzchu stosu zdjęć mają być widoczne rastry:

  • z centroidem znajdującym się najbliżej środka ekranu (domyślnie),
  • z punktem nadiru najbliższym środkowi ekranu,
  • z kierunkiem określonym przez zdefiniowany punkt widokowy (viewpoint),
  • z centroidem bliższym wierzchołkowi północno-zachodniemu,
  • o konkretnym ObjectID,
  • z wyższym ObjectID,
  • wzdłuż opcjonalnie wyznaczonej krzywej granicznej.

Rys. 4. Okno narzędzia Utwórz zestaw danych mozaiki.

Rys. 4. Okno narzędzia Utwórz zestaw danych mozaiki.

Funkcje mozaikujące

Obecnie w ArcGIS for Desktop w wersji 10.2 istnieje 40 funkcji mozaikujących. Niektóre z nich są znane z ArcToolbox (czasem pod inną nazwą), często z pakietu Spatial Analyst. Ich zastosowanie w zestawie danych mozaiki nie wymaga jednak licencji na dodatkowe rozszerzenia. Wśród nich znajdują się:

  • Ekspozycja (Aspect) – wyznaczenie kierunków spadków m.in. NMT,
  • Spadki (Slope) – funkcja pokazująca wskaźnik zmiany wysokości dla każdego piksela,
  • Reklasyfikacja (Remap) – zmiana wartości pikseli pojedynczych lub zdefiniowanych zakresów, odpowiednik narzędzia Reklasyfikuj (Reclassify),
  • Cieniowanie rzeźby (Hillshade/Shaded Relief) – czarno-biała lub kolorowa reprezentacja terenu wykorzystująca wysokość słońca nad horyzontem (od 0 do 90) oraz jego azymut (0 = północ),
  • Zmień odwzorowanie (Project raster) – zmiana odwzorowania rastra w locie,
  • Wytnij (Clip) – przycięcie rastra do określonego zasięgu,
  • Maska (Mask) – wyłączenie z analizy obszaru zdefiniowanego przez warstwę wektorową, odpowiednik narzędzia Wydziel maską (Extract by mask).

Oprócz funkcji wymienionych powyżej na uwagę zasługują m.in.:

  • Mapa kolorów, Mapa kolorów do RGB (Colormap, Colormap to RGB) – funkcje pozwalające zmienić symbolizację z czarno-białej na kolorową, np. dla wyników działania funkcji Ekspozycja, Spadki, Cieniowanie rzeźby,
  • Wyostrzenie panchromatyczne (Pansharpen) – wykorzystanie kanału panchromatycznego do poprawy jakości kolorowych scen wielokanałowych tego samego obszaru o dużo niższej rozdzielczości,
  • NDVI – funkcja obliczająca dla każdego piksela znormalizowany różnicowy wskaźnik wegetacji na podstawie działania arytmetycznego: (NIR – VIS)/(NIR + VIS),
  • Arytmetyczna (Arithmetic) – proste działania na wartościach pokrywających się pikseli dwóch rastrów (dodawanie, odejmowanie, mnożenie, dzielenie i inne),
  • Rozciągnięcie (Stretch) – liniowe rozciągnięcie histogramu, rozjaśnienie, zmiana kontrastu,
  • Redukcja szumów (Speckle) – redukcja szumów (speckle noise) występujących w produktach systemów SAR,
  • Geometryczna (Geometric) – funkcja odpowiadająca za ortorektyfikację na podstawie modelu terenu i typu sensora.

Zestaw danych mozaiki w ArcMap

Zestaw danych mozaiki w ArcMap jest widoczny pod postacią warstwy grupowej oraz trzech warstw wchodzących w jej skład. Każda z nich posiada swoje unikalne własności. Warstwa Granica (Boundary) zawiera granicę całego zestawu danych. Domyślnie jest to jeden obiekt wektorowy obejmujący zasięgiem wszystkie obiekty rastrowe wchodzące w skład mozaiki. Warstwa druga, Obwiednie (Footprints), zawiera z kolei granice poszczególnych obiektów rastrowych. Obie posiadają tabele atrybutów. W przypadku drugiej warstwy każdy rekord reprezentuje konkretny raster (podobnie jak w przypadku katalogu rastrów) wraz z ewentualnymi dodatkowymi atrybutami pobranymi z metadanych danego rastra. Trzecia warstwa to warstwa rastrowa kontrolująca renderowanie przetworzonego obrazu. Wszystkie trzy warstwy, podobnie jak standardowe warstwy w ArcMap, są edytowalne, więc można na własne życzenie zmienić np. symbolizację wyświetlanego zobrazowania.

Rys. 5. Zaznaczone zdjęcie lotnicze (kolor turkusowy), którego kształt jest w locie skorygowany dzięki zastosowaniu numerycznego modelu terenu.

Rys. 5. Zaznaczone zdjęcie lotnicze (kolor turkusowy), którego kształt jest w locie skorygowany dzięki zastosowaniu numerycznego modelu terenu.

Korzyści płynące z korzystania z zestawu danych mozaiki

Dzięki zastosowaniu geoprzetwarzania w locie oraz dynamicznemu mozaikowaniu zestawy danych mozaiki rozwiązują problemy charakterystyczne dla tradycyjnego podejścia do zarządzania rastrami. Do głównych korzyści płynących z ich wykorzystania należą:

  • redukcja czasu przetwarzania dzięki przeliczaniu na żądanie wartości pikseli w locie,
  • przechowywanie informacji o nachodzących na siebie obrazach, które w tradycyjnym podejściu są usuwane w momencie zapisywania statycznej mozaiki,
  • jednoczesne obsługiwanie zobrazowań o różnych rozdzielczościach,
  • oszczędność miejsca dzięki definiowaniu funkcji mozaikujących w osobnych zestawach danych odnoszących się do tych samych danych źródłowych (definicja funkcji matematycznych zajmuje zdecydowanie mniej miejsca niż osobne pliki wynikowe np. w przypadku narzędzi Cieniowanie rzeźby i Wyostrzenie panchromatyczne).

Warto zauważyć, że zestaw danych mozaiki może również bazować na innym zestawie danych mozaiki. Przykładowo, pierwszy podstawowy zestaw może serwować mapy gęstości symbolizowane funkcją Mapa kolorów lub Shaded Relief, jednocześnie będąc źródłem dla innych zestawów, ograniczonych za pomocą funkcji Wytnij do poszczególnych dzielnic i udostępnionych osobnym grupom użytkowników z dostępem tylko do danych dotyczących ich dzielnicy.