- •Введение
- •Этапы разработки интегрированной информационной системы
- •Модели данных гис
- •Разработка справочной информационной гис
- •Постановка задачи
- •Разработка и описание геоинформационной базы
- •3.3 Разработка запросов к геобазе
- •3.4 Описание интерфейса
- •Инструкция пользователя
- •Перечень ссылок
- •Приложение а Листинг программы
-
Разработка справочной информационной гис
-
Постановка задачи
Разработать справочно-информационную ГИС “Разработка информационной базы отелей г. Одессы”, которая должна обеспечивать поиск отелей по их названию. Также должна быть предусмотрена возможность формирования отчётов по поиску и возможность получения информации о найденном объекте (название отеля и адрес). Ещё справочная система должна предоставлять пользователю информацию.
Также должна быть предусмотрена возможность формирования отчётов по запросам.
-
Разработка и описание геоинформационной базы
Разработка информационной базы велась в приложении MapInfo. Была план-схема города Одесса с масштабом 1:25 000.
Использовалась географическая система координат, а также для ряда географических запросов устанавливалась в качестве координатной системы
равноплощадная проекция.
Создан слой Tablica, содержащий 5 полей:
-Nazvanie |
(название отеля) |
тип данного поля Character(60) |
- Telephone |
(телефон отеля) |
тип данного поля Character(50) |
- Adress |
(адрес отеля) |
тип данного поля Character(50) |
-type |
(тип отель/гостиница) |
тип данного поля Character(50) |
-etaz |
(количество этажей) |
тип данного поля Integer |
-region |
(регион отеля) |
тип данного поля Character(50) |
3.3 Разработка запросов к геобазе
Разработка и реализация запросов велась в приложении MapBasic. В запросах использовались следующие функции:
Оператор Select Выбирает отдельные строки и колонки из одной или более таблиц и составляет из них временные таблицы запросов. Этот оператор часто используется для сортировки и вычисления промежуточных сумм.
Предложение From обязательное предложение, в котором должно указываться имя открытой таблицы, из которой производится выбор. Значения колонок из таблицы table_name будут скопированы в новую, полученную в результате действий оператора Select.
Предложение Where одна из функций предложения Where, основная, заключается в задании критерия выбора строк в таблице table_name. Здесь могут использоваться любые выражения (смотрите раздел "Выражения" ниже). Два или более выражения разделяются словами And или Or, а не запятыми.
Функция Like( ) определяет, подходит ли строка string под шаблон pattern_string. Шаблон представляет собой строку из регулярных символов и специальных. При сравнении регулярные символы должны совпадать с соответствующими символами в строке string, причем строчные и прописные буквы различаются. Специальные символы задают неопределенное совпадение:
-
_ (знак подчеркивания) соответствует одному символу;
-
% (percent) соответствует нескольким символам или не одному.
Функция Distance( ) вычисляет расстояние между двумя определенными точками и возвращает значение в указанных единицах. Список всех возможных имен единиц измерения приведен в описании оператора Set Distance Units. Координаты X и Y понимаются MapBasic относительно заданной системы координат.
Если система координат не объявлялась, то используется система широта/долгота. Объявить систему координат можно оператором Set CoordSys.
Если текущей системой координат является система координат Земли, то функция Distance( ) возвращает расстояние между двумя точками по дуге большого земного сечении (большой окружности, полученной в результате сечения земного шара плоскостью, заданной этими двумя точками и центром Земного шара). Если текущая система координат – система координат для не проецированных карт (планов), функция Distance( ) возвращает расстояние в Декартовых координатах.
Оператор Set CoordSys устанавливает в качестве координатной системы равноплощадную проекцию Алберса.
Set CoordSys Earth
Projection 9,7,"m",-96.0,23.0,20.0, 60.0, 0.0, 0.0
Функция CartesianDistance( ) Возвращает расстояние между двумя точками.
CartesianDistance ( x1 , y1 , x2 , y2 , unit_name )
x1 и x2 это x-координаты (долгота)
y1 и y2 это y-координаты (широта)
unit_name это строковая величина, соответствующая имени единиц измерения расстояния (например,”km”)
Функция возвращает измеренное расстояние в единицах, указанных параметром unit_name например, что бы получить расстояние в милях, укажите ”mi” как параметр unit_name .