Геокодирование (помещение данных на карту)
Теперь мы разместим клиентов на карте. Для этого каждой Вашей записи сопоставим пару географических координат.
В этом уроке будем использовать файл dBase, содержащий информацию о клиентах, и наш пример Карты уличной сети округа Колумбия для отображения на ней местоположения клиентов. Мы выполним следующие процедуры:
· Открытие файла в формате dBase.
· Привязка каждой записи к конкретному местоположению на Карте.
· Отображение данных на Карте.
Сначала мы откроем базу данных:
1. Выполните команду "Файл > Открыть таблицу". Появится диалог открытия таблицы. Откройте папку "\MapInfo\Data\Tut_data\Tut_Usa\USA\DC" и выберите формат "dBase DBF".
2. Выберите "Registr.dbf". Нажмите "Открыть".
3. Появится информационный диалог "dBase DBF". Нажмите OK.
Таблица dBase отобразится в окне Списка. Для начала пролистайте таблицу и ознакомьтесь с информацией о клиентах.
Присоединение координат
Прежде чем отобразить данные на Карте, нужно к каждой записи присоединить координаты X и Y. Присоединение координат X и Y к записи происходит, если находится соответствие между адресом в базе данных по клиентам Registr и адресом на Карте уличной сети. Процедура нахождения такого соответствия называется геокодированием.
Откроем Карту, на которую мы будем помещать наши данные:
1. Выполните команду "Файл > Открыть таблицу". Выберите файл "Dcwashs". Нажмите "Открыть".
2. Отобразится карта улиц города Вашингтона. Откройте окно Карты на весь экран.
Теперь Вы имеете Карту улиц (Dcwashs) и данные для привязки к этой Карте (Registr).
Для автоматического геокодирования:
1. Выполните команду "Таблица > Геокодирование". Появится диалог "Геокодирование".
2. Установите следующие режимы в диалоге "Геокодирование":
· Из списка таблиц для геокодирования выберите "Registr".
· Из списка "информация в колонке" выберите "Address".
· Оставьте значение "нет" для режима "в границах". В списке "Искать в таблице" выберите "Dcwashs".
· В списке "объекты из колонки" выберите "Street".
· Чтобы изменить символ и его атрибуты, нажмите кнопку "Символ".
· В диалоге "Стиль символа" выберите стрелку красного цвета и установите размер 18.
· Нажмите OK для возвращения к диалогу "Геокодирование ".
3. Нажмите OK, чтобы начать геокодирование.
4. Появится диалог, отображающий ход процесса геокодирования. Для каждой записи в базе данных по возможности находится соответствие на сети улиц из таблицы "Dcwashs". При автоматическом геокодировании MapInfo геокодирует каждую запись, для которой найдено соответствие между адресами и улицами. Процесс не приостанавливается даже тогда, когда встречается запись, для которой не найдено соответствие. Записи, для которых соответствие не найдено, мы рассмотрим ниже, когда будем изучать интерактивное геокодирование. По завершении процесса геокодирования отображается общий результат процедуры.
5. Нажмите OK.
Теперь мы будем интерактивно геокодировать 6 записей, для которых не было найдено соответствие.
6. Выполните команду "Таблица > Геокодирование" снова.
7. Установите следующие режимы в диалоге "Геокодирование":
· Из списка таблиц для геокодирования выберите "Registr".
· Из списка "информация в колонке" выберите "Address".
· Из списка "Искать в таблице" выберите "Dcwashs".
· В списке "объекты из колонки" выберите "Street".
· В "Режиме" выберите "Вручную".
· Нажмите OK, чтобы начать процесс.
MapInfo приостановит процесс геокодирования на первой записи, для которой не найдено соответствие, и покажет список альтернативных адресов или диапазоны номеров домов. Нажмите OK для адреса, если Вы считаете, что это соответствие достигнуто (например, если в адресе написано "ул" вместо слова "ул." или "улица"). Обнаружение "ул" вместо "ул." или "пер" вместо "пер." - наиболее часто встречающиеся различия. Поскольку высокая точность в данном случае не важна, выбирайте первое предложенное соответствие.
Отображение данных на Карте
Теперь отобразим клиентов на Карте уличной сети:
1. Щелкните на заголовке окна Карты "Dcwashs", чтобы сделать его активным.
2. В панели инструментов нажмите кнопку "Управление слоями" .
3. В появившемся диалоге в разделе "Слой" нажмите кнопку "Добавить". Откроется диалог "Добавить слои".
4. Из списка "Добавить слои" выберите "Registr" и нажмите "Добавить". Слой "Registr" будет помещен под Косметическим слоем. Нажмите OK. Карта улиц перерисуется, и теперь на ней символами-стрелками будут отображены клиенты.
Записи в таблице "Registr" теперь имеют связи по колонке "Address" с улицами в колонке "Street" таблицы "Dcwashs". Благодаря этому Вы видите, где на карте Вашингтона находятся клиенты. Теперь, когда Вы будете делать выборку записей клиентов, основываясь на данных из других колонок, результат будет отображаться географически на Карте.
Предположим, Вы хотите знать, какой клиент представлен конкретным значком. Для этого:
1. В панели "Пенал", нажмите кнопку "Информация" .
2. Поместите курсор над интересующим Вас символом и щелкните. MapInfo отобразит окно "Информация", содержащее сведения о выбранном клиенте.
Поздравляем, Вы успешно поместили данные на Карту! Выполните команду "Файл > Закрыть все", прежде чем мы перейдем к следующему уроку.
Выборки
Таблицы, которые Вы будете использовать в MapInfo, могут быть очень большими, поэтому иногда Вам будет удобнее работать только с частью таблицы. В этом уроке мы будем учиться делать выборку записей из таблицы MapInfo. Мы будем выбирать записи в окне карты вручную, используя инструменты выбора. Мы также будем выбирать записи, осуществляя запрос непосредственно к табличным данным. Это позволит нам выбирать те записи, которые отвечают определенным условиям.
В этом уроке мы будем использовать таблицы "Registr" и "Dcwashs" для изучения следующих приемов:
· Выбор объектов с использованием инструментов "Стрелка", "Выбор в рамке", "Выбор в круге", "Выбор в полигоне" и "Выбор в области".
Сначала мы откроем таблицы "Registr" и "Dcwashs" в виде Карт:
1. Выполните команду "Файл > Открыть".
2. В папке "\MapInfo\Data\Tut_data\Tut_Usa\USA\DC" выберите "Registr" и, удерживая клавишу CTRL нажатой, выберите "Dcwashs".
3. Нажмите "Открыть". Отобразятся обе карты.
4. Чтобы убедиться в том, что в окне Карты отображены все данные из таблицы, поместите курсор над картой, нажмите правую кнопку мыши и выберите в открывшемся меню "Показать полностью".
Выборка может быть сделана прмямо на экране, в окне Карты с помощью одной из кнопок выбора. Другой способ - это создание запроса в виде выражения с указанием атрибутивных данных и условий.
Географический запрос
Давайте поэкспериментируем с инструментом "Стрелка".
Кнопка "Стрелка" используется для выбора объектов карты по одному за раз. Щелкните мышкой на объекте или записи, и она будет выбрана. Чтобы выбрать несколько объектов, удерживайте нажатой клавишу SHIFT, пока щелкаете на объектах.
Выборка - это временная таблица. После того, как выборка произведена, Вы можете работать с ней в окне Карты, построить График, просматривать в табличном виде или использовать другие средства анализа данных. Большинство функций MapInfo одинково работает как на выборке, так и на всей таблице.
Чтобы для выбора объектов на карте можно было использовать инструмент "Стрелка", слой, из которого Вы хотите выбрать объекты, должен быть доступным. Вы можете выбирать отдельный объект или группу объектов.
Выбор отдельного объекта:
1. На панели "Операции" выберите инструмент "Стрелка" .
2. Щелкните на объекте, он изменит свой вид, таким образом Вы можете увидеть, что он выбран.
3. Щелкните на другом объекте, и он станет выбранным. Обратите внимание, что предыдущий объект больше не является выбранным.
Чтобы выбрать более чем один объект:
· Щелкайте на объектах, удерживая нажатой клавишу SHIT, при этом все объекты выделяются как выбранные.
Когда объекты выбираются на карте, они попадают в выборку, которую можно просматривать в окне Списка:
1. Выполните команду "Окно > Новый список". Появится диалог "Новое окно Списка".
2. Из списка таблиц выберите "Selection" (т.е. "Выборка") и нажмите OK. Появится окно Списка, содержащее выбранные объекты.
Щелкните на заголовке окна Карты, чтобы сделать его активным.
Чтобы отменить выбор отдельных объектов:
· Удерживая клавишу SHIFT нажатой, щелкните на объекте, который Вы хотите исключить из выборки. Обратите внимание, что теперь он будет отображаться невыбранным, а остальные объекты останутся выбранными.
Чтобы отменить выбор всех объектов:
· Щелкните на карте там, где нет объектов.
Все объекты станут невыбранными.
Вы также можете использовать кнопку "Отменить выбор" .
Запомните, что Вы не можете использовать инструмент "Стрелка" для выбора объектов из разных слоев. Например, вы не можете выбрать точечные объекты и улицы, находящиеся в разных слоях. Объекты должны находиться на одном доступном слое.
Инструмент "Выбор в рамке"
Инструмент "Выбор в рамке" используется для выбора всех объектов, попадающих в заданный прямоугольник. Этот инструмент выбирает объекты из самого верхнего доступного слоя Карты.
1. Нажмите кнопку "Выбор в рамке" .
2. Нажмите левую кнопку мыши и, удерживая ее, нарисуйте пунктирный прямоугольник.
Инструмент "Выбор в круге"
Инструмент "Выбор в круге" может быть использован для выбора объектов, попадающих в пределы круга с заданным радиусом от центральной точки.
1. Нажмите кнопку "Выбор в круге" .
2. Нажмите левую кнопку мыши и, удерживая ее, нарисуйте пунктирную окружность.
В процессе рисования круга обратите внимание, что в строке состояния отображается радиус окружности.
Инструмент "Выбор в области"
Инструмент "Выбор в области" используется для выбора объектов в многоугольной области. Этот инструмент действует на самом верхнем доступном слое, содержащем объекты-области даже тогда, когда выше него находятся доступные слои, содержащие объекты других типов (точки, линии, тексты). В этом примере объекты будут выбираться из верхнего доступного слоя, то есть из "Registr".
1. Нажмите кнопку "Выбор в области" .
2. Щелкните внутри штата, но не на клиенте или городе.
В этом примере MapInfo выберет все записи из таблицы "Registr", заключенные в границы этого штата. Таблица "Registr" является верхним доступным слоем в окне Карты. Следовательно, MapInfo выберет все объекты на данной территории.
Используя диалог "Управление слоями", сделаем некоторые изменения в окне Карты, а именно, изменим слой, из которого будет осуществляться выборка.
Сделать это можно, либо сбросив флажок "Доступный" у слоя "Registr", либо поместив слой "Dcwashs" выше"Registr". Теперь инструмент "Выбор в круге" будет выбирать объекты со слоя "Dcwashs".
Инструмент "Выбор в полигоне"
Инструмент "Выбор в полигоне" позволяет нарисовать произвольный многоугольник в окне Карты и выбрать все объекты, которые в него попадали.
1. Нажмите кнопку "Выбор в полигоне".
2. Нарисуйте многоугольник в окне Карты, задавая его вершины щелчками мыши.
3. Завершите рисование двойным щелчком на левой кнопке мыши. В выборку попадут все объекты, заключенные в многоугольник.