Расчет покрытий базовых станций сотовой сети: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 1: Строка 1:
В данной статье описывается пример использования библиотеки [http://www.geoalchemy.org/intro.html GeoAlchemy] -- расширения библиотеки  SQLAlchemy, которое предназначено для работы с пространственными БД. В качестве иллюстрации выбрана задача расчета покрытий базовых станций сотовой сети.
В данной статье описывается пример использования библиотеки [http://www.geoalchemy.org/intro.html GeoAlchemy] -- расширения библиотеки  [http://www.sqlalchemy.org/ SQLAlchemy], которое предназначено для работы с пространственными БД. В качестве иллюстрации выбрана задача расчета покрытий базовых станций сотовой сети.
 
Данная статья не ставит цель дать всесторонний обзор данных библиотек или заменить их документацию. Цель статьи -- познакомить читателя с идеями, лежащими в основе этих библиотек и на конкретном примере и показать преимущества использования [http://ru.wikipedia.org/wiki/ORM технологии ORM], обеспечивающей большую гибкость и прозрачность программного кода.


== Краткие сведения о SQLAlchemy и GeoAlchemy ==
== Краткие сведения о SQLAlchemy и GeoAlchemy ==

Версия от 14:41, 29 декабря 2013

В данной статье описывается пример использования библиотеки GeoAlchemy -- расширения библиотеки SQLAlchemy, которое предназначено для работы с пространственными БД. В качестве иллюстрации выбрана задача расчета покрытий базовых станций сотовой сети.

Данная статья не ставит цель дать всесторонний обзор данных библиотек или заменить их документацию. Цель статьи -- познакомить читателя с идеями, лежащими в основе этих библиотек и на конкретном примере и показать преимущества использования технологии ORM, обеспечивающей большую гибкость и прозрачность программного кода.

Краткие сведения о SQLAlchemy и GeoAlchemy

Библиотека на языке Python с открытым исходным кодом SQLAlchemy -- предназначена для работы с реляционными СУБД с применением технологии ORM. Она служит для синхронизации объектов Python и записей реляционной базы данных. SQLAlchemy позволяет описывать структуры баз данных и способы взаимодействия с ними на языке Python без использования SQL.

GeoAlcemy -- пространственное расширение библиотеки SQLAlchemy, позволяющее производить обработку пространственных данных. В настоящий момент GeoAlchemy поддерживает такие базы данных и их пространственные расширения, как PostGIS, Spatialite, MySQL, Oracle, и MS SQL Server 2008.

Краткие сведения о задаче расчета покрытий

Для примера будем рассматривать задачу расчета покрытий базовых станций (БС) сотовой сети. Предположим, что имеется набор точек, которые помечают местоположения базовых станций. При этом с каждой станцией связаны следующие атрибуты:

  1. Идентификаторы станции т.е. mcc, mnc, lac, cid (подробнее об этих идентификаторах можно прочитать в википедии
  2. Частота, на которой работает БС.
  3. Высота подвеса.
  4. Тип сети (2G, 3G, 4G).
  5. Азимут "луча" станции.
  6. Ширина сектора станции в градусах.

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

Будем использовать простейший вариант расчета покрытия БС, когда точка будет считаться принадлежащей к зоне обслуживания той БС, к которой она расположена ближе. Это очень простая модель, которая не учитывает неоднородности среды, в которой распространяется радиосигнал, мощность данного сигнала, но, тем не менее, при достаточно большой плотности сети она позволяет найти приблизительное решение задачи.

Построение модели GeoAlchemy

Данные по базовым станциям и их покрытиям будем хранить в БД PostgreSQL с пространственным расширением PostGIS.