Problem
Mamy NMT oraz poligonową klasę mezoregionów fizycznogeograficznych (FizGeo_mezoregiony). Chcemy dla każdego poligonu rozpoznać położenie pikseli maksimów zbioru nmt, czyli tzw. kulminacje.
Rozwiązanie
Skorzystamy z rozszerzenia Spatial Analyst. Utworzymy klasę obiektów punktowych stanowiącą kulminacje wysokości w mezoregionach i dla każdego mezoregionu obliczymy jego najwyższy punkt. Procedura będzie wymagała trzech kroków:
- identyfikacja maksymalnych wartości rzędnych Z w każdym poligonie (mezoregionie),
- identyfikacja konkretnych komórek w NMT odpowiadających maksymalnym wartościom,
- przekształcenie tych komórek zbiór klasy obiektów punktowych.
-
Na początku dla każdego obiektu poligonowego obliczymy wartości najwyższej rzędnej wysokości n.p.m. Z menu ArcToolbox > Spatial Analyst Tools > Zonal > Zonal Statistics otwórz narzędzie Statystyk zonalnych (strefowych) (Fig. 1).
Fig. 1. Okno dialogowe narzędzia tworzenia statystyk zonalnych Użycie narzędzia Zonal Statistics spowoduje wygenerowanie nowego rastra, który zmienia wszystkie wartości komórek w każdym poligonie na najwyższej wysokości w tym poligonie. Nazwiemy sobie ten nowy zbiór np.
MaxElev.Dane wejściowe to poligonowa klasa mezoregionów fizycznogeograficznych (
FizGeo_mezoregiony) oraznmt. Pole Zone field zawiera jednoznaczny identyfikator poligonów. W moim przypadku to pole nazwy mezoregionu fizycznogeograficznego. Raster wyjściowy to oczywiścieMaxElev. Jako rodzaj statystyki z listy rozwijanej wybierz Maksimum. Upewnij się, że opcja Ignore NoData jest zaznaczona.W wyniku działania narzędzia otrzymujemy zbiór rastrowy Fig. 2.
Fig. 2. Rastrowa mapa maksymalnych wysokości przypisanych wszystkim pikselom każdego mezoregionu -
Aby określić, które komórki w NMT odpowiadają najwyższej rzędnej znalezionej w każdym obiekcie poligonowym porównamy teraz oba rastry
nmtoraz właśnie utworzonyMaxElev.Skorzystamy z Kalkulatora rastrów: ArcToolbox > Spatial Analyst Tools > Map Algebra Raster Calculator. Wykonamy prostą instrukcję warunkową. Wynikiem będzie raster przedstawiający tylko komórki NMT o najwyższych wartościach elewacji. Wszystkie inne komórki będa miały wartości
NoData. Użyj następującej instrukcji warunkowej:Con("nmt" == "MaxElev","nmt")Jeśli komórka w
nmtjest równa odpowiadającej komórce wMaxElev, ustaw wartość komórki rastra wyjściowego na wartość wnmt. Jeśli wartość komórki wnmtnie jest równa wartości wMaxElevw rastrze wyjściowym jest ustawiana wartość NoData (Fig. 3).
Fig. 3. Fragment mapy z widocznymi pikselami o maksymalnych wysokościach w mezoregionach -
Przekształcimy teraz raster
MaxElevPxMapw klasę elementów punktowych za pomocą narzędzia Raster to Point: ArcToolbox > Conversion Tools > From Raster > Raster to Point (Fig. 4).
Fig. 4. Okno dialogowe narzędzia konwersja rastrów do klas obiektów punktowych
W wyniku działania procedury otrzymujemy klasę obiektów o geometrii punktowej z przypisaną max wysokością n.p.m. właściwą dla danego poligonu (mezoregionu) (Fig. 5).
Źródła
How To: Create points representing the highest or lowest elevations within polygon features.