Информационно-аналитическая система мониторинга учебных диiиплин в университете
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?вадратов, которые нужно обновить с выделенным объектом;
Так же если объект - дом, то для него находится ближайшая остановка, определяется район, в котором он находится, а так же в ответ включается информация об этажности.
Выделение сетей
Информация о сетях содержится в БД, в неё входит имя сети, идентификационный номер, и адреса домов, которые подключены к сети.
На сервере находится информация о сетях в виде номер - сети, и идентификационные номера домов, которые подключены к сети.
При выделении сети - клиент запрашивает квадраты с пометкой, какую сеть при этом нужно выделять. Сервер находит все объекты, которые входят в квадрат, используя penta-дерево, а затем из них все дома, принадлежащие сети, а при прорисовке домов проверяется - нужно ли выделять этот дом.
Благодаря выбору объектов по penta-дереву, количество домов в сети не влияет на скорость рисования картинки.
Поиск фирм
В любой справочной системе должен существовать поиск фирм, а так как мы работаем с картой, то и расстановка флагов результата поиска.
Информация о фирмах находится в БД, поэтому поиск осуществляется на сервере взаимодействия. В БД есть вся информация о фирме, а так же адреса, где расположены точки фирмы.
Для расстановки флагов над точками фирмы интерфейсной части нужно знать позиции сразу нескольких адресов, поэтому реализована обработка специального запроса поиска большого количества адресов, ответом на который является список точек на карте.
Для удобства - реализованы два инструмента - это поиск в радиусе, и поиск в полигоне. В реализации такого поиска необходим сервер обработки ГИ, т.к. область поиска находится на карте. Такой поиск можно осуществить двумя способами:
.Узнать у сервера адреса всех домов входящий в область, затем осуществлять поиск фирм с этими адресами.
2.Осуществить поиск, затем отправить результаты серверу, а он в свою очередь проверит их вхождение в область поиска.
Был выбран первый способ, т.к. сервер является HTTP сервером, и обрабатывает GET запросы, а их длина ограничена.
Поиск пути
Современному человек всегда живёт в движении, и часто нужно добраться из одной точки в другую, используя маршрутный транспорт, личный или такси.
С помощью карты можно выбрать оптимальный маршрут для движения.
Функции поиска осуществляются на сервере, для этого нужно передать координаты точек, между которыми нужно найти маршрут.
Нарисовать маршрут можно двумя способами:
.Создавать временный объект на сервере, рассчитывать квадраты, в которые он входит. Затем запрашивать эти квадраты со стороны клиента.
Недостатки:
-большой трафик, т.к. нужно обновлять растр;
-невозможность кэширования, т.к. всегда различные точки, между которыми нужно искать маршрут;
-создание временных объектов на сервере.
2.Передать точки, через которые проходит маршрут, и нарисовать его, на стороне клиента.
Недостатки:
-Нагрузка на машину клиента, т.к. прорисовка маршрута происходит на стороне клиента.
Очевидно, второй способ гораздо лучше первого, поэтому он был реализован.
.4 Организация сервера взаимодействия
Описание работы сервера взаимодействия:
На веб сервер приходит запрос, он проходит первичную (алг.1) обработку, при этом определяется, к какой категории относится запрос:
-картинка города - при этом сервер проверяет - есть ли картинка в кэше, если есть, то отправляет её клиенту, а если нет, то передаёт запрос тому СОГИ, который отвечает за этот город, затем сохраняет картинку, и отправляет клиенту (алг.2);
-запрос, связанный со справочной информацией из БД, тогда формируется запрос к СУБД, и передаётся ответ клиенту;
-запрос, связанный с графической информацией (определение координат, поиск адреса, поиск маршрута, и др.), в этом случае запрос передаётся тому СОГИ, который отвечает за этот город, а ответ - клиенту.
Алгоритм 1 - Обработка запроса веб сервером.сервер, обрабатывает запросы отдельными потоками, следовательно происходит параллельная обработка запросов, её так же поддерживают и СОГИ, каждый из них так же обрабатывает запрос отдельным потоком, благодаря чему общее время выполнения запроса ускоряется.
.5 Клиентская часть
Клиент обрабатывает действия пользователя, и при нехватке каких либо данных формирует соответствующие запросы веб-серверу, который их обрабатывает. Каждый клиент может посылать одновременно около 20 запросов на картинку (рис. 5), это реализовано с подходом асинхронного JavaScript и XML (AJAX), при этом все запросы происходят в фоновом режиме, благодаря чему пользователь может работать, не дожидаясь пока загрузятся все картинки.
Рисунок 5 - Формирование параллельных запросов на картинки.
Функции клиента:
Инструмент поиска пути - при включении этого инструмента пользователь расставляет точки, или передвигает их. По событию нажатия соответствующей кнопки Найти маршрут - координаты точек пересчитываются в координаты карты и посылаются серверу. При приходе ответа от сервера рисуется линия по пришедшим координатам.
Обработка изменения зума - изменение зума срабатывает на событие скролла мыши. При изменении позиции скролла изменяется масштаб отображения карты. При изменении масштаба карты нужно обновить все квадраты рабочей области, перезагрузить их с сервера. Эта операция достаточно медленная и для эффекта приближения или удаления, в зависимости от т?/p>