seizethedata / stuurman

Wicked router

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stuurman

Run

python server.py

Usage

URLs:

  • /ws - запрос 3-ех маршрутов из точки А в Б.
  • /beautiful_path - запрос 3-ех маршрутов "get_back" из точки А.
  • /log_coords - логгирование геопозиции во время использования приложения.

При запросе /ws необходимо указать:

  • x1 – долгота точки А
  • y1 – широта точки А
  • x2 – долгота точки Б
  • y2 – широта точки Б
  • imei - уникальный идентификатор устройства(поле необязательно, но желательно)

При запросе /beautiful_path необходимо указать:

  • x – долгота точки А
  • y – широта точки А
  • time - время прогулки(для 30 мин. указать 30, для 60 - 60, для 90 - 90)
  • imei - уникальный идентификатор устройства(поле необязательно, но желательно)

При запросе /log_coords необходимо указать:

  • lon – долгота локации
  • lat – широта локации
  • imei - уникальный идентификатор устройства(поле необязательно, но желательно)

В ответе находится массив из 3-ех объектов(разных типов маршрутов). В каждом объекте хранятся следующие параметры:

Param Description
start массив с координатами начала маршрута
length длина маршрута в километрах
time время в минутах
type тип маршрута: 'air', 'green', 'noise'
zoom bbox для зума на маршрут
geom feature collection(geojson)

Примеры:

URL cURL example
/ws curl -X POST -H "Content-Type: application/json" http://0.0.0.0:5000/ws -d
'{"x1":37.634390,"y1":55.758851,"x2":37.702678,"y2":55.612287,"imei":"some imei"}'
/beautiful_path curl -X POST -H "Content-Type: application/json" http://0.0.0.0:5000/beautiful_path -d
'{"x":37.634390,"y":55.758851,"time":30,"imei":"some imei"}'
/log_coords curl -X POST -H "Content-Type: application/json" http://0.0.0.0:5000/log_coords -d
'{"lat":36.4,"lon":55.5,"imei":"some imei"}'

Обработка ошибок

При ошибке в обработке запроса в ответе от сервера приходит {"error":код ошибки}. Коды ошибок:

  • 0 – маршрут не может быть построен
  • 1 – точка отправления или прибытия находятся в зоне, где граф отсуствует

Пример ответа находится в файле response_example.json

About

Wicked router

License:MIT License


Languages

Language:Python 75.2%Language:HTML 22.3%Language:CSS 1.9%Language:Dockerfile 0.6%