Задание постоянных значений (констант)




Некравцева Т.А., Корелина Т.В.

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

 

к выполнению лабораторной работы № 7

по дисциплине «Геоинформационные системы»

для студентов дневной и заочной формы обучения

по специальности

230201 «Информационные системы и технологии».

 

Воронеж 2004


ОБЩИЕ МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ

Целью лабораторной работы является знакомство с настольной геоинформационной системой MapInfo и формирование собственных выражений при различных видах обработки. Для достижения этой цели необходимо:

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

Изучить виды операторов, используемые в MapInfo;

Познакомиться с функциональными возможностями MapInfo.

В результате выполнения лабораторных работ студент должен знать:

Что такое простое и составное выражение в MapInfo;

Знать основные операторы MapInfo;

Знать какие функции можно использовать в MapInfo при составлении выражений;

Изучить приоритет операций, используемый в MapInfo.

 

Используемое в процессе работы оборудование: ПЭВМ класса IBM PC/486 стандартной конфигурации.

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

Указания по сдаче зачета преподавателю.

Для того, чтобы сдать зачет по лабораторной работе необходимо:

предъявить оформленный отчет;

ответить на контрольные вопросы.

 

ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ ДЛЯ ДОМАШНЕГО ИЗУЧЕНИЯ

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

 

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

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

 

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

 

Простые выражения

 

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

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

1. НАС_1990

2. ОБЛАСТЬ

Такие выражена; Вы можете использовать в команде Выделить условно, чтобы указать, какие данные должны быть отображены на карте. В команде Обновить КОЛОНКУ, подобное выражение задаст данные, которые следует использовать при пересчете таблицы.

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

3. НАС_1990 > 17983

4. НАС_1990 <= НАС_1980

5. ОБЛАСТЬ < > "Выхино"

6. НАС_1980 * 1.2

7. НАС_1990 / ПЛОЩАДЬ

8. round (НАС_1980 / ПЛОЩАДЬ,.1)

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

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

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

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

 

Сложные выражения

 

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

9. НАС_1990 > НАС_1980*1.2

10. round((НАС_1980*1.2) / ПЛОЩАДЬ,.1)

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

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

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

Соединенном выражений с помощью логических операторов (and, not, or).

 

Задание постоянных значений (констант)

 

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

 

Строки символов

 

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

11. "Яблоко"

12. "Новый Орлеан"

13. Яблоко

14. Новый Орлеан

 

Числа

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

 

Даты

 

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

15. "1-20-94"

16. "01/20/1994"

17. "1/20"

 

Операторы

 

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

+ сложение А + В
- вычитание А - B (вычитание) -А (отрицательное число)
* умножение А * В
/ деление А / В
^ возведение в степень А ^ В

 

Разрешаются также следующие виды вычислений:

Прибавление числа к дате с получением новой даты

Вычитание числа из даты; с получением новой даты

Вычитание даты из даты с получением числа

При прибавлении чисел к датам или вычитании чисел из дат, MapInfo считает числа номером дня в месяце. Так, для вычитания или прибавления недели надо использовать число 7, а для вычитания или прибавления месяца – числа 30 или 31. При вычитании даты из даты результат содержит количество дней.

 

Строчный оператор

 

+ "склейка" – соединение строк или строковых выражений

 

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

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

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

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

Дает "Здравствуй, Мир", а

"дает строку "45.'

 

Операторы сравнения:

 

= "равно"
<> "не равно"
> "больше"
< ''меньше"
>= "больше или равно"
<= "меньше или равно"

 

Сравнение чисел

 

Числовое сравнение основано на сравнении значений числовых выражений и числовых констант.

18. Все дачные о домовладельцах, чей доход больше 65,000:

ДВ_ДОХОД > 65000

Внимание: Не используйте знак доллара или запятые! MapInfo не обрабатывает их и выдаст сообщение об ошибке.

19. Записи, где средний возраст равен 42:

СРЕД_ВОЗРАСТ = 42

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

20. Лучше применить следующее выражение:

Round(СРЕД_ВОЗРАСТ, 1) = 42

Внимание: Функция " Round (число, число)", округляет первый свой аргумент с точностью, задаваемой вторым аргументом. В приведенном примере первое число означает средний возраст (СРЕД_ ВОЗРАСТ), а второе (1) показывает, что средний возраст надо округлять до ближайшего целого числа.

21. Все суммы, не равные 23,000:

СУММА <> 23000

Внимание: Вы можете использовать функцию Round, если не имеете в виду только точное значение 23000.

 

Сравнение строк

 

Строковое сравнение основано на посимвольном сравнении строк. В этом смысле ">" означает "в алфавитном порядке больше" (т.е. идет позднее по алфавиту) и "<" означает "в алфавитном порядке меньше. При сравнении строк учитывается различие больших и малых букв.

Для того чтобы в выражении строки отличались от названий колонок, строки заключаются в двойные кавычки.

22. Все клиенты фирмы "Комета":

ПОСТАВЩИК = "Комета"

Внимание: Помните, что строка должна быть заключена в двойные кавычки, иначе MapInfo будет искать колонку с названием Комета.

23. Все, кроме клиентов фирмы "Комета":

ПОСТАВЩИК <> "Комета"

 

Сравнение дат

 

24. Все, что доставлено 9 октября 1991:

ДОСТАВЛЕНО = "10-9-91"

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

Дата заключена в двойные кавычки.

Она имеет вид: месяц-день-год.

Числа в дате разделены тире. Можно использовать также (/).

Год обозначен двумя цифрами. Может быть указано и четыре 1991.

25. Все, что доставлено после 9 октября 1991.

ДОСТАВЛЕНО > "10-9-91"

Внимание: Это выражение не выберет записи, относящиеся к 9 октября 1991. Если Вы хотите учитывать эту дату, то укажите ДОСТАВЛЕНО >= "10-9-91".

26. Все, что доставлено до августа:

26. Month(ДОСТАВЛЕНО) < 8

Внимание: Это выражение использует функцию Month для точного указания месяца. Если в Вашей базе есть данные за несколько лет, обратите внимание на то, что приведенное выражение не уточняет, какой именно год имеется в виду.

 

Логическое сравнение

 

27. Все, что было отправлено:

ОТПРАВЛЕНО

Внимание: Колонка "ОТПРАВЛЕНО" является логической. Она содержит "Т" в случае истинности и "F" в случае ложности утверждения. При отправке товара в ней ставится "Т". Иначе там стоит "F". Для отправленных товаров выражение из примера 27 имеет значение истина, для остальных - ложь.

28. Все, что не отправлено.

ОТПРАВЛЕНО = "F"

Not ОТПРАВЛЕНО

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-12-18 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: