Нефть и песок О стали Компрессор - подбор и ошибки Из истории стандартизации резьб Соперник ксерокса - гектограф Новые технологии производства стали Экспорт проволоки из России Прогрессивная технологическая оснастка Цитадель сварки с полувековой историей Упрочнение пружин Способы обогрева Назначение, структура, характеристики анализаторов Промышленные пылесосы Штампованные гайки из пружинной стали Консервация САУ Стандарты и качество Технология производства Водород Выбор материала для крепежных деталей Токарный резец в миниатюре Производство проволоки Адгезия резины к металлокорду Электролитическое фосфатирование проволоки Восстановление корпусных деталей двигателей Новая бескислотная технология производства проката Синие кристаллы Автоклав Нормирование шумов связи Газосварочный аппарат для тугоплавких припоев
Главная --> Промиздат -->  Координатное пространство 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ( 64 ) 65 66 67 68 69 70 71

слева направо.

Скобки меняют приоритеты, поэтому 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])



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ( 64 ) 65 66 67 68 69 70 71