Главная страница
Форум
Промиздат
Опережения рынка
Архитектура отрасли
Формирование
Тенденции
Промстроительство
Нефть и песок
О стали
Компрессор - подбор и ошибки
Из истории стандартизации резьб
Соперник ксерокса - гектограф
Новые технологии производства стали
Экспорт проволоки из России
Прогрессивная технологическая оснастка
Цитадель сварки с полувековой историей
Упрочнение пружин
Способы обогрева
Назначение, структура, характеристики анализаторов
Промышленные пылесосы
Штампованные гайки из пружинной стали
Консервация САУ
Стандарты и качество
Технология производства
Водород
Выбор материала для крепежных деталей
Токарный резец в миниатюре
Производство проволоки
Адгезия резины к металлокорду
Электролитическое фосфатирование проволоки
Восстановление корпусных деталей двигателей
Новая бескислотная технология производства проката
Синие кристаллы
Автоклав
Нормирование шумов связи
Газосварочный аппарат для тугоплавких припоев
|
Главная --> Промиздат --> Координатное пространство слева направо. Скобки меняют приоритеты, поэтому Spatial Analyst сначала выполняет все операторы, заключенные в скобки. Скобки могут бпть вложенными, при этом первым будет обрабатываться наиболее глубоко вложенный оператор или функция. Алгебра карт в Spatial Analyst похожа на стандартную алгебру и следует многим соглашениям о порядке выполнения алгебраических операций. Основная разница между ними в том, что Алгебра карт Spatial Analyst была построена для работы с растровыми слоями и наборами данных, в то время как стандартная алгебра работает с числами. Типы входных данных Алгебры карт Входными данными в Алгебре карт могут бпть растровые наборы даннгх, растровые слои, шейп-файлы, покрптия, таблицы, константы и числа. Все растровые наборы данных, растровые слои, шейп-файлы, покрптия и таблицы должны уже существовать на момент вычисления выражения. При вводе растрового набора данных, шейп-файла, покрытия или таблицы в выражение можно задать только их имена, если они находятся в текущей рабочей папаке (установленной в диалоговом окне Опции, как в следующем примере: cosCinlayerl) Однако, необходимо задать полное имя и путь растровго набора даннхх, шейп-файла, покрптия или таблицы, если такой объект не находится в текущей рабочей папке и не является растровым слоем, добавленным к вашему сеансу ArcMap: cosCE:\mydirectory\ingrid1) Если входной объект - это растровый слой, включенный в список Слои в Калькуляторе растров, имя слоя следует заключить в скобки. cosC[in1ayer1]) Результаты Алгебры карт В калькуляторе растров нельзя использовать функции и операторы, результатом которгх не будет растровый набор данных. Имя вхходного растрового набора даннхх задавать не нужно, поскольку создается временнхй растровый набор даннгх; Spatial Analyst назовет его именем calc с порядковым номером (например, calc 1). Число, следующее за словом calc будет последовательно увеличиваться на единицу для каждого следующего выходного растрового набора данных. Обычно с каждым вычисленным целочисленным растровым набором даннхх бхвает связана таблица атрибутов значений - (Value Attribute Table, или VAT), содержащая два поля по умолчанию: Значение (Value) и Счет (Count). Некоторые операторы возвращают растровые наборы данн1х с таблицей, содержащей дополнительнхе поля. Для выходного набора, полученного при вхполнении ком-бинаторн1х операторов и функций, в таблице содержатся не только Значение и Счет, но и комбинация значений исходн1х растров, результатом которой явилось каждое итоговое значение. Набор результатов Хотя большинство функций в качестве результата создают один растровхй набор даннхх, некоторые функции, такие как Эвклидово распределение и Стоимостное распределение, создают несколько выходных растров. В таких случаях один из растров является основным. Остальные растры являются необязатель- Основной результат Входной растровый набор Дополнит. результате! ными результатами, создание которых оиределяется параметрами функции. Они будут сохранены в виде постояннхх файлов в текущей рабочей папке, если аргументы содержат их имя, или в папке, которую вы укажете, задав полный путь. Типы выходных значений Тип исходнгх значений может определять тип значений в вгходном растровом наборе данн1х. Обпчно, когда оператор (но не функция) применяется к одному или более целочисленным растровым наборам данн1х или растров1м слоям, результатом будет растров1й н а -бор данных с целочисленными значениями; когда же оператор применяется к одному или более растровым наборам данных или растровым слоям с плавающей точкой, результатом будет рас- Целочисл.вх.данные Целочисл.вх.данные Целочисл.результат Целочисл.вх.данные Вх.данные с плав.точкой Результат с плав.точкой Вх.данные с плав.точкой Вх.данные с плав.точкой Результат с плав.точкой тровый набор даннгх с плавающей точкой. Когда оператор применяется к нескольким растровхм наборам даннгх или растровхм слоям, и хотя бы один из них содержит значения с плавающей точ- кой, результатом будет растров1й набор данн1х с плавающей точкой. Из этих правил есть исключения. Например, булевы и комбинаторные операторы всегда выдают целочисленные значения, независимо от типа исходных значений. Значения с плавающей точкой возвращают все локальные, фокальные и зональные функции вычисления статистики, например, среднего значения и стандартного отклонения. Некоторые глобальные функции, такие как функции расстояния и интерполяции, также возвращают значения с плавающей точкой. Для других функций, таких как Выборка, FocalSum или ZonalMin, тип вгходного значения определяется типом входного значения. Тип в1ходного значения для каждой функции можно посмотреть в системе онлайновой справки (Help). Алгебра карт предоставляет несколько функций для преобразования растров из целочисленного формата в формат с плавающей точкой и наоборот. Дополнительную информацию вы найдете в системе онлайновой справки (Help) по функциям Int, Float, Floor и Ceil. Значение Нет даннгх в онераторах и функциях Общее правила для значения Нет данных (NoData) в Spatial Analyst состоят в следующем: Для любого оператора или локальной функции - если ячейка с определенным адресом хотя бы в одном из входных растров содержит значение Нет даннгх , ячейка с тем же адресом в вгходном растре получает значение Нет даннгх . Для фокальн1х функций: если какая-либо ячейка в окрестности обрабатываемой ячейки содержит значение Нет даннхх , функция игнорирует это значение и проводит вычисления с остальным значениями. Ключевое слово Нет данных (NoData) можно использовать для изменения поведения по умолчанию, чтобы оно присваивалось каждой ячейке, в заданной окрестности которой встретилось такое значение. Для зональнгх функций: если какая-либо ячейка во входном наборе данных грида или растровом слое в пределах зоны, определенной входным гридом зон или растровым слоем, имеет значение нет данн1х , по умолчанию функция проигнорирует это значение и вычислит результат по остальным данным. Ключевое слово Нет даннхх (NoData) можно использовать для изменения поведения по умолчанию, чтобы Нет даннхх присваивалось каждой ячейке, в зоне которой встретилось такое значение. Если Нет данных имеется в любой ячейке набора даннгх грида или слоя зон, в выходном растре эта ячейка получает значение Нет данн1х . Функции вычисления расстояния по прямой игнорируют значение Нет данн1х при втчислениях, поскольку расстояние и направление являются истиннхми расстояниями и направлениями по прямой. Входной набор данных грида или растровый слой источника должны содержать действительные значения в ячейках источника и значения Нет даннгх в остальных ячейках. Функции стоимостного расстояния при втчислениях считают значение Нет даннгх в стоимостном гриде или растровом слое барьером, а местоположениям входных ячеек со значением Нет даннгх присваивается Нет даннхх в выходном растре. Входной набор данных грида или растровый слой источника должен содержать действительные значения в ячейках источника и значения Нет даннхх в остальнхх ячейках. Для остальнхх глобальнхх функций, если значение Нет данных есть в какой-либо ячейке во входном наборе даннхх грида или растровом слое, ей присваивается Нет даннхх и в выходном растре. При выполнении функции Select (Выборка), если результат оценки условий, заданных выражением - не Истина (True), ячейке присваивается значение Нет даннхх , а не 0. В этом состоит отличие от операторов отношений и функции Test, записывающих 0 в ячейки, для которых результат вычислений - Ложь (False). При выполнении условной функции (Con), если не присвоено никакого значения выходному аргументу, который используется, когда оценка условия - Ложь (False), то ячейки, оцененные как False,получают на вхходе значение Нет данных . Некоторые локальнхе функции, например, Popularity (Встречаемость), Majority (Большинство) и Minority (Меньшинство), оценивают количество повторений значения, а не само значение. Если не найдено ни одного N-ного значения для Popularity , Majority или Minority, ячейке на вхходе присваивается значение Нет даннхх . Это происходит, когда все входные значения ячейки для данного местоположения различны. Ни одно значение не встречается чаще или реже, чем другие. Возвращение одного из входнхх значений, например, первого обнаруженного, б]ло бы неправильно. Вы не будете знать, действительно ли это значение N-ное по встречаемости, наиболее частое или редкое. Раздел по каждой команде в системе онлайновой справки Spatial Analyst (Help) описывает обработку значения Нет даннхх при вычислениях. Замена значений на Нет данных и Нет данных на значения Иногда может потребоваться заменить ячейки со значением Нет данных в наборе данных грида или растровом слое на некое действительное значение. Результат, достигаемый с помощью такого преобразования - чтобы значения Нет данных обрабатывались как нули (или какие-либо другие значения). Существует много способов замены Нет данных на действительные значения в Spatial Analyst. В интерфейсе пользователя вы можете использовать диалоговое окно Переклассификация (Reclassify), а в Алгебре карт - функции IsNull и Con. conCisnull ([inlayerl]), 0, [inlayerl]) Приведенное выше выражение говорит: если (Con) значение ячейки в слое inlayer1 равна NoData (IsNull), то ей присваивается 0; если оно не равно Нет данных (если это действительное значение), присвоить ей значение из inlayer1. Чтобы выполнить обратное действие и присвоить ячейкам с определенными значениями значение Нет даннхх (маскировать ячейки), используйте функцию SetNull. setnu11C[in1ayer1] > 100, [inlayer1])
|