Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мой крус,гис(5 курс).doc
Скачиваний:
7
Добавлен:
20.12.2018
Размер:
1.98 Mб
Скачать
  1. Разработка справочной информационной гис

    1. Постановка задачи

Разработать справочно-информационную ГИС “Разработка информационной базы отелей г. Одессы”, которая должна обеспечивать поиск отелей по их названию. Также должна быть предусмотрена возможность формирования отчётов по поиску и возможность получения информации о найденном объекте (название отеля и адрес). Ещё справочная система должна предоставлять пользователю информацию.

Также должна быть предусмотрена возможность формирования отчётов по запросам.

    1. Разработка и описание геоинформационной базы

Разработка информационной базы велась в приложении 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 .