Как использовать согласованную символику между несколькими растянутыми растрами в ArcMap?


17

У меня есть серия непрерывных растров, представляющих одно и то же явление с течением времени, поэтому мне нужно использовать одну и ту же символику для всех них.

Поэтому я установил растянутую символику первого растра с цветовой шкалой из значений min / max:

введите описание изображения здесь

Теперь во втором растре я импортирую символы из первого растра. К сожалению, хотя метки совпадают, фактические значения min / max не совпадают с первым слоем:

введите описание изображения здесь

Таким образом, красный цвет во втором растре соответствует значению 0,47, а не 0,66.

Как я могу убедиться, что оба растра используют согласованную символику?

Ответы:


18

Большое спасибо @Erica за ответ, который по какой-то причине мне не помог.

Но это действительно помогло мне найти решение, которое заключалось в использовании минимального / максимального растяжения в сочетании с опцией «Редактировать высокие / низкие значения»:

введите описание изображения здесь

При импорте этой символики в другие растры правильное растяжение применялось ко всем изображениям.


Я сталкиваюсь с этой же проблемой сегодня. Вы также использовали пользовательские настройки для статистики или просто оставили ее по умолчанию?
Девдатта Тенгше

2
Это простой и самый простой способ. @Devdatta Tengshe: Нет необходимости использовать пользовательские настройки в сочетании с минимально-максимальным растяжением и отредактированными высокими / низкими значениями. Минимальное-максимальное растяжение всегда является линейным (если не применяется дополнительное растяжение гаммы), и отредактированные значения High / Low переопределяют пользовательскую статистику .
lavarider

2
Круто, я выучил более простой способ :)
Эрика

Я тоже только что столкнулся с этой проблемой! Это отличное решение, но было бы еще лучше, если бы связь между слоями была динамичной; если вы устанавливаете цвета на основе растра с наибольшим диапазоном, но обнаруживаете, что некоторые растры с небольшим диапазоном выглядят «размытыми», то вам нужно немного подкорректировать мин / макс. Тем не менее, когда вы делаете это, другие линейные изменения не обновляются динамически, и вам в конечном итоге придется пройти через весь процесс установки символики каждого слоя снова. Кто-нибудь знает способ сохранить динамическую символьную ссылку?
Киган Смит

5

Щелкните правой кнопкой мыши растровый слой в оглавлении и выберите «Сохранить как файл слоя». Добавьте другой растр на карту, перейдите на вкладку Свойства слоя - Символика, нажмите Импорт, найдите сохраненный файл слоя. Кроме того, вы можете применить символы любого растра в документе карты к любому другому растру в документе, также нажав кнопку «Импорт», но выбрав исходные символы растра из списка.

РЕДАКТИРОВАТЬ: значения, которые вы видите на снимке экрана № 2, являются минимальным и максимальным значениями растра, символика которого вы пытаетесь сопоставить с символикой вашего исходного растра. (Если вы проверите свойства - вкладка источника - прокрутите вниз до статистики - Мин. И Макс. - эти значения совпадают со значениями, сообщаемыми на вкладке символики.

Чтобы все символы совпадали, все значения растров должны находиться в одном диапазоне символов.

Создайте свою символику с диапазоном, который может вместить ВСЕ ваши растры. В вашем случае 2 растров, которые вы показали: High: 0.66196 Low: 0140288 (High от растра 1 и low от растра 2). Для этого вы должны изменить тип растяжения на минимальный-максимальный. Как только вы это сделаете, вы отредактируете значения High и Low нужной вам символики и сохраните их в виде файла слоя. Если все ваши растры попадают в указанный вами диапазон, и вы применяете один и тот же файл слоя ко всем, символы будут совпадать.

Я делал нечто подобное с аэроснимками RGB Composite, но только что протестировал с двумя совершенно разными растрами; Земельная информация Онтарио DEM версии 2 с разрешением 20 м и областью DEMR SMRT3 (с разрешением 90 м) и символы соответствуют ожидаемым.

РИСУНОК 1: Предположим, я уже настроил и сохранил файл слоя в минимально-максимальном диапазоне, который я хотел (высокий 600, низкий 300). Здесь я добавляю новый растр ЦМР с различными размерами и разрешением, но чей минимальный, максимальный диапазон находится в пределах диапазона символов: введите описание изображения здесь

После загрузки символов в этот растр: введите описание изображения здесь

И вот как они совпадают - вы не можете видеть, где заканчивается одна матрица высот и начинается другая, только что ячейки больше в одной по сравнению с другой:

введите описание изображения здесь


1
Спасибо за совет - однако, это то, что я делал на втором скриншоте оригинального поста, где вы можете видеть, что максимальное значение рампы не соответствует значению метки.
Стивен Лид

1
@StephenLead - я добавил больше информации в свой ответ.
Якуб Сисак GeoGraphics

5

Чтобы применить файл Layer с python для всех растров с определенным именем, можно использовать:

# 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")

4

Отличный вопрос - мне нужно было сделать нечто подобное в последнее время, и это хорошо спрятано! В появившемся выше диалоговом окне «Символы» необходимо прокрутить вниз. Это приведет вас к диалогу «Растянуть».

Tпрокрутите вниз, чтобы найти особенности гистограммы

По умолчанию ArcMap анализирует гистограмму и подбирает свою собственную наилучшую подгонку на основе статистики конкретного изображения. Это оптимизирует цветовую шкалу для каждого изображения, но это не то, что вам нужно - вы хотите ОДНУ рампу для МНОГИХ изображений. Выберите «Пользовательский» и «Статистика» в «Пользовательских настройках (ниже)», затем введите значения, которые охватывают весь диапазон минимальных и максимальных значений ваших растров.


Спасибо, похоже, это то, что мне нужно. К сожалению, я обнаружил, что на самом деле это не похоже на работу - хотя диапазон в диалоговом окне «Символы» теперь правильно отображает новые минимальные и максимальные значения, символы на карте не изменились (0,47 по-прежнему красный). Я протестирую это еще немного, а затем войду в службу поддержки, если это необходимо.
Стивен Лид
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.