Географическая информационная система (ГИС) – это программный пакет, предназначенный для создания, визуализации, поиска и анализа пространственных данных. Пространственные данные относятся к информации о географическом местоположении объекта. Это часто связано с использованием географических координат, таких как широта и долгота. Помимо пространственных данных, часто используются другие термины, такие как географические данные, данные ГИС, данные карты, данные местоположения, данные координат и данные пространственной геометрии [1].
Спектр задач приложений для работы с пространственными данными достаточно широк. Создание карт – это наиболее простая для понимания функция ГИС-приложения. Программное обеспечение для картографии отображает пространственные данные в форме, удобной для просмотра на экране или печати. Приложения могут представлять данные как статические (простое изображение) или динамические карты, которые предназначены для просмотра в настольном приложении или на веб-странице.
Неотъемлемой частью ГИС является база данных. Географическая информационная система имеет возможность обрабатывать данные, используя все функции, которые предоставляет система управления базами данных (СУБД). При использовании ГИС, запрос к базе данных можно уточнить, введя дополнительные параметры, что делает поиск более быстрым и удобным [2].
В отличие от обычной СУБД, ГИС можно использовать для пространственных запросов и анализа.
Пространственный запрос – это задача поиска пространственных объектов в базе данных с использованием условий, содержащих координаты.
Итак, геоинформационная система, которая использовалась в проекте – QGIS. QGIS (Quantum GIS), представляет собой бесплатную кроссплатформенную географическую информационную систему, состоящую из настольной версии и сервера. Для нашего проекта мы использовали QGIS Desktop.
QGIS Desktop – это настольная ГИС для создания, редактирования, визуализации, анализа и публикации геопространственной информации. QGIS часто называют QGIS Desktop.
QGIS работает на платформе Windows и на большинстве платформ Unix, присутствует поддержка множество векторных и растровых форматов и баз данных, а также имеет множество встроенных инструментов [3].
Также в проекте использовалась база данных PostgreSQL. Для работы с географическими объектами в реляционной базе данных PostgreSQL использовался PostGIS.
Ход работы
В первую очередь необходимо было определить количество аптек и поликлиник в городе Кемерово. Для поиска аптек и поликлиник можно использовать Google Maps или 2ГИС. Далее нужно каждой аптеки и поликлиники найти координаты – широту и долготу.
Способ №1. Для нахождения координаты для объекта, необходимо было зайти в Google Maps, нажать правой кнопкой мыши по объекту и получить координаты.
Но данный способ нас не устраивает, потому что аптек и поликлиник в городе очень много, и для каждого объекта искать так координаты будет очень долго.
Способ №2. Использовать парсер, для получения координат объектов. Использовать сайт [4] для получения координат. Далее был написан парсер, после чего были получены данные для всех необходимых объектов.
Способ №3. Использовать Google Maps API key. Используя API-ключ, можно отправить POST-запрос по адресу, указанной в документации [5]. После этого можно получить ответ в формате json. После парсинга ответа в формате json, можно получить координаты объекта. Далее пишется скрипт, где в цикле перебираем все необходимые адреса и получаем координаты в файл.
После того, как все адреса и координаты аптек и поликлиник были получены, необходимо всю известную информацию добавить в qgis. Для этого, нужно чтобы был установлен плагин OpenLayersPlugin. А для добавления координат необходим модуль Lat lon Tools. После загрузки модулей, необходимо будет добавить OpenStreetMap. Далее необходимо загрузить точки с поликлиниками и аптеками. Загрузим их с заранее записанного файла CSV, где хранятся координаты и адреса.
После добавления всех точек на карту, будет добавлена векторная сетка на карту. Далее карта будет обрезана по границам города.
Теперь будет происходить работа с базой данных. Добавим точки и сетку в базу данных, используя СУБД PostgreSQL. Заранее необходимо будет создать базу данных postgis, выполнить для неё два sql запроса из файла postgis.sql и spatial_ref_sys.sql. Далее, используя программу PostGIS Shapefile Import/Export Manager необходимо загрузить слои с точками и сеткой в бд. Также в слой с сектой необходимо добавить коэффициенты значимости koef.
Для подсчета использовалась формула:
(1)
Lm – индекс комфортности,
Ni – количество объектов определенной категории,
ki – коэффициент значимости.
Далее находятся max L и min L.
После нахождения максимума и минимума, нормализуются полученные индексы (формула (2)).
(2)
Lm – значение индекса комфортности;
max L, min L – мин. и макс. значение индекса комфортности;
Lm норм – нормализованный индекс комфортности.
Нормализация преобразует абсолютные значения величины социальной комфортности в относительные. Это упрощает процедуру сравнения и кластеризации данных.
Для определения количества объектов определенной категории был выбран метод 9 квадратов. Данный метод, основан на подсчете объектов в целевом квадрате и объектов, находящихся в соседних квадратах.
После загрузки коэффициентов, необходимо выгрузить сетку из БД в QGIS. Т.к. коэффициенты были посчитаны, на сетке будут показаны плотность аптек. После всех этих действий, итоговый вариант сетки будет выглядеть так (рисунок):
Рис. Результат анализа значимости коэффициентов
Выводы
Проведено исследование, и было выявлено, что аптеки и больницы расположены довольно плотно друг к другу, и это позволяет людям получить необходимую помощь. Наиболее плотные участки поликлиник и больниц находятся в центральном районе города. Следовательно, жителям города, которые живут в этом районе, наиболее комфортно будет пользоваться услугами поликлиник, а также получать необходимые медицинские препараты.