Лабораторная работа.
Основы геоанализа в ГИС MapInfo 

Цель работы

Изучить и освоить основные возможности MapInfo при решении задач географического анализа, графические преобразования объектов, редактирование структуры таблиц, создание тематических карт.

Содержание работы

Работа выполняется бригадой студентов в составе 1-2 человек с использованием персонального компьютера и программы MapInfo. При выполнении работы студенты получают практический навык работы с основными функциями ГИС MapInfo на примере  редактирования электронной карты. Исходным материалом является цифровая карта мира.
В практической работе будут описаны следующие функции ГИС MapInfo:
    1) Удаление части объекта;
    2) SQL-запросы;
    3) Выборка объектов по условию;
    4) Объединение объектов;
    5) Перестройка структуры таблицы;
    6) Упаковка табличных и графических данных;
    7) Создание тематической карты.

Практические рекомендации и пояснения по выполнению работы

    1. Открытие таблиц

Для начала работы необходимо открыть цифровую карту мира и настроить ее отображение.
Для этого необходимо:
  • Открыть таблицы OCEAN.TAB и WORLD.TAB из папки WORLD, выполнив команду Файл / Открыть. В открывшемся окне выбрать необходимые таблицы и указать представление «В новой карте» (рис. 1).
 
Рисунок 1. Открытие таблиц

В результате должна открыться карта мира, состоящая из 2-х слоев: OCEAN и WORLD (рис. 2).
 Рисунок 2. Электронная карта мира

    2. SQL-запросы

SQL - стандартный язык, используемый для анализа информации из реляционных баз данных. Система управления базами данных MapInfo Professional основана на стандартном SQL-языке. 

SQL-запросы позволяют решать следующие задачи в MapInfo: 
  • создавать вычисляемые колонки – колонки, значения в которых вычисляются на основании значений в уже существующих колонках; 
  • обобщать данные таким образом, просматривать суммарные значения, а не данные по всей таблице; 
  • объединять две или более таблицы в одну новую таблицу; 
  • показывать только те колонки и строки, которые интересуют пользователя;
  • выбирать объекты на основании их взаимного расположения в пространстве.
Общий порядок построения SQL-запроса в MapInfo:
    1. Открыть таблицу с данными, на основе которых будет осуществляться запрос, если она еще не открыта. Эта таблица будет называться исходной таблицей. Если выполнить SQL-запрос к таблице World, то таблица World будет исходной таблицей. 
    2. Выбрать команду Запрос/SQL-запрос. Будет открыт диалог SQL-запрос. Заполнить окошки для определения запроса. Нажмите на кнопку OK, MapInfo выполнит запрос. 
На основе данных исходной таблицы MapInfo Professional строит специальную временную таблицу, которая называется результирующей. Результирующая таблица состоит только из тех, строк и колонок, которые отвечают критериям выполненного SQL-запроса. Стандартное имя для результирующей таблицы - SELECTION (если   имя таблицы не указано в окошке «И поместить в таблицу» в диалоге «SQL-запрос»). 
    3. Открыть окно Карты или Списка с результирующей таблицей, если хотите просмотреть результаты запроса. Если в диалоге «SQL-запрос» был установлен флажок «Результат в список», то окно Списка с результатами запроса откроется автоматически после выполнения запроса. 
Если оставить стандартное название результирующей таблицы SELECTION, то временные таблицы в окнах списков будут называться по-другому: Query1, Query2 и так далее. Это происходит для того, чтобы зафиксировать результат запроса, так как таблица SELECTION постоянно меняется в зависимости от изменения условий выбора, а MapInfo Professional присваивает новым "снимкам" последовательные имена Queryn (где n – число от единицы).

Построение SQL-запросов

Запрос 1: Найти численность мужского населения и общую численность населения в странах, площадь которых больше 1 млн. км2.
Для построения SQL-запроса необходимо:
  • Выполнить команду меню «Запрос / SQL-запрос»;
  • Заполнить поля формулировки запроса, используя списки доступных объектов, показанные на рисунке 3, или клавиатуру;
 
Рисунок 3. Окно составления SQL запросов

Составление запроса необходимо начинать с указания таблицы (или таблиц), из которой нужно взять данные, в поле «из таблицы». 
  • Поставить курсор в поле «из таблицы» и выбрать из списка «Таблицы» таблицу «WORLD»;
  • Далее указываются колонки выбранной таблицы (или таблиц), которые нужно отобразить в результирующей таблице, условие отбора и сортировку.
  • Поставить курсор в поле «Выбрать колонки», удалить знак *, выбрать из списка «Колонки» колонки «Страна», «Pop_Male», «Население», разделяя их запятыми. В конце поставить запятую. Результат: «Страна,Pop_Male,Население,»;
  • Не убирая мигающий курсор из поля «Выбрать колонки» выбрать из списка «Функции» функцию Area. При этом в поле «Выбрать колонки» появится функция Area(obj, "sq km"). Результат: «Страна,Pop_Male,Население, Area(obj, "sq km")»;
  • В поле «с условием» указать условие отбора данных: Area(obj, "sq km")>1000000;
  • В поле «сортировать по колонкам» указать колонку «Страна». Происходит упорядочивание записей по наименованиям стран (по алфавиту);
  • В поле «и поместить в таблицу» указать название результирующей таблицы «Запрос_страны»;
  • Нажать кнопку «Проверить» для проверки правильности составления запроса.
Результат изображен на рисунке 4.
 Рисунок 4. Составление SQL-запроса 1
  • Для выполнения запроса нажать кнопку «OK».
Результат выполнения запроса показан на рисунке 5.
Рисунок 5. Результат выполнения запроса 1

Запрос 2: Найти количество стран и общую численность женского населения для  каждого континента.
Для выполнения запроса необходимо:
  • Указать в поле «из таблиц» таблицу «WORLD»;
  • В поле «Выбрать колонки» ввести: Континент,Count(*),Sum(Pop_Fem). Здесь функция Count(*) применяется для нахождения количества стран на каждом континенте (находится  в списке «Обобщение»), функция Sum() применяется для нахождения суммы женского населения во всех странах каждого континента, Функции Count() и Sum() являются обобщающими функциями и чаще всего работают с группировкой;
  • В поле «Группировать по колонкам» указать колонку «Континент». Группировка, в данном случае, группирует все страны по континентам. Это обеспечивает возможность использования обобщающих функций.
  • В поле «Сортировать по колонкам» указать колонку «Континент»;
  • Результат поместить в таблице «Запрос_континенты».
Результат составления запроса показан на рисунке 6.
Результат выполнения запроса показан на рисунке 7.
 Рисунок 6. Составление запроса 2
 
Рисунок 7. Результат выполнения запроса 2

    3. Вырезание части объекта

Если курсором мыши выделить объект Океан (вся область синего цвета) или в окне «Управление слоями» скрыть слой «WORLD», то можно заметить что океан проходит под материками, чего быть не должно. Необходимо удалить из объекта Океан материки,  которые в свою очередь «состоят» из объектов-стран. То есть, нужно выделить все страны и вырезать под них область в объекте Океан. 
Для этого нужно:
  • Открыть окно «Управление слоями», нажав на кнопку на панели инструментов;
  • В открывшемся окне сделать слой «OCEAN» изменяемым (рис. 8) и нажать кнопку «OK»;
Рисунок 8. Управление слоями
  • Выделить объект Океан;
  • Выбрать объект, который нужно изменить (из которого нужно удалить часть), выполнив команду меню «Объекты / Выбрать изменяемый объект», при этом объект выделиться как показано на рисунке 9. (Если потребуется освободить изменяемый объект, то нужно выполнить команду меню Объекты / Освободить изменяемый объект.);
Рисунок 9. Выделение изменяемого объекта
  • Выбрать объекты, по которым будет вырезаться область из изменяемого объекта, выполнив команду меню «Запрос / Выбрать»;
  • В открывшемся окне ввести значения параметров выборки, показанные на рисунке 10;
 
Рисунок 10. Выбор всех объектов (без условия) из слоя WORLD

В результате на карте подсветятся все объекты из слоя «WORLD» и откроется список, содержащий эти объекты (рис. 11).
 
Рисунок 11. Выделенные объекты из слоя WORLD
  • Выполнить команду меню «Объекты / Удалить часть». После вызова команды появиться окно «Разобщение данных»;
  • В окне «Разобщение данных» указать параметры, показанные на рисунке 12.
 
Рисунок 12. Разобщение данных при удалении части объекта

При выполнении данной команды в поле Name будет записано значение «Океан».
Результат операции вырезания части (области материков) из объекта Океан показан на рисунке 13.
 Рисунок 13. Результат вырезания части (области материков) из объекта Океан

Теперь океан занимает всю область вокруг материков, но не распространяется под ними.

    4. Объединение объектов

Следующая задача – объединение стран по континентам.
Для выполнения этой задачи необходимо:
  • Пометить слой WORLD как изменяемый (рис. 14);
 
Рисунок 14. Выбор слоя для изменения

Теперь нужно сделать выборку стран по каждому континенту (Азия, Африка, Австралия, Европа, Северная Америка, Южная Америка, Океания).

  • Для начала сделаем выборку по Азии, для этого необходимо выполнить команду меню «Запрос / Выбрать» и в открывшемся окне указать параметры выборки, показанные на рисунке 15;
 Рисунок 15. Выборка объектов по континенту Азия

На карте будут подсвечены объекты, удовлетворяющие данному условию, также эти объекты будут отображены в виде списка (рис. 16).
 Рисунок 16. Страны Азии
  • Для выполнения объединения выделить окно карты, щелкнув по заголовку и выполнить команду меню «Объекты / Объединить»;
  • В появившемся окне «Обобщение данных» для первых 4-х полей (Страна, Country, Столица, Capital) указать пустое значение, поскольку итоговый объект не будет являться страной, и не будет иметь столицы (рис. 17). Для выделения нескольких полей, стоящих в списке подряд, нужно, удерживая нажатой клавишу Shift, мышью указать начальное и конечное поле. Для выделения нескольких отдельных полей, необходимо, удерживая кнопку Ctrl, указать курсором мыши все необходимые поля. Применение метода обобщения осуществляется на все выделенные поля;
 
Рисунок 17. Обобщение данных при объединении объектов
  • Для остальных континентов необходимо проделать аналогичные операции, изменяя условие выборки (рис. 15);
Результат выполнения объединения объектов показан на рисунке 18
 Рисунок 18. Результат выполнения объединения объектов
  • После  этого нужно сохранить таблицы, выполнив команду «Файл / Сохранить таблицу» и в появившемся окне выбрать все таблицы как показано на рисунке 19.
 Рисунок 19. Сохранение таблиц

    5. Перестройка структуры таблицы

Поскольку теперь объекты-страны объединены в континенты поля «Страна», «Capital», «Столица», «Capital» таблицы «WORLD» не нужны. 
Для их удаления необходимо:
  • Перестроить структуру таблицы «WORLD», выполнив команду «Таблица / Изменить / Перестроить»;
  • В открывшемся окне выбрать таблицу «WORLD» (сохранить таблицу, если потребуется);
  • В окне «Перестройка структуры таблицы: WORLD» удалить ненужные поля (рис. 20);
 Рисунок 20. Структура таблицы: WORLD

После изменения структуры таблицы «WORLD» необходимо в диалоговом окне «Управление слоями» добавить слой «WORLD» в карту. Для этого нужно:
  • Открыть окно «Управление слоями» (кнопка на панели инструментов );
  • Нажать кнопку «Добавить» (рис. 21);
  • В появившемся окне выбрать нужный слой и нажать кнопку «Добавить»;
  • Нажать «ОК».
 Рисунок 21. Добавление слоя «WORLD» в карту

    6. Упаковка табличных и графических данных

Операция упаковки таблицы позволяет сжать табличные файлы и тем самым сэкономить место на диске. Можно упаковывать либо только числовые данные, либо только графические объекты, либо и то, и другое. При упаковке числовых данных таблица очищается от удаленных записей.

Чтобы упаковать таблицу нужно: 
  • В меню «Таблица» выберите «Изменить» и нажмите «Упаковать». На экран будет выведен диалог «Упаковка»;
  • В списке «Упаковать:» выбрать имя таблицы (WORLD);
  • Выбрать кнопку переключателя, соответствующую нужному способу упаковки. В данном случае выбрать «Упаковать все»;
  • Нажать OK;
  • После упаковки данных добавить слой «WORLD» в карту в окне «Управление слоями».
    7. Создание тематической карты

Тематическими называются карты, объекты на которых выделены графическими средствами в зависимости от сопоставленных им значений. К графическим средствам относятся раскраска, штриховка, различные виды символов, графики и круговые диаграммы. Тематические карты помогают выявлять тенденции и взаимосвязи данных. Операция создания тематических карт называется условным выделением. Данные, отображаемые на тематических картах, называются тематическими переменными. В качестве тематической переменной может использоваться выражение. 
 В MapInfo можно создавать тематические карты семи типов: диапазоны, столбчатые диаграммы, круговые диаграммы, размерные символы (значки), плотность точек, отдельные значения, поверхности.   
Для создания тематической карты нужно:
  • Выполнить команду меню «Карта / Создать тематическую карту»;
  • В открывшемся окне выбрать тип: «Круговая», Имя шаблона: «Pie Chart Default» или «Круговая картодиаграмма, стандартная»;
  • Нажать кнопку «Далее»;
  • В появившемся окне выбрать таблицу «WORLD», выделить поля Pop_0_14 (Количество детей), Pop_15_64 (Количество работоспособных людей), Pop_65Plus (Количество пожилых людей) и нажать кнопку «Добавить» (рисунок 22);
 
Рисунок 22. Выбор полей для тематической карты
  • Нажать кнопку «Далее»;
  • В появившемся окне нажать кнопку «Стили…» и отредактировать внешний вид диаграммы, как показано на рисунке 23;
 
Рисунок 23. Стили круговой картодиаграммы
  • В окне «Настройки круговой диаграммы» нажать кнопку «ОК»;
  • В окне «Создание тематической карты» нажать кнопку «Легенда…»;
  • В окне «Настройка легенды» задать заголовок легенды и подписи для каждой переменной (рис. 24).
 
Рисунок 24. Настройка легенды тематической карты
  • Нажать кнопку «OK».
В результате будет построена тематическая карта, которая отображает количество детей, людей рабочего и пожилого возраста (рис. 25).
 Рисунок 25. Готовая тематическая карта
ċ
WORLD_файлы для лабораторной No.2.7z
(299k)
Станислав Кацко,
13 февр. 2012 г., 20:57