Jak używać spójnej symboliki między wieloma rozciągniętymi rastrami w ArcMap?

17

Mam szereg ciągłych rastrów reprezentujących to samo zjawisko w czasie, więc muszę używać tej samej symboliki na wszystkich.

Więc ustawiłem rozciągniętą symbolikę pierwszego rastra, z rampą koloru od wartości min / max:

wprowadź opis zdjęcia tutaj

Teraz w drugim rastrze importuję symbol z pierwszego rastra. Niestety, chociaż etykiety pasują do siebie, rzeczywiste wartości min / maks nie są takie same jak dla pierwszej warstwy:

wprowadź opis zdjęcia tutaj

Tak więc kolor czerwony w drugim rastrze odpowiada wartości 0,47 zamiast 0,66.

Jak mogę się upewnić, że oba rastry używają spójnej symboliki?

Stephen Lead
źródło

Odpowiedzi:

18

Ogromne podziękowania dla @Erica za odpowiedź, która z jakiegoś powodu nie działała dla mnie.

Ale znalazłem właściwą drogę do znalezienia rozwiązania, które polegałoby na zastosowaniu minimalnego / maksymalnego rozciągnięcia w połączeniu z opcją Edytuj wysokie / niskie wartości:

wprowadź opis zdjęcia tutaj

Zaimportowanie tej symboliki do innych rastrów spowodowało zastosowanie prawidłowego rozciągnięcia do wszystkich obrazów.

Stephen Lead
źródło
Mam dzisiaj ten sam problem. Czy używałeś też niestandardowych ustawień dla statystyk, czy też pozostawiłeś to ustawienie domyślne?
Devdatta Tengshe,
2
Jest to najprostsza i najprostsza droga. @Devdatta Tengshe: Nie ma potrzeby używania ustawień niestandardowych w połączeniu z minimalnym-maksymalnym rozciągnięciem i edytowanymi wartościami wysokie / niskie. Minimalna-maksymalna rozciągliwość jest zawsze liniowa (chyba że zastosowane zostanie dodatkowe rozciągnięcie gamma), a edytowane wartości wysokie / niskie zastępują statystyki niestandardowe .
lavarider
2
Wspaniale, nauczyłem się łatwiejszego sposobu
Erica
Właśnie wpadłem na ten problem! To rozwiązanie jest świetne, ale byłoby jeszcze lepiej, gdyby połączenie między warstwami było dynamiczne; jeśli ustawisz kolory na podstawie rastra z największym zakresem, ale okaże się, że niektóre rastry z małym zakresem wyglądają „wyprane”, wtedy będziesz chciał nieco ulepszyć min / max. Jednak gdy to zrobisz, inne rampy nie aktualizują się dynamicznie i ostatecznie musisz przejść przez cały proces ponownego ustawiania symboliki każdej warstwy. Czy ktoś wie, jak zachować dynamiczny link do symboliki?
Keegan Smith
5

Kliknij prawym przyciskiem myszy warstwę rastrową w Spisie treści i wybierz „Zapisz jako plik warstwy”. Dodaj swój drugi raster do mapy, przejdź do Właściwości warstwy - zakładka Symbolika, kliknij importuj, znajdź zapisany plik warstwy. Alternatywnie możesz zastosować symbolikę dowolnego rastra w dokumencie mapy do dowolnego innego rastra w dokumencie, klikając również przycisk importuj, ale wybierając źródłową symbolikę rastrową z listy.

EDYCJA: Wartości, które widzisz na zrzucie ekranu nr 2, to minimalne i maksymalne wartości rastra, którego symbolikę próbujesz dopasować do oryginalnej rastra. (Jeśli zaznaczysz właściwości - zakładka źródło - przewiń w dół do statystyki - Min i Max - te wartości są takie same jak te zgłaszane na karcie symboliki.

Aby wszystkie symbole były zgodne, wszystkie wartości rastrów muszą należeć do tego samego zakresu symboli.

Zaprojektuj swoją symbolikę z zakresem, który pomieści WSZYSTKIE rastry. W przypadku 2 rastrów pokazałeś: Wysoki: 0,66196 Niski: 0140288 (Wysoki od rastra 1 i niski od rastra 2). Aby to zrobić, musisz zmienić Typ rozciągania na Minimum-Maksimum. Gdy to zrobisz, będziesz edytować wartości górną i dolną żądanej symboliki, a następnie zapisz ją jako plik warstw. Jeśli wszystkie rastry mieszczą się w określonym zakresie i zastosujesz do wszystkich ten sam plik warstwy, symbolika będzie pasować.

Robiłem coś podobnego z obrazami lotniczymi RGB Composite, ale właśnie przetestowałem to z dwoma zupełnie różnymi rastrami; Informacje o terenie Ontario DEM wersja 2 Rozdzielczość 20m i SMRT3 DEM dla całej prowincji (rozdzielczość 90m) i symbole pasują zgodnie z oczekiwaniami.

RYSUNEK 1: Załóżmy, że już poprawiłem i zapisałem plik warstwy w pożądanym zakresie min-max (wysoki 600, niski 300). Tutaj dodaję nowy raster DEM o różnych wymiarach i rozdzielczości, ale którego minimalny, maksymalny zasięg spada wraz z zakresem symboli: wprowadź opis zdjęcia tutaj

Po załadowaniu symboliki do tego rastra: wprowadź opis zdjęcia tutaj

A oto jak one się pasują - nie widać, gdzie kończy się jeden DEM, a drugi zaczyna, tyle że komórki są większe w jednym w porównaniu do drugiego:

wprowadź opis zdjęcia tutaj

Jakub Sisak GeoGraphics
źródło
1
Dziękuję za podpowiedź - jednak to właśnie robiłem na drugim zrzucie ekranu oryginalnego postu, na którym widać, że maksymalna wartość rampy nie zgadza się z wartością etykiety.
Stephen Lead
1
@StephenLead - dodałem więcej informacji do mojej odpowiedzi.
Jakub Sisak GeoGraphics
5

Aby zastosować plik warstwy z pythonem do wszystkich rastrów o określonej nazwie, można użyć:

# read in mxd file
mxd=arcpy.mapping.MapDocument(r"Path_To_MXD_File")

# read in all rasters in the mxd which have names starting with "test"
rasters=arcpy.mapping.ListLayers(mxd,"test*") 

# apply the symbology lyr file to the rasters
for r in rasters:

     arcpy.ApplySymbologyFromLayer_management(r,r"Path_To_Lyr_File")
NiklasKeck
źródło
4

Świetne pytanie - ostatnio musiałem zrobić coś podobnego i jest to dobrze ukryte! W wyświetlonym powyżej oknie dialogowym Symbolika należy przewinąć w dół. Spowoduje to przejście do okna dialogowego „Rozciągnij”.

T.przewiń w dół, aby znaleźć specyfikę histogramu

Domyślnie ArcMap przeanalizuje histogram i opracuje własne najlepsze dopasowanie na podstawie statystyk konkretnego obrazu. To optymalizuje rampę kolorów dla każdego obrazu, ale nie jest tym, czego chcesz - chcesz JEDEN rampę dla WIELU zdjęć. Wybierz „Niestandardowe” i Statystyka „Z ustawień niestandardowych (poniżej)”, a następnie wprowadź wartości obejmujące pełny zakres min-maks. Twoich rastrów.

Erica
źródło
Dzięki, to wygląda na to, czego potrzebuję. Niestety okazuje się, że tak naprawdę nie działa - chociaż zakres w oknie dialogowym Symbology poprawnie pokazuje teraz nowe min / max, symbole na mapie pozostają niezmienione (0,47 jest nadal czerwony). Przetestuję to jeszcze bardziej, jeśli to konieczne, zarejestruję połączenie z pomocą techniczną.
Stephen Lead