Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MI_UG_7.pdf
Скачиваний:
174
Добавлен:
13.02.2015
Размер:
8.59 Mб
Скачать

Глава 14: Районирование и создание выражений в MapInfo Professional

Создание выражений

Процесс построения выражений в MapInfo похож на то, как мы пишем предложения на родном языке. В нашем распоряжении есть набор слов, которые можно использовать, и синтаксические правила для соединения этих слов. Синтаксис выражений MapInfo гораздо проще синтаксиса русского языка. Правила русского языка кажутся нам простыми только потому, что мы пользуемся им постоянно, а правила составления выражений могут только на первых порах показаться сложными.

Впрочем, как и предложения русского языка, выражения в MapInfo можно сделать весьма сложными. Если Вы не освоились с созданием сложных выражений, все равно возможности, предоставляемые простыми выражениями, создаваемыми в диалогах команд MapInfo, позволяют управлять данными вполне профессионально.

Составление простых выражений

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

Простейшие возможные выражения состоят из названий колонок, например:

1.НАСЕЛЕНИЕ_1990

2.ОБЛАСТЬ

Такие выражения Вы можете использовать в команде ВЫДЕЛИТЬ УСЛОВНО, чтобы указать, какие данные должны быть отображены на карте. В команде ОБНОВИТЬ КОЛОНКУ подобное выражение задает данные, которые следует использовать при пересчете таблицы.

Чуть более сложными являются выражения:

3.НАСЕЛЕНИЕ_1990 > 17893

4.НАСЕЛЕНИЕ_1990 <= НАСЕЛЕНИЕ_1980

5.РАЙОН <> ”Выхино”

6.НАСЕЛЕНИЕ_1980 * 1.2

7.НАСЕЛЕНИЕ_1990 / ОБЩ_ПЛОЩАДЬ

8.Round(НАСЕЛЕНИЕ_1990 / ОБЩ_ПЛОЩАДЬ,.1)

MapInfo Professional 7.5 Руководство пользователя (Сокращенное)

429

Создание выражений

В первых трех примерах используется оператор сравнения. Первое выражение задает проверку: было ли в 1990 году население больше (>) заданной константы (17893). Второе проверяет, какие значения в колонке "НАСЕЛЕНИЕ_1990" меньше или равны (<=) значениям из другой колонки – "НАСЕЛЕНИЕ_1980". Третье проверяет, относится ли запись к району Москвы Выхино. Если название района не равно (<>) “Выхино”, то запись попадает в выборку. Такие выражения могут быть применены в команде ВЫБРАТЬ или в окошке С условием команды SQL-ЗАПРОС. Эти команды делают выборку записей из таблицы, удовлетворяющих заданному выражению.

Примеры 6 и 7 используют арифметические операторы. В примере 6 значения в колонке "НАСЕЛЕНИЕ_1980" умножаются (*) на константу (1.2), а в примере 7 значения из одной колонки ("НАСЕЛЕНИЕ_1990") делятся на значения из другой колонки ("ОБЩ_ПЛОЩАДЬ").

В примере 8 применена функция округления, округляющая значение выражения “НАСЕЛЕНИЕ_1990 / ПЛОЩАДЬ” до ближайшей десятой доли (.1).

Выражения 6, 7 и 8 не содержат операторов сравнения и поэтому не могут быть использованы в команде ВЫБРАТЬ или в окошке С условием команды SQL-ЗАПРОС. Однако Вы можете применить их в командах ВЫДЕЛИТЬ УСЛОВНО, ОБНОВИТЬ КОЛОНКУ или в окошке

Выбрать колонки команды SQL-ЗАПРОС.

Составление сложных выражений

Теперь рассмотрим примеры 9 и 10, более сложнее, чем 1-8:

9.НАСЕЛЕНИЕ > НАСЕЛЕНИЕ*1.2

10.Round((НАСЕЛЕНИЕ*1.2)/ОБЩ_ПЛОЩАДЬ,.1)

Мы создали выражение 9, взяв выражение 3 и заменив константу “17893” выражением 6. Аналогично, выражение 10 получено из выражения 8 заменой названия “НАСЕЛЕНИЕ_1990” выражением 6.

В общем случае, сложные выражения получаются путем объединения простых выражений. Возможно, лучшим способом изучения сложных выражений будет для Вас составление сложных выражений из примеров, которые приведены выше и будут еще рассмотрены в этой главе. Сложные выражения создаются в основном двумя способами:

заменой названия колонки или константы на простое выражение;

соединением выражений с помощью логических операторов (And, Not, Or). Иллюстрацией первого способа является пример 9. О логических операторах речь пойдет ниже.

430

MapInfo Professional 7.5

Глава 14: Районирование и создание выражений в MapInfo Professional

Задание констант

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

Символьные строки

Если Вы употребляете в выражении строку символов, то эта строка должна быть заключена в двойные кавычки. Таким образом MapInfo отличает строки символов от названий колонок. Например, строки 11 и 12 из приведенных ниже являются строками-константами, а 13 и 14 – не являются.

11.”Единая Россия”

12.”Москва”

13.Единая Россия

14.Москва

Числа

При задании числовых констант не набирайте запятые или знак доллара. Допустимы только цифры, десятичная точка, используемая как разделитель целой и дробной части, и знак “минус” для отрицательных чисел.

Даты

Выражение с датой включает день, месяц и иногда год. Год обозначается двумя или четырьмя цифрами. Вся дата заключается в двойные кавычки, причем месяцы, дни и годы отделяются друг от друга знаками тире или наклонной чертой (/). Вот примеры допустимых дат, обозначающих двадцатое января:

15.”1–20–92”

16.”01/20/1992”

17.”1/20”

MapInfo Professional 7.5 Руководство пользователя (Сокращенное)

431

Создание выражений

Операторы - Математические операторы

:

Оператор

Описание

Пример

 

 

 

+

сложение

A + B

 

 

 

-

вычитание или отрицательное

A - B (вычитание)

 

числоs

-A (ввод отрицательного числа)

 

 

 

*

умножение

A * B

 

 

 

/

деление

A / B

 

 

 

^

возведение в степень

A ^ B

 

 

 

\

деление без остатка

A\B

 

 

 

mod

modulo arithmetic

A mod B

 

 

 

Обратите внимание, что Вы можете:

добавлять числа к дате с целью получения другой даты;

вычитать число из даты для получения другой даты;

вычитать дату из даты для получения числа дней.

Когда Вы добавляете числа к датам или вычитаете числа из дат, программа рассматривает числа как определенное количество дней. Так, если Вы добавляете или вычитаете неделю, надо использовать число 7; когда Вы хотите добавить или вычесть месяц, надо использовать 30 или 31; когда MapInfo вычитает дату из даты, результатом будет число дней.

Операторы - Строковые операторы

+ “concatenation” — соединяет строковую константу со строковой.

&(может использоваться если перед этим стоит пробел)

Все строковые константы должны быть заключены в двойные кавычки. Рассмотрим, например,

"Ms. " + Фамилия

При вычислении значения этого выражения MapInfo поставит "Ms. " перед каждым значением фамилии. Строковая константа ("Ms. ") взята в двойные кавычки. Аналогично,

"Здравствуй, " + "мир"

создает строку“Здравствуй, мир”, а

432

MapInfo Professional 7.5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]