- •24 Апреля 2013 г.
- •Предисловие
- •1. Географическая информационная система mapinfo
- •1.1. Основные понятия географической информационной системы и геоинформатики
- •1.2. Возможности MapInfo
- •1.3 Основные понятия MapInfo
- •1.4. Технология работы в mapinfo
- •1.5. Запуск MapInfo Professional
- •1.6. Инструментальные панели
- •2. Привязка растровых карт к системе координат гис-проекта
- •2.1. Поддержка растровых изображений в MapInfo
- •2.2. Регистрация растровых изображений в mapinfo
- •2.3. Задание для выполнения лабораторной работы
- •3. Векторизация растровых изображений объектов лесопромышленного комплекса
- •3.1. Создание и изменение структуры таблицы
- •3.2. Инструменты создания и редактирования объектов
- •3.3. Создание и изменение полигонов и полилиний
- •3.3.1. Ортогонализация полигонов
- •3.3.2. Трассировка полилиний и полигонов
- •3.3.3. Преобразование полилиний в полигоны
- •3.3.4. Разделение полилиний в узлах
- •3.3.5. Изменение стиля области
- •3.3.6. Изменение стиля линии
- •3.4. Создание и изменения стиля символов
- •3.5. Создание и редактирование стиля текста
- •3.6. Редактирование с помощью изменяемого объекта
- •3.7. Создание, перемещение, добавление и удаление узлов объектов
- •3.8. Задание для выполнения лабораторной работы
- •4. Выборка группы данных и выполнение запросов
- •4.1. Выборка пространственных данных в MapInfo
- •4.2. Запросы к базам данных в гис
- •4.3. Геокодирование. Совмещение атрибутивных баз данных с картографическими базами данных
- •Последовательность совмещения двух таблиц в MapInfo:
- •4.4. Задание для выполнения лабораторной работы
- •Перечень полей таблиц выделов лесничеств
- •Последовательность выполнения лабораторной работы:
- •5. Создание тематических карт
- •5.1. Типы тематических карт в MapInfo
- •5.2 Создание и изменение тематической Карты
- •5.3. Задание для выполнения лабораторной работы
- •6. Создание легенд и отчетов
- •6.1 Создание легенд
- •6.2. Работа с Отчетами
- •6.3. Сохранение окна в растровых форматах
- •6.4. Импорт и экспорт данных
- •6.5. Создание отчетов Crystal Reports
- •6.6. Задание для выполнения лабораторной работы
- •7. Геоанализ и моделирование в mapinfo
- •7.1. Создание буферной зоны
- •7.2. Районирование
- •7.4. Задание для выполнения лабораторной работы
- •Приложения
- •Варианты заданий
4.2. Запросы к базам данных в гис
Запрос – это математический вопрос, который задается базе данных для получения определенной информации. В MapInfo Professional есть два инструмента составления запросов – Выбрать и SQL-запрос.
В MapInfo Professional существует две команды, с помощью которых можно выбирать объекты по запросу: Выбрать и SQL-запрос. Команда Выбрать составляет более простые запросы, чем SQL-запрос.
Команда Выбрать позволяет формулировать запросы к таблице. С ее помощью можно выбирать записи и сопоставленные им графические объекты по значениям их атрибутов. Таким образом, можно выделять в окне Карты или Списка объекты, удовлетворяющие определенному критерию. Результаты запросов можно сохранять в виде таблиц, просматривать в окнах Списков, Карт и Графиков.
Для того чтобы выполнить простой запрос необходимо:
Выберите команду Запрос > Выбрать. Появится диалог Выбрать (рис. 4.1).
Откройте список раскрывающегося меню Выбрать записи из таблицы и выберите таблицу, записи которой хотите выбрать.
Введите условие выбора в окошко согласно условию или вручную, или с помощью диалога выражения, который можно вызвать, нажав на кнопку Составить.
Дайте имя временной таблице в окошке Поместить результат в или оставьте стандартное. Если Вы оставили SELECTION, то MapInfo автоматически даст имя временной таблице такое, как Query1, Query2 и т. д. Эту таблицу можно также записать, выполнив команду Файл > Сохранить копию.
Для сортировки запроса по значению в колонке: выберите в меню Упорядочить по колонке имя колонки, по величинам из которой будет проведена сортировка.
Нажмите OK. Таблица запроса будет показана в окне Списка, если установлен флажок Результат в Список.
Рис. 4.1. Диалог «Выбрать»
Команда SQL-запрос позволяет решать следующие задачи в MapInfo:
создавать вычисляемые колонки – колонки, значения в которых вычисляются на основании значений в уже существующих колонках
обобщать данные таким образом, просматривать суммарные значения, а не данные всей таблицы
объединять две таблицы или более в одну новую таблицу
показывать только те колонки и строки, которые Вас интересуют.
Чтобы создать SQL-запрос:
Откройте таблицу с данными, на основе которых будет осуществляться запрос. Эту таблицу мы будем называть исходной таблицей. Если выполнить SQL-запрос к таблице Лисинское, то таблица Лисинское будет исходной таблицей.
Выберите команду Запрос > SQL-запрос. Будет открыт диалог SQL-запрос. Заполните окошки для определения запроса. Нажмите на кнопку OK, MapInfo выполнит запрос.
На основе данных исходной таблицы MapInfo Professional строит специальную временную таблицу, которую мы будем называть результирующей. Результирующая таблица состоит только из тех, строк и колонок, которые отвечают критериям выполненного SQL-запроса.
Стандартное имя для результирующей таблицы – Selection (если Вы не изменили это имя в окошке И поместить в таблицу в диалоге SQL-запрос).
Откройте окно Карты или Списка с результирующей таблицей, если хотите просмотреть результаты запроса. Если в диалоге SQL-запрос был установлен флажок Результат в список, то окно Списка с результатами запроса откроется автоматически после выполнения запроса.
Если оставить стандартное название результирующей таблицы Selection, то временные таблицы в окнах списков будут называться по другому: Query1, Query2 и так далее. Это происходит для того, чтобы зафиксировать результат запроса, так как таблица Selection постоянно меняется в зависимости от изменения условий выбора, а MapInfo Professional присваивает новым "снимкам" последовательные имена QueryN (где N – число, начинающееся с единицы). MapInfo Professional автоматически делает снимок специальной таблицы Selection, которая динамически меняется при выборе или отмене выбора записей.
Если задали свое имя для результирующей таблицы в диалоге SQL-запрос (например, можно назвать результирующую таблицу Мой_Запрос), то MapInfo не будет переименовывать результирующую таблицу в QueryN.
MapInfo автоматически выбирает все строки в результирующей таблице после выполнения запроса. Так после выполнения SQL-запроса сразу можете копировать эти строки. Например, можно поменять стиль оформления цвета штриховки для всех выбранных записей (командой Настройки > Стиль областей).
Изменения, сделанные в таблице запроса, автоматически дублируются в исходной (базовой) таблице. Например, пусть к таблице Лисинское, был применен SQL-запрос и получена результирующая таблица. Тогда, если удалить из нее несколько строк, то в базовой таблице Лисинское также будут удалены несколько строк. Однако, если запрос использует функции обобщения, то результирующая таблица не доступна для редактирования.
Используйте команду Файл > Сохранить копию, если хотите сохранить таблицу запроса как постоянную таблицу. Таблица, полученная в результате SQL-запроса, является временной и удаляется после завершения работы в MapInfo.
Шаблоны запросов можно создавать, когда сохраняете запрос или SQL-запрос в виде шаблона и перезагружаете его. При этом нет необходимости вводить параметры запроса каждый раз, когда этот запрос используете. Диалоги Выбрать и SQL-запрос имеют кнопки Сохранить и Загрузить, позволяющие решить эту задачу. Шаблоны запросов удобны для восстановления запросов в случае обновления таблиц, использующихся в этих запросах, или для выполнения запросов к таблице, имеющей такие же поля, как и у таблицы, к которой изначально был сделан запрос.
Можно загружать любой сохраненный шаблон запроса.
Для загрузки шаблона:
В диалоге Выбрать или SQL-запрос нажмите кнопку Загрузить. Откроется диалог Загрузить запрос из файла, в котором предлагается выбрать файл с расширением QRY.
Выберите нужный файл и нажмите кнопку Открыть. Откроется диалог SQL-запрос или Выбрать, в котором будут введены параметры, используемые в этом шаблоне запроса. Выполните запрос для создания таблицы запроса.
Составив запрос или SQL-запрос, нажмите кнопку Сохранить, чтобы сохранить запрос в виде шаблона.
Чтобы сохранить запрос в виде шаблона:
После завершения составления выборки или SQL-запроса нажмите кнопку Сохранить. Откроется диалог Сохранить запрос в файле.
Задайте имя файлу запроса, укажите каталог и нажмите кнопку Сохранить. Файлы запросов сохраняются с расширением QRY и размещаются в каталоге, определенном в Настройках (Настройки > Режимы > Каталоги).
При создании вычисляемой колонки MapInfo Professional использует определенное выражение в качестве названия колонки. Оно может быть неудобочитаемым. Можно задать псевдоним – свое название колонки. Например, колонка ОбщийЗапас в окне Списка из примера будет иметь название «ZapasGa*Area». Можно дать этой колонке более содержательное название.
Чтобы переименовать колонку, добавьте свое название в поле Выбрать колонки. Это название должно следовать сразу после вычисляемого выражения, отделяться от него пробелом и быть заключено в двойные кавычки. Например: ZapasGa*Area "ОбщийЗапас". При создании временной таблицы запроса MapInfo Professional назовет колонку запаса "ОбщийЗапас".
Псевдонимы можно задавать не только для вычисляемых колонок, но и для обычных колонок. Этот процесс аналогичен процессу создания вычисляемой колонки:
При составлении запросов задается условие или составляется выражение. Выражение используется для создания математических и алфавитно-цифровых выражений формул в различных диалогах MapInfo:
Запрос > Выбрать > Составить;
Запрос > SQL-запрос;
Таблица > Обновить колонку > Составить;
Карта > Создать тематическую карту > Далее > Выражение (в списке полей);
Карта > Управление слоями > Подписи > Выражение (в списке «из колонки»);
Объекты > Буфер (в списке «из колонки»);
Список > Внести поля (в списке «Поля в таблице»).
Выражения можно разделить на две группы:
выражения, в результате вычисления которых получается логическая величина (TRUE или FALSE);
выражения, в результате вычисления которых получается численная или строковая величина.
Выражения первой группы обычно состоят из нескольких подвыражений и операторов сравнения между ними. Логические выражения могут участвовать в выборе объектов. Выражения второй группы не используют операторы сравнения и не имеют подвыражений. Эти выражения используются в тематическом выделении объектов, обновлении колонок и построении временной колонки, задании вида подписи.
При составлении выражений используются следующие операторы:
Математические операторы: сложение, вычитание, умножение, деление, знаки "больше", "меньше" и "равно" и др. С помощью этих символов можно создавать математические формулы.
Логические операторы AND, NOT, OR и LIKE. Оператор LIKE может использоваться с двумя видами замещающих символов: «%» и «_». Символ-заменитель «%» соответствует нескольким символам или ни одному. Символ-заменитель «_» замещает ровно один символ.
В MapInfo Professional имеется несколько функций обобщения, позволяющих вычислять новую информацию на основе имеющихся сведений. Эти функции можно использовать в диалоге команды Обновить колонку, если в диалоге Обновить колонку используются две таблицы. Среди них – Average, Count, Minimum, Maximum, Sum, Weighted Average, Proportion Sum, Proportion Average и Proportion Weighted Average.
Символьные константы в выражении заключаются в кавычки. Если строка не заключена в кавычки, то MapInfo Professional будет воспринимать её как имя поля (колонки).
Дата состоит из месяца дня и года (последнее необязательно). Год может задаваться двумя или четырьмя цифрами. Значения месяца, дня и года разделяются либо знаком дефиса, либо косой чертой. Сама дата заключается в кавычки. Если год в дате не задан, то понимается, что эта дата текущего года. Например: «1-20-13», «01/20/2013», «1/20».
При использовании строковых операторов «+» и «&» в выражениях строки должны быть заключены в двойные кавычки, например «4»+«5» дает «45».
В MapInfo Professional имеется несколько географических операторов. Они используются для выбора объектов на основании их взаимного расположения в пространстве. С географическими операторами в MapInfo Professional используется специальное зарезервированное слово: "obj" или "object". Оно определяет, что MapInfo Professional должно вычислить значение на основании графических объектов, а не соответствующих им табличных данных. Например: Contains (Содержит), Within (Внутри), Intersects (Пересекает) и др.
В MapInfo используются ключевые слова: any (любой), all (все), in (в), between (между).
Кроме вышеперечисленных операторов при составлении выражений широко используются функции. Функции производят с исходными значениями данных некоторые преобразования для получения новых значений. Функции имеют вид: Имя Функции (параметры).
Большинство функций MapInfo имеют один или два параметра. Параметром может быть название колонки или выражение.
В географических функциях MapInfo — Area, CentroidX, CentroidY, ObjectLen, Perimeter — используется ключевое слово "obj" или "object". Оно означает, что MapInfo использует значение, относящееся к графическому объекту, а не числовые данные из таблицы.
Математические функции: Abs, Cos, Sin, Tan, Maximum, Minimum и др.
Функции для работы с датами: CurDate, Day, Month. и др.
Строчные функции: Val, Format и др.
Функции, возвращающие географические величины:Area, CentroidX, Diatanse, Perimeter, ObjectLen. Например: функция Area(obj, «hectare») вычисляет площадь полигонального объекта в гектарах.
Более подробное описание операторов и функций можно найти в справочной литературе по программе MapInfo […].
