Геокодирование
Цель данной работы: поместить точечные графические объекты на карту из базы данных.
В этой работе мы присвоим координаты на карте больницам из табличной базы данных с помощью графической таблицы улиц Москвы.
Назовем кодируемую таблицу целевой таблицей.
Откройте базу данных (тип файла dBASE DBF) из Data\Map_Data\Russia\Moscow\BOLNICY.dbf в кодировке «DOS Extended ASCII (Code Page 437)»
Перед вами откроется список мед. учреждений Москвы (если не откроется, нажмите «Окно – Новый список». Посмотрите что есть в этой таблице. Таблица не имеет графического представления – окно карты будет пустым. А нам нужно увидеть все эти больницы на карте Москвы. На всякий случай сделайте копию таблицы BOLNICY.tab, которая сейчас открыта (при открытии БД она автоматически создалась) и назовите ее BOLNICY_copy, сохраните в свою папку. Теперь закройте таблицу BOLNICY через меню «Файл – Закрыть таблицу» и откройте ее копию – BOLNICY_copy.
Естественно, нам понадобится карта Москвы – откроем её: Data\Map_Data\Russia\Moscow\M_STREET.tab
|
|
Карта улиц Москвы не только графическая – она ещё содержит названия улиц. Также названия улиц есть в таблице BOLNICY, следовательно, у этих двух таблиц есть общее – адрес. Его и надо сопоставить с картой, чтобы больницы отобразились в своем месте.
Это возможно с помощью процедуры геокодирования.
Геокодирование - процесс назначения географических идентификаторов (таких как географические координаты, выраженные в виде широты и долготы) объектам карты и записям данных. Также геокодированием является назначение координат записям, описывающим адрес (улица/дом) или фотографиям (где было сделано фото) или IP-адресам, или любой другой информации, имеющей географический компонент.
Географические координаты берутся из исходной таблицы, которая уже содержит графические объекты. Чтобы геокодировать некоторую запись, MapInfo должна найти для адреса в целевой таблице совпадающий адрес в исходной таблице, взять географические координаты из исходной таблицы и использовать их для создания точки в целевой таблице. Хотя MapInfo и присваивает координаты X и Y каждой записи базы данных, эти координаты нельзя увидеть в окне «Список». Они хранятся особенным образом внутри базы данных.
Есть автоматическое и ручное Геокодирование. Выполним сначала автоматическое, в котором MapInfo сама попытается сопоставить адреса в таблицах.
Нажмите в меню «Таблица – Геокодирование», появится диалог:
Тут сказано, что мы берем таблицу с больницами, колонку с адресами и ищем совпадения текста адресов в таблице улиц Москвы в колонке R_Name (русское название).
Измените стиль символа, которым будут отображены геокодированные больницы согласно рисунку.
|
|
Может получиться такой результат:
Это значит, что программе не удалось произвести автоматическое сравнение адресов. Выполним его вручную. Но сначала присоединим таблицу BOLNICY _copy к карте M_STREET. Зайдите в «Управление слоями» и добавьте слой BOLNICY _copy в список слоев, сделайте его редактируемым.
Запустим еще раз процесс геокодирования, только в окне выбора поставьте точку напротив пункта «Вручную». Теперь программа будет останавливаться каждый раз, как не сможет автоматически сопоставить адреса в таблицах. В нашем случае это будет каждый раз. Появится окно:
В верхней строчке отображается информация из таблицы M_STREET колонки R_Name которой нужно сопоставить информацию в нижнем окне из таблицы BOLNICY_copy из колонки Addres.
Если выбор правильный, щелкните два раза на названии улицы внизу или нажмите кнопку «ОК» - программа сопоставит адрес и над нижним окном будет написано «1 найдено» и так далее до конца.
В следующем случае адрес вверху слишком сложный, чтобы программа его распознала и предложила уместный вариант, поэтому в верхней строке сотрите всё до названия улицы и нажмите «ОК» - программа предложит адекватный вариант.
В итоге получаем результат:
Все геокодированные больницы отображены зелеными крестиками. Проверьте несколько больниц, на своих ли местах они расположены. Это легко сделать с помощью инструмента информации и включенных подписей в M_STREET.
На этом работа закончена. Сохраните её, если надо, в рабочем наборе в своей папке. Перед показом преподавателю вспомните, что такое геокодирование и в чем смысл работы.