Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MI6UGRU

.pdf
Скачиваний:
16
Добавлен:
13.02.2015
Размер:
14.71 Mб
Скачать

Размещение данных на карте

ChapterГлава7:8:PuttingРазмещениеYour Dataданныхon theна

Обзор

Данные рано или поздно придется помещать на Карту. В конце концов MapInfo для того и существует, чтобы показывать данные на Карте,

и для того, чтобы Вы могли более точно решать Ваши задачи.

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

Глава

Геокодирование:

Присвоение координат записям данных

Методы геокодирования

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

Общая процедура геокодирования

Приближение к 100% геокодированию

Результаты

геокодирования Геокодирование в ручном режиме

Показ данных на Карте

Поиск данных на Карте

Создание точечных объектов

Рассеивание точек

Создание точек для пересечений

Глава 8: Размещение данных на карте

Геокодирование: Присвоение координат записям данных

Чтобы показать данные на карте, сначала необходимо сопоставить каждой записи о данных координаты X и Y. MapInfo может присвоить координаты X и Y записям некоторой таблицы на основании сравнения географической информации из нее с географической информацией из таблицы, которой уже сопоставлены координаты X и Y (эту таблицу называют таблицей поиска). Такой процесс называется в MapInfo геокодированием.

.

Допустим, Вы хотите присвоить координаты X и Y записи о клиенте, расположенном по адресу "Садово-Кудринская, 5". MapInfo сравнит этот адрес с таблицей поиска, например, с таблицей StreetInfo. В таблице поиска уже имеются координаты X и Y для каждой записи.

Сопоставив значение "Садово-Кудринская, 5" в Вашей таблице со значением "СадовоКудринская, 5" в таблице поиска, MapInfo присвоит соответствующие координаты X и Y записи из Вашей таблицы. Геокодированная точка станет частью Вашей базы данных. Эту точку теперь можно показать на карте.

128

Глава 8: Размещение данных на карте

Замечание: Хотя MapInfo и присваивает координаты X и Y каждой записи базы данных, эти координаты нельзя увидеть в окне Списка. Они хранятся особенным образом внутри базы данных.

Методы геокодирования

Теперь рассмотрим способы геокодирования Ваших данных.

Геокодирование по адресу

При геокодировании по полному адресу MapInfo сравнивает адреса в кодируемой таблице с информацией об улицах и адресах в таблице специального формата StreetInfo или Enhanced Address Layer (поставляемых компанией MapInfo) и по результатам этого сравнения присваивает координаты X и Y каждой записи. После того, как MapInfo покажет результат геокодирования, Вы увидите, что символ, обозначающий адрес, находится приблизительно там и на той стороне улицы, где находится искомый дом.

Геокодирование по областям (границам городов, территорий, районов)

В настольной картографии термин "область" используется для обозначения территорий с замкнутой границей, таких как административные области, города или районы. При геокодировании таблицы по областям MapInfo сравнивает название области в записи из кодируемой таблицы с названиями областей в таблице поиска. MapInfo присваивает записи координаты X и Y центроида соответствующей области из таблицы поиска. Центроид области – это примерная точка центра области (координаты центра описанного вокруг области прямоугольника).

Пусть, например, Вы геокодируете таблицу универмагов. Вы хотите присвоить каждой

записи координаты X и Y на основании данных о том, в каком районе расположен

универмаг. MapInfo возьмет название района из кодируемой таблицы, сравнит его с

названиями районов в таблице поиска и присвоит каждой записи координаты

центроида соответствующего района.

Грубое геокодирование

Допустим, что Вам необязательно видеть точное расположение точки, соответствую-

щей геокодируемому адресу. Например, иногда достаточно знать, в каком районе горо-

да живет клиент. Для этого достаточно использовать в качестве таблицы поиска файл,

129

Глава 8: Размещение данных на карте

содержащий координаты центроидов районов. В американской версии MapInfo для

аналогичных целей применяется файл ZipInfo. Это файл точечных объектов. Он

состоит из точек, обозначающих центроиды зон действия всех почтовых индексов

США. С помощью этого файла можно геокодировать любые базы данных, содержащие

данные о почтовом индексе.

Три вопроса, которые следует задать себе перед

геокодированием

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

Какая географическая информация содержится в базе данных?

Имеется ли полный адрес, данные о городе, почтовом индексе, районе, стране? Имеется ли информация, которую можно по-разному толковать? Например, в базе адресов клиентов не встречаются ли улица Строителей в Москве и улица Строителей в СанктПетербурге? Если да, то следует уточнить поиск, используя границы городов или районов (иначе возможна ситуация, знакомая по фильму "Ирония судьбы, или с легким паром!").

С какими картами Вы будете работать?

Вам нужно получить компьютерную карту, уровень подробности которой соответствует уровню подробности Ваших данных. Например, чтобы геокодировать базу данных клиентов в заданных областях по полному адресу, Вам нужны карты этих областей с точностью до уровня улиц. Карта России, на которой показано административное деление, не подойдет для такой задачи. Вы можете приобрести более подробные карты для геокодирования у компании MapInfo или у дилеров (например, карту города Москвы).

Насколько географически точно должны быть отображены данные на карте?

С учетом ответов на первые два вопроса Вы должны решить, насколько точным должно

быть геокодирование. Если Вы хотите отметить, как проложен кабель, где

расположены пожарные краны или какова криминогенная ситуация, потребуется

высокий уровень точности. Если же Вы собираетесь на основании полученных данных

создавать условные карты на уровне городов, районов, областей или государств, Вам не

нужно очень точное кодирование.

130

Глава 8: Размещение данных на карте

Общая процедура геокодирования

Чтобы сопоставить записям некоторой таблицы координаты X и Y, выполните команду ГЕОКОДИРОВАНИЕ из меню Таблица. MapInfo откроет диалог "Геокодирование", в котором Вы зададите следующие данные:

Название таблицы, записям которой надо присвоить координаты X и Y.

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

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

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

В диалоге геокодирования Вы можете также выбрать режим геокодирования: Автомати- ческий или Вручную. При автоматическом геокодировании MapInfo производит кодирование только при полном совпадении данных, остальные записи игнорируются. Этот метод работает быстрее, так как MapInfo не общается с пользователем до окончания процесса геокодирования. Когда Вы геокодируете таблицу вручную, MapInfo останавливает процесс кодирования каждый раз, когда не находит точного аналога и дает пользователю возможность выбрать значение из списка возможных кандидатов.

131

Глава 8: Размещение данных на карте

Мы рекомендуем сначала геокодировать таблицы автоматически, а оставшиеся необработанными записи кодировать вручную, на втором проходе.

Размещение геокодированных точек

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

Смещение относительно улицы

Смещение относительно улицы это расстояние от геокодированной точки от линии улицы. Что бы установить это расстояние:

1. Выполните команду ТАБЛИЦАЕОКОДИРОВАНИЕ. Откроется диалог “Геокодирование”. Введите информацию.

2. Нажмите кнопку ВАРИАНТЫ. Откроется диалог “Варианты”.

3.В разделе диалога Отступ, укажите расстояние и единицы измерения расстояния. Если Вы выбрали 12 метров, точка будет смещена на 12 метров от линии улицы. Можно задавать значения от 0 до 32767.

4.После задания смещения нажмите OK и вернитесь в диалог “Геокодирование”.

132

Глава 8: Размещение данных на карте

Смещение относительно конца улицы

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

1.В открытом диалоге “Варианты геокодирования”, выберите, какое Вам нужно смещение и в разделе Смещение установите переключатель или на процентное смещение или на смещение в метрах.

2.Выберите одно из следующих:

Процент смещения от концов улицы. Величина может быть от 0 до 50. Дистанцию в метрах от концов улицы. Величина может быть от 0 до 32767.

3.Нажмите OK и вернитесь в диалог “Геокодирование”. Проверьте еще раз Ваши настройки и нажмите OK для начала геокодирования.

MapInfo использует последнее смещение и последний отступ как стандартные настройки для следующего сеанса работы.

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

Приближение к 100% геокодированию

MapInfo может изредка присваивать координаты X и Y всем записям с первой попытки. Чаще с первого раза проходит только 50% всех записей. Информация в базе данных может не точно совпадать с информацией в таблице поиска. Карты MapInfo должны обновляться, но это происходит не всегда.

Могут возникнуть и другие проблемы. Аббревиатуры в таблице могут не распознаваться MapInfo. Когда аббревиатура не распознается, геокодирования не происходит.

133

Глава 8: Размещение данных на карте

Из-за таких проблем в MapInfo есть возможность ручного геокодирования. Есть

несколько методов такого геокодирования. Ниже приводится список проблем

геокодирования и предлагаемые пути решения проблемы.

Описки в данных

Если при автоматическом геокодировании данные в какой-нибудь записи из кодируемой базы не совпадают ни с одной записью в таблице поиска, MapInfo оставляет такую запись не обработанной.

При геокодировании вручную MapInfo выдает список возможных кандидатур. Листать этот список можно, нажимая кнопки ÂÂÅÐÕ è ÂÍÈÇ. Выберите нужную кандидатуру или, если нужной записи нет в списке, нажмите кнопку ÏРОПУСТИТЬ.

Помните, что MapInfo ищет полные совпадения. Улица "Генерала Карбышева" и улица "Карбышева" не совпадают полностью, так же, как и "Улица Островского" и "Улица Н.А. Островского".

MapInfo вырабатывает список кандидатур по алфавитным признакам. Например, если

MapInfo не может найти в базе данных "Свободный проспект", то генерируется список

альтернатив, близких в алфавитном смысле к Свободному проспекту (Свободный

проезд, Свободный переулок, Свободная улица и т.д.). Однако если вкралась опечатка

в первую букву этого адреса (вместо "Улица Кирова" должна быть "Улица Жирова"),

то следует либо найти правильный вариант в списке, пользуясь кнопками ÂÂÅÐÕ è

ÂÍÈÇ, или, если правильный вариант найти не удалось, ввести правильное

написание.

Неправильный адрес

Если в записи указан адрес, для которого не найден соответствующий адрес в таблице поиска, то MapInfo не обрабатывает запись при автоматическом геокодировании и выдает список возможных кандидатур при ручном кодировании. Вы должны выбрать подходящий адрес (диапазон адресов) из списка или нажать на кнопку ÏРОПУСТИТЬ, чтобы не обрабатывать запись.

Вы также можете поручить MapInfo выбирать наиболее подходящий адрес из списка

автоматически. Нажмите кнопку ÂАРИАНТЫ в диалоге "Геокодирование". MapInfo

даст Вам возможность установить режим, в котором при отсутствии точного

совпадения выбирается наиболее подходящая запись.

Обработка сокращений

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

134

Глава 8: Размещение данных на карте

Возможно, во всех записях Вы используете "пр-т" для сокращения слова "проспект". А в MapInfo применяется другое сокращение – "просп". Другой пример: в базе данных номера улиц пишутся словами ("Парковая Первая"), а не цифрами, как в таблицах MapInfo ("Парковая 1-я").

Вместо того, чтобы изменять все записи, Вы можете поменять стандартное сокращение.

Для этого нужно внести изменение в файл сокращений (MAPINFO.ABB), который

MapInfo использует при обработке сокращений.

Неточный адрес, которому может соответствовать несколько точек на карте

Допустим, что Вы геокодируете записи об Архангельской области. В базе данных имеется адрес "Ломоносова, 12". В Архангельской области расположено несколько городов. В четырех из них есть улица Ломоносова, причем в трех на улице Ломоносова есть дом 12. Как геокодировать эту запись?

Уточняя поиск с помощью указания границ областей, Вы даете MapInfo дополнительную информацию, позволяющую правильно найти соответствие. Если, например, задать не только адрес, но и название города, то MapInfo будет искать адрес в пределах заданного города. В таком случае MapInfo может отличить "Ломоносова, 12" в Северодвинске от "Ломоносова, 12" в Архангельске.

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

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

Например, город Москва разделен на районы, административные округа, префектуры и т.д. Большинство москвичей ориентируется на старые деления по районам, лежащим в пределах кольцевой автодороги, несмотря на то, что к Москве недавно присоединены несколько регионов за пределами кольцевой. С другой стороны, города, лежащие в непосредственной близости от Москвы (Люберцы, Реутов и др.) могут содержать в себе улицы, совпадающие или близкие по названиям с улицами Москвы.

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

135

Глава 8: Размещение данных на карте

Кроме того, в подобных случаях можно задать MapInfo такой режим уточнения поиска, при котором проводится поиск в других областях, если не найден соответствующий адрес в заданной уточняющей области. Нажмите ÂАРИАНТЫ в диалоге "Геокодирование". MapInfo даст Вам возможность установить режим, в котором при отсутствии точного совпадения в уточняющей области проверяются также и другие области.

Замечание о ручном геокодировании

При ручном геокодировании и выборе любого из описанных выше режимов ВЫ НЕ МЕНЯЕТЕ ЗНАЧЕНИЙ В ЗАПИСЯХ. Вы указываете MapInfo, что следует использовать

другую информацию.

Например, в записи указана улица "М. Джалиля". Проводя геокодирование, Вы обнаружили, что улицу следует называть "Мусы Джалиля". Вы выбрали "Мусы Джалиля" из списка кандидатур. Хотя процедура геокодирования и присвоила координаты X и Y данной записи, содержимое записи не изменилось. Чтобы изменить написание улицы в записи, Вы должны отредактировать эту запись в окне Списка.

Результаты геокодирования

Можно создавать поле, в которое MapInfo будет записывать результат геокодирования каждой записи заданной таблицы. Результат сохраняется в виде числа, показывающего, какие действия по сравнению были произведены или почему поиск не

136

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]