<< На Главную    < В меню Советы по MapInfo

   По мере роста накопленных пространственных данных, в некоторых организациях возникает необходимость переноса части информации из хранения в формате TAB в  какой-то более оптимальный с точки зрения производительности вариант. Конечно, если у вас небольшие таблички (приблизительно до 5... 10 тыс. записей), то проблем при их обработке в рамках ГИС MapInfo не возникает. Но если таких записей становится более 80 ... 100 тыс. имеет смысл подумать об их хранении, ну скажем, на SQL-серверах типа MS SQL Server или Oracle. Это первый момент.

   Второй момент связан с тем, что в некоторых случаях нужно "сопрягать" ваши пространственные данные с атрибутикой, хранящейся в виде файлов баз данных (БД) на SQL-серверах. В этом случае,  для  "синхронизации" форматов также имеет смысл подумать о способе конвертации и хранения ваших данных в формате SQL-сервера.

 

Для решения подобных задач в рамках ГИС MapInfo существует подход, реализованный  в виде утилиты EasyLoader, которая перегружает ваши данные MapInfo .tab в базы данных. О том, как это сделать, и будет рассказано ниже.

Предположим, что необходимо перегрузить информацию из MapInfo в формат базы данных MS SQL Server. Предположим, также, что на нашем MS SQL сервере уже создана учебная база данных с именем MI_Table:

БД в MS SQL Server

 

Для начала загружаем утилиту Easy Loader. Для этого в MapInfo идём в меню Программы>Каталог программ и выбираем нужную нам программку:

Форма Каталог Программ MapInfo

Прим. В более современных 64-х разрядных версиях MapInfo с ленточным интерфейсом инструмент EasyLoader можно найти на вкладке Home>Tools :

После этого в меню Программы появиться соответствующий пункт EasyLoader. Выбрав его, увидим сл. форму:

Форма утилиты EasyLoader 1

На форме, приведённой выше жмём на кнопку ODBC и выбираем файловый DSN MyBase (в данном случае):

Форма Выбор источника данных

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

После определения источника данных, форма утилиты примет следующий вид вид:

Форма утилиты EasyLoader 2

 По кнопке Исходные таблицы выбираем таблицу, которую собираемся "перегнать" в базу данных MS SQL Sever. 

Ну вот, для переноса данных у на всё готово. Теперь можно выбрать параметры переноса исходной таблицы, нажав на кнопку Дополнительно:

Форма настроек переноса .tab в БД MS SQL Server

В панели Пространственный тип объектов указываем, создавать или нет уникальный код MapInfo наряду с координатами XY . Это код может понадобиться, если вы намерены в дальнейшем каким-то образом обрабатывать табличку и однозначно идентифицировать каждый пространственный объект.

Прочие опции переноса нужно выбирать из контекста ситуации.

Выходим из настроек переноса и в главной форме утилиты EasyLoader жмём на кнопку Загрузить. Теперь можно заглянуть в нашу базу данных MI_Table. Если мы сделаем это, то увидим приблизительно сл. картнку:

Созданные таблицы в MS SQL Server

 Утилита EasyLoader создала две таблички. Первая   - собственно результаты переноса, а вторая с именем MAPINFO_MAPCATALOG является таблицей метаданных.

Содержание нашей первой учебной таблички будет выглядеть так (красным обведены столбцы с кординатами XY и сгенерированным уникальным кодом объекта  (столбец MI_SQL_MICODE):

Просмотр перенесённой в MS SQl Server таблицы

А табличка метаданных смотрится приблизительно так:

Просмотр созданной таблицы метаданных

Ваши данные перенесены из формата MapInfo .tab в базу данных MS SQL Server!  Теперь их гораздо проще обрабатывать сторонними приложениями.

Как перенести данные из MS Access в MS SQL Server - смотрите на нашем сайте  здесь

©Simashkov.2011.

14.05.2011 г.

Назад