Геопозиция

Наш сервис получает данные с прибором и строит маршруты на карте по координатам.

Метод reverse_geocode - Запрос адреса по координатам.

POST https://plus.auto-scan.ru/api/reverse_geocode

Используется для того, чтобы получить адрес по координатам (геокодинг). Используется база адресов OpenStreetMap.

Параметры

ИмяТипОписание
points*: [{x: …, y: …}, {x: …, y: …},]arrayМассив из N-словарей, где x: float это Долгота - longtitude, y: float это Широта - latitude

* - обозначены обязательные параметры.

Результат

В случае успеха возвращает JSON вида:

{
  "ok": True,
  "addresses": [str, str, ..., str],
  "errors": [null, null, ..., null],
}

Если какую-то точку не смог декодировать, на этом месте в массиве addresses будет null, а в errors str, то есть:

{
  "ok": True,
  "addresses": [str, null, ..., str],
  "errors": [null, str, ..., null],
}

Пример

import requests

result = requests.post(
    'https://plus.auto-scan.ru/api/reverse_geocode',
    auth=('login', 'password'),
    headers={'X-ZONT-Client': 'your@email', },
    json={"points": [{'x': 43.865720, 'y': 56.165796}, {'x': 44.002595, 'y': 56.328376}],}
).json()

address = result["address"]
errors = result["errors"]

print(address) #['Заводская, с2', 'Кремль, Нижегородский кремль']
print(errors) #[None, None]

Метод load_data - Запрос маршрутов устройства

POST https://plus.auto-scan.ru/api/load_data

Используется для того, чтобы получить все GPS-точки в указанной дате.

Параметры

ИмяТипОписание
requests*arrayМассив с запросами вида {Request}, см. пример.

* - обозначены обязательные параметры.

Тип Request

ИмяТипОписание
device_idintID-устройства в системе
data_typesarray[“gps”] - запросим GPS-точки
mintimeunixtimeВремя в секундах от начала эпохи Unix, значение от которого запрашивается маршрут
maxtimeunixtimeВремя в секундах от начала эпохи Unix, значение до которого запрашивается маршрут

Результат

В случае успеха возвращает JSON вида:

{
 "ok": True,
 "responses":[{
  "ok": True,
  "device_id": int,
  "gps": [
          [time, x, y, speed, provider, single, accuracy, satellites, hdop, altitude, avg_va],
          ...
      ],
},]
}
ИмяТипОписание
timeunixtimeВремя записи этой координатной точки
xfloatЗначение градусов по долготе (longtitude)
yfloatЗначение градусов по широте (latitude)
speedfloat | nullСкорость в км/ч
providerintЕсли GPS, то 0; Если GSM (LBS), то 1
singleboolЕсли точка не одиночная, то False.
accuracyint | nullТочность в метрах
satellitesint | nullКоличество спутников
hdopint | nullГоризонтальная точность (HDOP)
altitudeint | nullВысота над уровнем моря (м)
avg_vafloat | nullУсреднённое вертикальное ускорение

Наш сервис получает данные с прибора и строит маршруты на карте по координатам.

Пример

import requests

result = requests.post(
    'https://plus.auto-scan.ru/api/load_data',
    auth=('demo', 'demo'),
    headers={'X-ZONT-Client': 'your@email', },
    json={
        "requests":[
            {
                "device_id": 10779,
        		"data_types": ["gps"],
        		"mintime": 1611739095,
        		"maxtime": 1611739133
            },
        ]
         }
).json()

gps_point = result["responses"][0]["gps"]
print(gps_point) 
#[
   # [1611739095, 38.492817, 55.278583, 56, 0, False, None, None, None, None, None], 
   # [1611739103, 38.49165, 55.279567, 50, 0, False, None, None, None, None, None],
   # [1611739118, 38.489783, 55.281133, 61, 0, False, None, None, None, None, None],
   # [1611739124, 38.488817, 55.281933, 71, 0, False, None, None, None, None, None],
   # [1611739133, 38.48715, 55.2833, 82, 0, False, None, None, None, None, None]
#]