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

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

Приведенное выше выражение переведет все значения больше100 в значения Нет даннгх . Ячейки, уже имевшие значение Нет даннхх , сохранят его, а остальные ячейки сохранят свои исходные значения.

Ячейки вне границ набора даннхх грида или растрового слоя или вне экстента анализа считаются имеющими значение Нет даннхх .

Условные операторы

Функция Con

Имя функции Con - это сокращение от conditional statement (условнхй оператор). Con - локальная функция, выполняюшая поячеечные втчисления. Формат функции Con таков:

Con (condition, true expression, condition, true expression, condition, true expression, false expression)

где condition - это условное выражение, вычисляемое для каждой ячейки в экстенте анализа. Если условие - true, то trueexpression определяет формулу втчисления вхходного значения ячейки. Также можно для ячеек входного набора данных грида или растрового слоя применить дополнительные условные операторы с обязательным вхражением trueexpression, задающим значение для ячеек, где дополнительное условие - true. Если ни один из результатов применения условного оператора не дает значения true, значение вхражения применяется к ячейкам через дополнительный армент falseexpression. Если этим аргументом не задаются никакие значения, ячейкам, не отвечающим никакому из условий, присваивается значение Нет данных . Ниже приведен простой пример функции Con:

conC[inlayer1] > 5, 10, 100)

В приведенном выше выражении, если значение ячейки в растровом слое inlayer1 больше 5, ей в выходном растровом наборе данных будет присвоено 10, а ячейкам в слое inlayer1 со значе-

нием 5 или меньше в выходном растре будет присвоено значение 100.

Если для falseexpression не задано значения или выражения, conC[inlayer1] > 5, 10)

результат будет таким же, как в прошлом примере, только ячейкам со значением 5 или меньше в растровом слое inlayer1 в выходном растровом наборе данных будет присвоено значение Нет данных .

Вместо значения в выражениях trueexpression и falseexpression может бпть использовано любое корректное вхражение (см. Правила Алгебры карт ранее в этом приложении).

conC[inlayer1] > 5, sinC[inlayer1]), cosC[inlayer1]))

В приведенном выше выражении вычисляется синус всех значений больше 5 и косинус всех значений равных 5 или меньше, и результат записывается в выходной растровый набор данных.

В функции Con можно задать несколько условных выражений, но для каждого должно бпть задано trueexpression , которое будет присвоено ячейкам выходного растрового набора данных, для которых соответствующее условное выражение истинно. Необязательное falseexpression используется, если ни одно из условных выражений не истинно.

conC[inlayer1] < 5, sinC[inlayer1]), [inlayer1] < 20, cosC[inlayer1]), [inlayer1] > 50, 100, 0)

В приведенном выше выражении вычисляется синус всех значений меньше 5, косинус всех значений равных или больше 5 и меньше 20; значениям больше 50 присваивается 100; а остальным значениям, которые больше или равны 20, но меньше 50, присваивается 0.

В условном выражении функции Con можно использовать несколько параметров.



conCC[in1ayer1] > 5 & [inlayer1] < 10), 5, 100)

В условном выражении к входным растровым наборам данных и растровым слоям можно применять операторы и функции и оценивать результат.

conCsinC[in1ayer1]) > .5, 10, 100) conCC[in1ayer1] + [inlayer2]) > 10, 100, 5) conC[inlayer1] > 5, cosC[inlayer1]), sinC[inlayer1]))

Функция Con может быть вложена в другую функцию Con.

conC[in1ayer1] > 23, 5, conC[in1ayer1] > 20, 12, conCCC[in1ayer1] > 2) & Cingrid1 < 17)),

sinC[inlayer1]), 100)))

В условном выражении или в выражении вычислений с ячейками можно использовать несколько растровых наборов данных или растровых слоев.

conC[inlayer1] + c:\data\ingrid2 > 7, sinC[inlayer1]), cosCc:\data\ingrid2))

conC[in1ayer1] < 9, [inlayer1] * c:\data\ingrid2 + tanC[inlayer3]), cosC[inlayer1]))



Правила Алгебры карт

Далее следует краткое руководство по использованию Алгебры карт в Spatial Analyst. Обзор Алгебры карт представлен в виде формулировок правил и примеров к ним. В этом разделе описана только грамматика языка. Примеры могут не соответствовать точно вашей задаче, но, разбивая свое выражение на компоненты, вы можете определить грамматические правила, применимые к каждой части выражения.

Общие правила Алгебры карт

Результатом выполнения выражения Алгебры карт в Калькуляторе растров может быть растровый набор данных, шейп-файл, таблица или файл, хранящийся на диске, например файл ASCII.

Все операторы должны быть отделены от операндов пробелами, с обоих сторон:

[inlayer1] * [inlayer2] div c:\data\ingridB [inlayer1] & [inlayer2]

[inlayer1] + c:\results\ingrid2 - [in1ayerB]

Скобки - это не операторы, и их не нужно отделять пробелами: C[inlayer1] div [inlayer2]) * [in1ayerB] [inlayer1] + C[inlayer2] + 8)

CC[inlayer1] * 6) + [inlayer2]) & d:\data\ingridB

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

[inlayer 1] + [inlayer2] [in1ayer12B45] + [inlayer2]

Знаки (, { и \ в именах использовать нельзя.

Правила Алгебры карт для операторов

Большинство операторов применяется к нескольким растровым слоям, целочисленным или с плавающей точкой наборам данных гридов:

[inlayer1] * [inlayer2] [inlayer1] && [inlayer2] [inlayer1] diff [inlayer2]

Обычно оператор помещается между двумя растровыми наборами данных или слоями; однако, унарные (одноместные) операторы из-за своей природы располагаются перед единственным набором данных грида или растровым слоем:

- [in1ayer1]

АЛ c:\mydirectory\ingrid1 A [in1ayer1]

Если встречается значение Нет данных в какой либо ячейке входного растрового слоя или набора данных грида, при выполнении любого оператора эта ячейка в результирующем растре получит значение нет данных .

Выражение может быть построено из нескольких операторов: [in1ayer1] + [in1ayer2] - [inlayerB] e:\sp\ingrid1 mod [in1ayer2] div e:\sp\ingridB Л [in1ayer1] & [in1ayer2]

Скобки и выражения с несколькими операторами, наборами даннех или растров1ми слоями

Когда выражение включает несколько операторов, порядок их обработки зависит от значений приоритета, присвоенных операторам (см. Приложение B). Чем выше значение приоритета, тем раньше будет обработан оператор.



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