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

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

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

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

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

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

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

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

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

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

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

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

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 Professional 7.5

 

© May 2004 MapInfo Corporation. All rights reserved.

126

MI_UG.PDF

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

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

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

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

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

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

346-400.

Следующим шагом является анализ тех фрагментов адреса, которые относятся более чем к одной улице.

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

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

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

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

MapInfo Professional 7.5

 

© May 2004 MapInfo Corporation. All rights reserved.

127

MI_UG.PDF

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

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

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

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

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

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

После геокодирования

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

Извлечение значений координат Широты и Долготы объектов из геокодированной таблицы

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

MapInfo Professional 7.5

 

© May 2004 MapInfo Corporation. All rights reserved.

128

MI_UG.PDF

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

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

Перемещение широты и долготы в новую таблицу

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

1.Выполните команду ФАЙЛ > ОТКРЫТЬ ТАБЛИЦУ и откройте таблицу в окне Списка.

2.Выполните команду ЗАПРОС > SQL-ЗАПРОС и заполните диалог, как показано ниже.

Внимание: Любые колонки из таблицы CUSTOMER, которые Вы хотите переместить в таблицу CUSCOORD должны быть указаны в окошке Выбрать колонки, затем надо добавить функции centroidX(obj) и centroidY(obj) к этому запросу.

1.Нажмите OK и выполните запрос.

2.Выполните команду ФАЙЛ > СОХРАНИТЬ КОПИЮ и сохраните результирующую таблицу CUSCOORD.

Исходная таблица:

Результирующая таблица:

Перемещение широты и долготы в исходную таблицу

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

MapInfo Professional 7.5

 

© May 2004 MapInfo Corporation. All rights reserved.

129

MI_UG.PDF

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

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

1.Выполните команду ТАБЛИЦА ЗМЕНИТЬ ЕРЕСТРОИТЬ

2.Добавьте две новых колонки к Вашей таблице. Нажмите кнопку ДОБАВИТЬ ПОЛЕ и введите имя колонок. Они должны быть определены как Десятичные (13,6). Для этого примера, колонки называются "Долгота" и "Широта".

3.После добавления колонок, нажмите OK. Когда Вы вернетесь в основное окно MapInfo, файл еще не будет показан. Чтобы показать внесенные изменения, выполните команду ОКНО > НОВЫЙ СПИСОК.

4.Далее выполните команду ТАБЛИЦА > ОБНОВИТЬ КОЛОНКУ. Выберите нужную таблицу и колонку для обновления в ней. В примере, приведенном ниже, мы обновляем колонку "Долгота". В окошке Значения извлечь из будет таже таблица, как и в окошке Обновить таблицу. В окошке Значение введите Centroidx(obj) или нажмите кнопку СОСТАВИТЬ, откроется диалог “Выражение”, в котором из предлагаемых функций выберите CentroidX и нажмите OK.

5.Заполните диалог, как показано ниже и нажмите OK.

6.Повторите Шаг 3 для обновления колонки "Широта". Замените CentroidY(obj) вместо

CentroidX(obj).

Таблица в проекции, отличной от Широта/Долгота

Карты MapInfo имеют два типа атрибутов, связанных с координатами объектов на карте - это система координат карты и координатные настройки окна Карты. Для корректного перемещения координат X и Y в проекции, отличных от проекция Широта/Долгота, система

MapInfo Professional 7.5

 

© May 2004 MapInfo Corporation. All rights reserved.

130

MI_UG.PDF

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