lbs

package module
v0.0.0-...-f4bf06f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2016 License: MIT Imports: 6 Imported by: 0

README

Вычисление географических координат на основании видимых сотовых вышек (LBS)

GoDoc Build Status Coverage Status

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

Интерфейс запросов и ответов полностью совпадает с интерфейсом github.com/geotrace/locator, поэтому данная библиотека может использоваться как замена удаленных сервисов геолокации Mozilla, Yandex или Google. В качестве наполнения базы данных можно использовать данные, предоставляемые OpenCellID или Mozilla Locator.

В качестве хранилища для данных используется MongoDB.

В состав библиотеке так же входит программа lbs-import, для импорта данных о сотовых вышках и их координатах, представленных в формате CSV.

Documentation

Overview

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

Интерфейс запросов и ответов полностью совпадает с интерфейсом github.com/geotrace/locator, поэтому данная библиотека может использоваться как замена удаленных сервисов геолокации Mozilla, Yandex или Google.

В качестве наполнения базы данных можно использовать данные, предоставляемые OpenCellID или Mozilla Locator.

В качестве хранилища для данных используется MongoDB.

В состав библиотеке так же входит программа lbs-import, для импорта данных о сотовых вышках и их координатах, представленных в формате CSV.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrEmptyRequest = errors.New("lbs: empty request")
	ErrNotFound     = errors.New("lbs: not found")
)
View Source
var CollectionName = "lbs" // описывает название коллекции с данными для LBS.
View Source
var DefaultRadioType = "gsm" // используемый по умолчанию тип радио.

Functions

This section is empty.

Types

type DB

type DB struct {
	// contains filtered or unexported fields
}

DB описывает хранилище LBS данных и работу с ними.

func InitDB

func InitDB(session *mgo.Session, dbName string) (db *DB, err error)

InitDB возвращает инициализированный объект для работы с хранилищем LBS данных.

func (*DB) Get

func (db *DB) Get(req locator.Request) (response *locator.Response, err error)

AveragePoint ищет и вычисляет координаты, переданные в запросе, на основании данных вышек сотовой связи. Если данных не достаточно или необходимая для вычислений информация не найдена в хранилище, то возвращается ошибка.

func (*DB) GetCells

func (db *DB) GetCells(req locator.Request) (cells []Data, err error)

GetCells возвращает информацию о найденных сотовых станциях.

func (*DB) Records

func (db *DB) Records() int

Records возвращает количество записей в хранилище LBS.

type Data

type Data struct {
	Location geo.Point `bson:"location"` // координаты
	Accuracy float64   `bson:"range"`    // расстояние
}

Data описывает данные для вышки сотовой станции.

type Key

type Key struct {
	RadioType         string `bson:"radio"` // The mobile radio type. Supported values are lte, gsm, umts, cdma, and wcdma.
	MobileCountryCode uint16 `bson:"mcc"`   // country code  (250 - Россия, 255 - Украина, Беларусь - 257)
	MobileNetworkCode uint16 `bson:"mnc"`   // operator code
	LocationAreaCode  uint16 `bson:"lac"`   // the base station cell number
	CellId            uint32 `bson:"cell"`  // base station number
}

Key описывает ключ для поиска информации по LBS.

Directories

Path Synopsis
Данная программа позволяет импортировать данные о координатах сотовых вышек, которые потом используются для вычисления координат для LBS.
Данная программа позволяет импортировать данные о координатах сотовых вышек, которые потом используются для вычисления координат для LBS.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL