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

65SUPRU

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

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

Конфигурация источников данных заключается в установлении соответствия драйвера ODBC с источником данных. Именно это соответствие позволяет MapInfo соединяться с конкретным источником данных и находить данные, определенные этим источником. Вы можете конфигурировать Ваши источники данных в диалоге “Добавить источник данных”.

Создать новый источник данных можно:

1.C помощью Администратора ODBC, который можно запустить из панели управления Windows или из группы программ MapInfo.

2.Нажав кнопку ADD (ДОБАВИТЬ), можно вызвать диалог “Создать новый источник данных”. При этом будут показаны все уже установленные драйверы ODBC, а именно: их имена, номер версии и производитель.

3.Выделите необходимый Вам драйвер из списка.

4.Нажмите кнопку ГОТОВО. После этого появится характерный для конкретного типа драйвера диалог настройки подключения к базе данных через ODBC.

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

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

97

Необходимые условия обработки пространственных данных в СУБД

приложения. (Смотрите раздел “Конфигурация источников данныхСправочной системы Merant DataDirect ODBC). Справочный файл для драйвера, который требует настройки поставляется в комплекте MapInfo и расположен в системном каталоге WINDOWS. Файлы справки этих драйверов имеют имена следующего вида ( MIdrv13.HLP, где drv — это имя драйвера. Например, MIINF13.HLP — это файл справки для Informix.

5.Введите требуемую информацию об источнике данных.

6.Нажмите кнопку OK по завершении конфигурации Вашего источника данных. Драйвер записывает введенные значения в файл ODBC.INI, и эти значения будут теперь стандартными для процедуры подключения к источнику данных.

Создать новый источник данных можно из программы при установлении

соединения с источником данных. Смотрите ниже раздел “Соединение с

источником данных”.

Необходимые условия обработки пространственных данных в СУБД

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

Существует четыре необходимых условия для сохранения и выборки географических точек в таблице удаленной СУБД:

Значения координат этих точек должны быть сохранены в колонках таблицы в виде чисел или в столбцах базы данных, приспособленных для хранения пространственной информации, в случае, если база данных допускает такое хранение, например, SpatialWare, Oracle Spatial или Sybase.

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

Необходимо создание специальной таблицы удаленной СУБД, называемой MapInfo Map Catalog (Каталог Карт MapInfo). В каждой базе данных может быть только один такой каталог.

98

Необходимые условия обработки пространственных данных в СУБД

Необходимо описать таблицы с геоинформацией в каталоге Карт MapInfo командой ПРИСОЕДИНИТЬ ГЕОИНФОРМАЦИЮ.

Шаг 1 ] Сохранение значений координат в удаленной таблице

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

Данные могут уже существовать.

Используйте программу MapInfo EasyLoader для загрузки таблицы MapInfo в любую базу данных, поддерживаемых MapInfo, кроме SpatialWare для Oracle. Для этой базы данных используйте программу SpatialWare Upload.

Присоедините к удаленной таблице геоинформацию для ее геокодирования. Смотрите раздел “Присоединение к таблице геоинформации для геокодирования”.

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

MapInfo EasyLoader (Загрузка в SpatialWare или Oracle Spa] tial)

Утилита загрузки данных MapInfo – MapInfo EasyLoader загружает файлы

.tab MapInfo в таблицы баз данных. Она может работать отдельно от MapInfo как приложение клиент базы данных через установленное подключение к базе данных с данными MapInfo. Загружать данные этa программа может либо в базы данных SpatialWare, либо в базы данных Oracle Spatial.

EasyLoader работает под Windows 95/98, Windows NT или Windows 2000 и обеспечивает удаленное подключение к следующим Системам Управления Базами Данных:

INFORMIX–Universal Server (IUS) с SpatialWare DataBlade (драйвер IUS должен версии 2.8 или более новой)

DB2 Universal Server c SpatialWare Extender

Oracle Spatial версии 8.1.5 или новее

SpatialWare 4.5 for SQL Server

99

Необходимые условия обработки пространственных данных в СУБД

Возможности программы EasyLoader были расширены и теперь обеспечивают

работу со следующими схемами хранения пространственной информации в

стандартных базах данных:

XY таблицы (Oracle, Informix, DB2, Sybase, Access, SQL Server)

MICODE таблицы (Oracle, Informix, DB2, Sybase, Access, SQL Server) Эти схемы обеспечивают хранение информации о точках в стандартных базах данных.

EasyLoader присутствует на дистрибутивных компакт дисках как MapInfo Professional, так и SpatialWare. На диске SpatialWare эта программа

размещена в каталоге ”pc”.

Прежде чем запускать программу загрузки EasyLoader необходимо скопировать ее с дистрибутивного компакт диска SpatialWare на компьютер с установленной операционной системой Windows 95/98, Windows NT или Windows 2000 и после этого запустить выполнимый файл EASYLOADER.EXE

(При установке драйверов SpatialWare с компакт диска MapInfo Professional программа загрузки тоже устанавливается).

Для того, чтобы выполнить программу EasyLoader из программы MapInfo:

1.Выполните команды меню ПРОГРАММЫ > КАТАЛОГ ПРОГРАММ. Появится диалог "Каталог Программ".

2.Отметьте флажками Загрузить и/или Автозагрузка рядом с пунктом EasyLoader списка имеющихся программ.

3.Нажмите OK. Программа EasyLoader появится в меню ПРОГРАММЫ.

4.Выполните команды меню ПРОГРАММЫ > EASYLOADER.

После запуска программы MapInfo EasyLoader появится основной диалог этой программы. Интерфейс программы позволяет подключаться к серверу через ODBC или к серверу Oracle Spatial и выбирать таблицы, которые Вам необходимо загрузить в эти серверы баз данных.

100

Необходимые условия обработки пространственных данных в СУБД

При подключении к серверу через ODBC необходимо будет указать имя источника данных. Для подключения к серверу Oracle Spatial требуется установленное клиентское программное обеспечение Oracle.

После установления подключения к серверу кнопка ТАБЛИЦЫ (TABLES) становится активной. С её помощью можно вызвать диалог выбора таблиц MapInfo, которые нужно загрузить на сервер. Выбранные таблицы будут перечислены в списке таблиц. Для изменения состава списка нужно пользоваться кнопкой ТАБЛИЦЫ (TABLES).

Кнопка ЗАГРУЗИТЬ (UPLOAD) становится активной после того как таблицы MapInfo были выбраны. Убедитесь, что нужные Вам дополнительные настройки загрузки с помощью управляющих флажков установлены до того, как нажата кнопка ЗАГРУЗИТЬ (UPLOAD). Возможности настройки описаны ниже:

Добавить к Таблице (Append to Table) – таблица MapInfo будет добавлена к таблице на сервере, если такая таблица существует и

101

Необходимые условия обработки пространственных данных в СУБД

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

Заменить/Создать таблицу (Replace/Create Table) – таблица на сервере, имеющая такое же имя, будет сначала удалена (если такая таблица существует), а затем будет создана новая таблица, совпадающая по структуре и данным таблице загружаемой MapInfo.

Добавить все в одну таблицу (Append All to One Table) – все перечисленные в списке таблицы MapInfo будут добавлены в единственную таблицу на сервере. Таблица на сервере должна быть видна в списке обнаруженных на сервере таблиц.

Внимание: все таблицы должны иметь одну проекцию.

Добавить в таблицу (Append to Table) – таблица MapInfo будет добавлена в уже существующую таблицу базы данных, если такая таблица существует и структура обоих таблиц совпадает. Если это условие не выполнено, будет получено сообщение об ошибке и таблица не будет загружена.

Заменить/Создать(Replace/Create) таблицу – таблица с таким именем на сервере, если она существует, будет сначала удалена, затем будет создана новая таблица со структурой совпадающей с загружаемой таблицей MapInfo.

Внимание: Все таблицы должны иметь одинаковую проекцию.

Предоставить общий доступ (Grant Public Access) – установить для таблицы на сервере параметр разрешения доступа к таблице в режим

Разрешен общий (PUBLIC) доступ.

Монопольное использование таблицы (Exclusive Use of Table)

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

Загрузчик проверяет текущее максимальное значение колонки первичного ключа (prinx) после каждого подòверждения на запись (commit) для того, чтобы определить любые изменения, которые могут внесены другими процессами. При запуске в этом режиме такая проверка отключается, что может сократить продолжительность выполнения операции с очень большими таблицами.

102

Необходимые условия обработки пространственных данных в СУБД

Создать уникальный индекс (Create Unique Index) – создается уникальный первичный индекс для столбца sw_member, в случае использования SpatialWare, или для столбца mi_prinx, в случае использования Oracle Spatial. Столбец mi_prinx будет содержать порядковый номер записи, созданный при загрузке.

Создать пространственный индекс (Create Spatial Index) – для таблиц SpatialWare такой индекс создается по столбцу с геометрией и имеет имя hg<table_name>ind. После выполнения команды по созданию этого индекса типа rtree, обновляется статистика всей базы данных SpatialWare.

Для таблиц Oracle Spatial индекс, которому присваивается имя <имя_таблицы>_SX, создается по столбцу с данными, содержащему геометрию. Уровень вложенности созданного индекса вычисляется с помощью функции SDO_TUNE.ESTIMATE_TILING_LEVEL. Для таблиц с количеством записей меньше 7500 уровень вложенности созданного индекса ограничен значением 8. После построения таблицы индекса, выполняется команда ANALYZE для вновь построенной таблицы.

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

Более подробные сведения о программе EasyLoader можно в прочитать в

файле(справке EasyLoader.HLP.

Шаг 2 ] Создание колонки пространственного индекса

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

Шаг 3 ] Создание Каталога Карт MapInfo

MapInfo хранит информацию о колонках с координатами в специальной таблице СУБД Каталог Карт MapInfo. Для каждой базы данных должен существовать единственный каталог. Приложение MIODBCAT.MBX может быть использовано для создания этого каталога при использовании Oracle7,Oracle 8, DB2, Sybase, SQL Server, SQL Base и MSAccess. Потребуется настройка этого приложения при применении любых других СУБД. Такой каталог также можно создать вручную.

103

Необходимые условия обработки пространственных данных в СУБД

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

Автоматическое создание Каталога Карт MapInfo

Чтобы создать Каталог Карт, используйте программу MIODBCAT.mbx. Программа находится в папке MAPINFO\TOOLS.

Чтобы использовать программу Каталог Карт:

1.Выполните команду ФАЙЛ > ЗАПУСТИТЬ ПРОГРАММУ MAPBASIC. Далее выполните команду ПРОГРАММЫ > Каталог карт СУБД, чтобы создать каталог.

Откроется следующий диалог:

2.Нажмите кнопку СОЗДАТЬ КАТАЛОГ и выберите базу данных, для которой Вы хотите создать каталог карт.

Создание Каталога Карт MapInfo вручную

В случае, если Вам необходимо создать Каталог Карт MapInfo вручную, то

делать это должен Администратор базы данных.

1.Создайте пользователя MAPINFO с паролем (PASSWORD) , например, MAPINFO для конкретной базы данных, где расположены таблицы, которым предполагается присвоить геоинформацию.

2.Cоздайте в базе данных таблицу MAPINFO_MAPCATALOG. Оператор Create Table, применяемый в конкретной СУБД для создания таблицы, должен быть эквивалентным следующему оператору MapInfo.

Create Table MAPINFO_MAPCATALOG(

SPATIALTYPE Float,

TABLENAME Char(32),

OWNERNAME Char(32),

SPATIALCOLUMN Char(32),

104

Необходимые условия обработки пространственных данных в СУБД

DB_X_LL

Float,

DB_Y_LL

Float,

DB_X_UR

Float,

DB_Y_UR

Float,

COORDINATESYSTEM

Char(254),

SYMBOL

Char(254),

XCOLUMNNAME

Char(32),

YCOLUMNNAME

Char(32),

RENDITIONTYPE

Integer),

RENDITIONCOLUMN

VarChar(32),

RENDITIONTABLE

VarChar(32),

NUMBER_ROWS

Integer

Структура таблицы должна точно соответствовать вышеприведенному оператору. Единственное изменение возможно для СУБД, поддерживающих типы данных Varchar или Text, которые могут применяться вместо типа Char.

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

4.Предоставьте общие (Public) привилегии доступа Select (выборка), Update (обновление) и Insert (вставка) для таблицы MAPINFO_MAPCATALOG, что позволит пользователям присоединять к таблицам CÓÁÄ геоинформацию. Привилегия Delete (удаление) должна быть предоставлена только администратору базы данных.

Типы пространственных индексов

В таблице перечислены все типы пространственных индексов, которые могут

быть использованы программой MapInfo Professional.

Тип пространственного индекса

Номер типа

 

 

схема MapInfo MICODE(любая база

1

данных)

 

Oracle MD HHCODE_NONPARTIONED

2

Oracle MD HHCODE_PARTIONED

3

 

 

105

Необходимые условия обработки пространственных данных в СУБД

Тип пространственного индекса

Номер типа

 

 

схема XY (любая база данных)

4

Spatialware server для Oracle

5

Ingres SOL

6

Sybase SQS

7

Oracle SDOv2

8

MapInfo IUS_MM_SW

9

MapInfo IUS_MM_XY

10

Spatialware blade for IUS

11

SpatialWare extender for DB2

12

Oracle 8i Spatial

13

 

 

Повторное вычисление границ области данных в MapInfo_MapCatalog

Каталог карт MapInfo_MapCatalog содержит информацию о границах области, в которую попадают все данные, содержащиеся в таблице. Эти значения используются для начального определения представления всех данных в окне карты при открытии удаленной таблицы в новом окне карты. Координаты углов прямоугольной области устанавливаются либо при загрузке таблицы в базу данных программой EasyLoader, либо при использовании программы Определить МОП СУБД.

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

106

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