Поля базы данных упорядочены (первое, второе, третье и т.д.), и обычно первое поле показывается в виде первой колонки базы данных. Второе поле показывается справа от первой и т.д., последнее поле показывается в самой правой колонке.
Заметим, однако, что в нашем примере записи приведены не в алфавитном порядке, как это обычно бывает в справочниках. Для быстрой обработки запросов (поиска по базе) базы данных используют механизм индексации. Без индексов было бы сложно найти что-либо в базе из сотен записей, не говоря уже о базах из сотен тысяч записей.
Индекс в базе данных подобен указателю в книге. Индекс представляет собой набор ссылок (как и в книге, где каждому названию соответствуют номера страниц). В книгах указатели, как правило, используют алфавитный порядок, чтобы легче было найти интересующую Вас тему. Найдя название темы, мы ищем страницы с заданными номерами. Номера страниц являются ссылками. Они означают: "Открой страницу, на которую я указываю". Хотя Вы не видите их, программа поддерживает их списки и активно использует при работе. Индекс позволяет компьютеру работать с записями в соответствии с порядком элементов в поле ключа.
Так, MapInfo Professional требует, чтобы были проиндексированы те поля, к которым Вы применяете команду Запрос > Найти. Индексы также используются для оптимизации процедур объединения таблиц и SQL-запросов. Запрос - это по сути то же самое, что и вопрос.
Запрос - это по сути то же самое, что и вопрос. Данные, которые отбираются в результате выполнения запроса, извлекаются из базы данных. Например, если надо узнать, сколько клиентов проживает в радиусе двух километров от Вашего сервис-центра (и информация об адресах проживания клиентов имеется в базе), то надо сделать соответствующий запрос к такой базе. Результатом будут данные запроса. Можно считать данные запроса подмножеством Ваших данных, как в приведенном примере - список клиентов, проживающих не далее 2 километров от сервис-центра. MapInfo Professional имеет встроенные модули, помогающие делать запросы и показывать их на Карте. Дополнительная информация о выполнении запросов к данных содержится в разделе: Выбор данных в MapInfo Professional в Главе 9 на стр. 328.
Как внести новые данные в MapInfo Professional?
MapInfo Professional позволяет использовать данные из файлов других форматов. При этом нужно указать формат файлов. Например, если Ваши данные находятся в ASCII-файле, то из списка Тип файлов выберите формат ASCII с разделителями.
Вы можете использовать в MapInfo Professional следующие данные:
• Microsoft Access
• Microsoft Excel
• dBASE DBF
• шейпфайлы ESRI ®
• Растровое изображение
• Изображения поверхности
• ASCII с разделителем
• Lotus 1-2-3
• Удаленные базы данных (Oracle, Informix, SQL Server, и др.)
• Рабочий Набор
• Открытие текстового файла (CSV с разделителями)
Если Вы выберите один из типов файлов, то в окне списка Имя файла будут отображаться только файлы с соответствующим расширением. Например, если Вы выбрали в списке Тип файла dBASE DBF, то MapInfo Professional покажет только файлы формата dBASE.
Выберите нужный файл. MapInfo Professional создаст таблицу для данных из этого файла, причем структура таблицы будет определяться типом файла.
Внимание: Во время процесса создания TAB-файла исходный файл не изменяется. Он остается таким, каким был до процедуры создания TAB-файла.
Если в дальнейшем Вы будете открывать такую таблицу, MapInfo Professional будет считать, что относящиеся к ней файлы имеют формат MapInfo. Поэтому больше Вам не нужно будет указывать формат этих файлов. Если Вы случайно снова будете открывать файл данных в его исходном формате, MapInfo Professional выдаст сообщение:
Таблица уже определена. Хотите ли Вы построить ее заново?
Это сообщение появляется потому, что в MapInfo Professional уже создана таблица для данного файла. Чтобы использовать уже созданный файл, нажмите Отмена и откройте соответствующий TAB-файл.
Имейте в виду, что теперь MapInfo Professional поддерживает длинные имена файлов и UNC-маршруты. Маршрут UNC позволяет получить доступ к данным без указания дисковода в последующих сеансах работы.
Чтобы данные могли быть отображены на Карте, они должны содержать координаты X и Y. Если их еще нет, то в MapInfo Professional их можно добавить с помощью процедуры геокодирования. Подробнее о геокодировании рассказано далее в разделе Отображение Ваших данных на Карте.
В Справочной системе есть связанные с этим разделы:
• Показ данных Excel (.XLS)
• Показ данных Access (.MDB)
• Показ разделенных запятыми данных (.CSV)
• Показ данных dBase
• Показ данных Lotus 1-2-3
• Показ данных шейпфайлов ESRI
• Регистрация и показа данных ASCII
• Импорт и показа данных GML-файла
• Показ удаленных данных СУБД
• Показ и импорт данных веб служб WMS
Поддержка растровых изображений
MapInfo может показывать растровые изображения. Растровые изображения - это оцифрованные Картинки. Их можно использовать как подложку для векторных Карт MapInfo Professional.
Растровое изображение можно зарегистрировать в MapInfo Professional (т.е. привязать его к координатам), и тогда MapInfo Professional сможет корректно отобразить его. Открытие растрового изображения в диалоге Открыть таблицу автоматически сопровождается диалогом Регистрация изображения, в котором можно задать систему координат. В результате регистрации создается TAB-файл, который можно открывать как таблицу MapInfo в окне Карты. Растровые изображения, входящие в комплект поставки MapInfo Professional, уже зарегистрированы.
Если растровое изображение уже зарегистрировано, то оно открывается автоматически. Если растровое изображение имеет ассоциированный файл формата WORLD, то Вы увидите подсказку, в которой будет предложено выбрать проекцию. Если Вы открываете растровое изображение, не имеющее привязки, то появится предложение зарегистрировать или показать это изображение без регистрации.
MapInfo Professional использует следующие обработчики растров:
• LeadTools вплоть до версии 15
• MrSID SDK (3.2), который обеспечивает поддержку MG3-файлов
• многопоточный режим; особенно для ECW-файлов и национальных форматов (ADRG, AS-RP, CADRG, CIB, NITF)
AirPhotoUSA предоставляет растровые снимки с разной высоты для отдельных областей США. Обработчик Карт AirPhotoUSA позволяет пользователям MapInfo Professional открывать и просматривать изображения, содержащие Карты AirPhotoUSA в качестве одного из слоев Карты. Эти файлы обрабатываются так же, как любые другие растровые файлы в MapInfo Professional. В файле MAPINFOW.PRJ содержится информация об AirPhotoUSA.
Вы можете использовать координатную систему AirPhotoUSA Conterminous U.S. без каких-либо изменений. Но если Вы хотите, чтобы MapInfo Professional работала с этой системой как со своей, Вам придется добавить ее в файл MAPINFOW.PRJ.
Из каких файлов состоит таблица
Когда Вы открываете файл данных в MapInfo, MapInfo Professional создает таблицу. Эта таблица состоит по крайней мере из двух различных файлов. Первый содержит данные, а второй - описание структуры данных. Все таблицы MapInfo Professional должны содержать следующие два файла:
• <имя файла>.ТАВ. Этот файл содержит описание структуры данных таблицы. Он представляет из себя небольшой текстовый файл, описывающий формат того файла, который содержит данные.
• <имя файла>.DAT или <имя файла>^^, .DBF, .XLS. Эти файл содержат табличные данные. Если Вы работаете с файлами dBASE/FoxBASE, ASCII с разделителями, Lotus 12-3, Microsoft Access или Microsoft Excel, таблица MapInfo будет состоять из файла с расширением TAB и либо файла данных, либо файла электронной таблицы. Таблицы, содержащие растровые изображения, хранят данные в файлах-компонентах форматов BMP, TIF или GIF.
Ваши данные могут включать в себя также графические объекты. Если записям соответствуют координаты X и Y, это означает, что таблица содержит графические объекты. В разделе Геокодирование - присвоение координат данным в Главе 5 на стр. 229,
рассказано о том, как присвоить координаты X и Y записям таблицы и показать их на Карте. В этом случае к таблице будут относиться еще два файла:
• <имя файла>.MAP. Этот файл описывает графические объекты.
• <имя файла>.Ю. Этот файл содержит список указателей (индексов) на графические объекты, позволяющий MapInfo Professional быстро находить объекты на Карте.
Для таблиц Microsoft Access будет создан файл <имя файла>ЛЮ, связанный с таблицей (вместо <имя файла>.Ю). Этот файл является ссылкой, которая связывает данные с объектами таблицы Microsoft Access.
Таблица может содержать также и индексный файл. Индексный файл позволяет проводить поиск объектов на Карте с помощью команды Найти. Если Вам нужно найти улицы, города или области с использованием команды Найти, соответствующие поля таблицы должны быть проиндексированы. Индекс хранится в файле:
• <имя файла>.IND.
Открытие данных в MapInfo Professional
В MapInfo Professional можно открывать данные форматов Excel (XLS), dBase (DBF), Microsoft Access (MDB) и ASCII (TXT) и отображать результат на Карте. Процедура открытия файлов состоит из трех этапов:
1. создания копии исходных данных в формате MapInfo;
2. создания точек на Карте по их координатам или сравнением данных с файлом поиска (смотрите раздел: Геокодирование - присвоение координат данным в Главе 5 на стр. 229).
3. показа данных на Карте (смотрите раздел: Показ результатов геокодирования на Карте в Главе 5 на стр. 245).
Если приходится использовать удаленные данные в SpatialWare или любой другой СУБД, которая поддерживает доступ через ODBC, смотрите раздел О доступе к удаленным базам данных в Главе 7 на стр. 270 и Работа с окном MapBasic. Дополнительно о преобразовании, показе и печати данных рассказывает Глава 6: О данных.
Для работы с данными из базы надо сначала открыть файл или таблицу, содержащую данные. MapInfo предлагает начальный набор данных, которым можно пользоваться сразу после приобретения MapInfo Professional.