Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MI_UG_7.pdf
Скачиваний:
174
Добавлен:
13.02.2015
Размер:
8.59 Mб
Скачать

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

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

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

Сравнение названий улиц

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

Если название улицы в целевой таблице не совпадает ни с одним названием в строках исходной таблицы, MapInfo применяет возможные подстановки из файла сокращений к целевому адресу. Файл сокращений содержит пары элементов, например, "STREET ST" или "AVE AV" в английской версии и пары типа "ПРОЕЗД ПР" и "ПРОСПЕКТ ПРОСП" в русской. Когда MapInfo находит "STREET" в целевом адресе, она заменяет эту строку на "ST", аналогично "ПРОСПЕКТ" заменяется на "ПРОСП". Причем MapInfo не вносит изменений в данные целевой таблицы, а использует подстановки только на время сравнения адресов. Адреса в таблицах остаются прежними.

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

программа переходит к следующей строке целевой таблицы (при геокодировании в автоматическом режиме);

программа предлагает пользователю похожие варианты (при геокодировании вручную). Пользователь выбирает подходящий аналог. Затем MapInfo переходит к следующей строке.

На данном этапе MapInfo находит наиболее подходящее название улицы. Следующий шаг – сравнение номеров домов если обнаружено совпадение названия улиц.

Сравнение номеров домов

После того, как MapInfo опознает улицу, предстоит анализ номера дома. MapInfo хранит диапазоны номеров домов для каждого сегмента улицы. MapInfo берет номер дома из целевого адреса и сравнивает его с диапазонами номеров из исходной таблицы для каждого сегмента улицы. Предположим, что надо найти дом "343 LaSalle St". MapInfo хранит первый и последний номер дома для каждого сегмента улицы, причем отдельно по правой и по левой сторонам улицы, например:

MapInfo Professional 7.5 Руководство пользователя (Сокращенное)

135

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

Name

FromLeft

ToLeft

FromRight

ToRight

 

 

 

 

 

LaSalle St

269

331

268

330

 

 

 

 

 

LaSalle St

333

375

332

374

 

 

 

 

 

LaSalle St

377

401

376

400

 

 

 

 

 

Названия колонок: Name, FromLeft, ToLeft, FromRight и ToRight применяются в файлах улиц стандарта StreeInfo и означают соответственно: Имя, Слева, Налево, Справа и Направо. Чтобы найти "343 LaSalle St", MapInfo просмотрит диапазоны номеров, пока не найдет диапазон, в который попадет номер "343". Поскольку 343 попадает между 333 и 375, то MapInfo отнесет заданный адрес ко второму сегменту улицы (средняя строка в таблице). Если MapInfo находит сегмент улицы, к которому относится данный адрес, то процедура переходит к обработке следующей строки целевой таблицы. Если же такой сегмент не был найден, то MapInfo:

переходит к анализу следующей строки, если она геокодирует в автоматическом режиме;

показывает пользователю самый похожий вариант (при геокодировании вручную). Пользователь сам подбирает правильный сегмент. Затем MapInfo переходит к следующей строке.

На этом этапе MapInfo наилучшим образом подбирает местоположение дома на улице. Напомним, что один из режимов (в диалоге "Варианты") задает автоматический выбор наиболее близкого диапазона номеров при отсутствии точного совпадения – Использовать ближайший адрес. Например, Вы ищете дом с номером 412, но ни один диапазон не содержит такой номер. Однако имеется диапазон от 346 до 400. Поскольку он ближе всего подходит к номеру 412, то MapInfo в этом режиме отнесет дом с номером 412 к диапазону 346-400. Следующим шагом является анализ тех фрагментов адреса, которые относятся более чем к одной улице.

Сравнение областей

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

Предположим, что Вы геокодируете записи о Московском регионе. В базе данных имеется адрес "Ломоносова 12". В Московском регионе у Вас есть данные по Владимирской, Тверской и Ярославской области. В них есть восемь городов, попавших в Вашу базу. В четырех из них есть улица Ломоносова. На трех из этих четырех улиц имеется дом с номером 12.

MapInfo должна сопоставить целевой адрес одному из городов. Для этого будет использова-

136

MapInfo Professional 7.5

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

на информация об областях: MapInfo сверит, в какой области лежит целевой адрес и в какой – исходный.

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

Можно использовать различные виды областей, включая города и почтовые индексы (ZIPкоды). Последний способ удобен для России, поскольку практически все адреса включают почтовый индекс. Если Вам удастся подобрать какой-либо аналог ZIP-кодам (телефонные коды), то многие задачи геокодирования могут решаться более эффективно.

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

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

В диалоге "Варианты геокодирования" можно указать, что MapInfo должна автоматически выбирать другую область, добиваясь таким образом ровно одного совпадения (режим Использовать адрес, найденный в другой области). Допустим, Вы геокодируете адреса в городе Архангельске. Один из адресов – "Ломоносова 12" – относится не к Архангельску, а к Сестрорецку, и только к нему. В таком случае MapInfo геокодирует "Ломоносова 12" в Сестрорецке. Однако, если MapInfo найдет "Ломоносова 12" еще, например, в Воркуте, этот адрес не будет обработан вообще.

MapInfo Professional 7.5 Руководство пользователя (Сокращенное)

137

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

Более подробно о работе с файлами после геокодирования и показа данных по координатам в окне Списка смотрите в книге Руководсто Пользователя Mapinfo Professional 7.5 (Полное),

размещенной на установочном CD.

Выбор негеокодированных записей

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

1.Откройте Вашу таблицу, если она еще не открыта, и выполните команду ЗАПРОС >

ВЫБРАТЬ.

2.Заполните диалог так, как показано ниже. Используемое выражение – "NOT OBJ". Этот запрос выберет все записи, которые не имеют объектов, т.е. не геокодированы. Нажмите OK.

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

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

1.Активизируйте окно Карты.

2.Выполните команду КАРТА > УПРАВЛЕНИЕ СЛОЯМИ. Убедитесь, что таблица, которую Вы геокодировали, имеется в списке диалога "Управление слоями".

Если ее там нет, нажмите кнопку ДОБАВИТЬ и добавьте этот слой.

3.В диалоге "Управление слоями" переместите геокодированную таблицу наверх, под косметический слой, для того, чтобы точки не перекрывались другими слоями.

4.Убедитесь, что геокодированный слой является видимым. Нажмите OK и выйдите из диалога.

138

MapInfo Professional 7.5

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