Расчет покрытий базовых станций сотовой сети

Материал из GIS-Lab
Перейти к навигации Перейти к поиску

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

Краткие сведения о 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. Ширина сектора станции в градусах.

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