Область достижимости
Область достижимости — сервис, который позволяет рассчитать контуры областей (изолинии), которые можно достичь из выбранного местоположения при указанном в запросе ограничении (на время в пути, либо на пройденное расстояние). Рассчитанные контуры возвращаются в виде замкнутой линии либо полигона, которые можно отобразить на карте.
/iso — точка вызова сервиса расчёта области достижимости. Возможные варианты построения изолиний:
- изохроны (isochrone, линии равного времени в пути);
- изодистанты (isodistance, линии равных расстояний).
Запрос
Запрос передается в формате json в HTTP body. json запроса состоит из обязательных и не обязательных полей. В url запроса должны быть заданы обязательные параметры.
Простой пример json запроса:
{ "locations":[ { "lat":55.796932, "lon":37.537849 } ], "costing":"pedestrian", "speed":5.6, "contours":[ { "time":15 }, { "time":30 } ], "id":"Iso_Test", "generalize":5 } |
По данному запросу вокруг заданной координаты будут сгенерированы две изохроны, ограничивающие области, которые пешеход может пройти из координаты за 15 и 30 минут. Скорость пешехода принимается за 5.6 км/ч.
Обязательные url-параметры запроса
Имя параметра
|
Формат
|
Описание
|
Пример
| |
---|---|---|---|---|
api_key | hex-string | Доступ к сервисам |
|
Обязательные json-поля в HTTP body запроса
Имя поля |
Формат |
Описание |
Пример | |
---|---|---|---|---|
locations | list | Точка, относительно которой осуществляется расчёт матрицы достижимости, где lat и lon - широта и долгота точки в градусах (используется 6 знаков после запятой) |
|
|
contours | list |
Список параметров для построения изолиний. Каждый параметр определяет метрику (время, либо расстояние) и цвет контура, который можно достичь по выбранной метрике при движении из точки, определённой параметром
|
|
Дополнительные json-поля в HTTP body запроса
Имя поля
|
Формат
|
Описание
|
Пример
| |
---|---|---|---|---|
speed | float |
Скорость, км/ч.
|
|
|
costing | string |
Тип транспорта для построения маршрута:
|
|
|
id | string | Идентификатор запроса, который возвращается вместе с ответом, что позволяет точно установить соответствие запроса и ответа |
|
|
costing_options | dict | Список параметров расчёта маршрута. Для различных типов транспорта используются различные опции и ограничения, аналогичные тем, которые используются в сервисе построения маршрута |
|
|
units | string |
Единица измерения расстояния в ответе:
|
|
|
generalize | float |
Значение в метрах используемое как допустимое отклонение при генерализации кривой контура по алгоритму Рамера-Дугласа-Пекера.
|
|
|
polygons | boolean |
Определяет структуру GeoJSON: возвращать в ответе полигоны или линии контуров достижимости:
|
|
|
show_locations | boolean |
Возвращать вместе с изолиниями исходные точки (заданные в locations) и точки, заматченные на дорожный граф (от которых по факту начинается построение изолиний). Возможные значения:
|
|
Ответ
Возвращаемый ответ соответствует структуре GeoJSON и содержит:
Имя поля
|
Формат
|
Описание
|
Пример
| |
---|---|---|---|---|
id | string | Идентификатор запроса, который возвращается вместе с ответом, что позволяет точно установить соответствие запроса и ответа |
|
|
properties | list | Описание времени и типа достижимости для линии или полигона контура, где contour — значение времени в минутах из запроса |
|
|
geometry | list |
Описание контура и его структуры, содержащее:
|
|
Если по запросу ничего не найдено, ответ будет выглядеть следующим образом:
{"status_code":400,"status":"Bad Request"} |
Пример
Запрос
curl -X POST \ -H "Content-type: application/json" \ -H "Accept: application/json" \ -d '{"locations":[{"lat":55.796932,"lon":37.537849}],"costing":"pedestrian","contours":[{"time":15,"color":"ff0000"},{"time":30,"color":"00ff00"}],"id":"Iso_Test","generalize":5}' \ "https://geo.rustore.ru/api/iso?api_key=<YOUR_API_KEY>" |
Ответ
{ "id": "Iso_Test", "type": "FeatureCollection", "features": [ { "properties": { "contour": 30 }, "geometry": { "coordinates": [[37.550148, 55.814228], [37.549480, 55.814301], [37.549141, 55.814220], [37.548851, 55.814262], [37.546852, 55.813473], [37.545994, 55.814072], [37.545681, 55.814106], [37.545200, 55.813931], [37.544643, 55.813137], [37.544186, 55.812927], [37.544849, 55.812748], [37.545116, 55.812195], [37.545120, 55.811932], [37.544849, 55.811672], [37.543846, 55.811695], [37.543369, 55.811932], [37.543404, 55.812378], [37.543674, 55.812927], [37.542850, 55.813446], [37.542519, 55.813602], [37.541729, 55.813808], [37.540901, 55.813980], [37.539993, 55.814072], [37.539852, 55.814152], [37.539547, 55.813931], [37.539261, 55.813522], [37.539066, 55.812931], [37.538933, 55.812855], [37.537849, 55.812763], [37.532852, 55.812763], [37.531853, 55.812664], [37.531693, 55.812771], [37.531349, 55.813435], [37.530849, 55.813683], [37.527847, 55.813553], [37.527512, 55.813591], [37.526852, 55.813824], [37.525101, 55.812931], [37.525043, 55.812744], [37.525280, 55.812359], [37.525257, 55.811932], [37.525066, 55.811714], [37.524853, 55.811634], [37.522850, 55.811668], [37.520851, 55.811581], [37.520531, 55.811611], [37.519794, 55.811874], [37.518070, 55.811714], [37.517254, 55.811531], [37.516560, 55.811222], [37.514851, 55.810818], [37.514248, 55.810532], [37.512482, 55.810295], [37.511650, 55.809933], [37.510849, 55.809696], [37.510563, 55.809216], [37.509514, 55.808933], [37.508846, 55.808617], [37.508575, 55.808655], [37.507908, 55.808990], [37.507851, 55.809124], [37.506790, 55.808994], [37.506432, 55.808353], [37.506348, 55.807926], [37.506130, 55.807652], [37.505852, 55.807522], [37.504852, 55.807327], [37.504086, 55.806927], [37.504608, 55.805935], [37.504890, 55.804932], [37.505463, 55.804539], [37.506413, 55.803490], [37.506596, 55.802933], [37.506027, 55.801758], [37.505489, 55.801296], [37.505211, 55.800571], [37.504852, 55.800243], [37.503761, 55.800022], [37.503632, 55.799149], [37.503334, 55.798931], [37.504494, 55.797573], [37.505337, 55.796932], [37.506489, 55.795567], [37.506851, 55.795300], [37.507401, 55.794479], [37.508106, 55.794186], [37.508385, 55.793926], [37.507927, 55.791931], [37.508575, 55.791653], [37.509132, 55.791214], [37.509377, 55.790932], [37.509697, 55.789928], [37.510567, 55.789654], [37.510849, 55.789474], [37.511265, 55.789516], [37.511852, 55.789795], [37.512287, 55.789368], [37.513012, 55.789093], [37.514851, 55.789059], [37.516853, 55.789448], [37.517147, 55.788933], [37.517376, 55.787933], [37.518219, 55.787567], [37.518467, 55.787548], [37.518852, 55.787048], [37.520317, 55.787395], [37.520351, 55.786930], [37.519840, 55.785942], [37.519733, 55.784813], [37.519814, 55.783936], [37.520851, 55.783707], [37.522850, 55.783810], [37.523712, 55.783798], [37.524124, 55.783657], [37.524662, 55.783737], [37.524937, 55.782932], [37.525475, 55.782558], [37.526855, 55.782169], [37.527237, 55.781937], [37.527851, 55.781296], [37.528114, 55.781197], [37.528477, 55.781303], [37.529850, 55.781086], [37.530849, 55.781151], [37.531528, 55.780933], [37.531853, 55.780731], [37.532845, 55.780922], [37.533852, 55.780361], [37.534851, 55.780132], [37.535851, 55.780499], [37.536850, 55.780613], [37.537590, 55.780933], [37.538418, 55.781933], [37.538094, 55.782177], [37.536850, 55.782494], [37.536671, 55.782757], [37.536758, 55.783024], [37.537849, 55.783115], [37.538853, 55.783100], [37.539192, 55.783272], [37.539516, 55.783272], [37.539516, 55.783596], [37.539848, 55.784061], [37.542732, 55.784050], [37.543095, 55.784172], [37.543610, 55.784172], [37.543610, 55.784691], [37.543850, 55.785027], [37.543968, 55.784927], [37.543980, 55.784069], [37.544151, 55.783630], [37.544151, 55.783234], [37.544548, 55.783234], [37.544849, 55.783089], [37.545853, 55.783096], [37.546055, 55.782932], [37.545853, 55.782459], [37.544849, 55.782249], [37.544636, 55.782143], [37.544563, 55.781651], [37.544788, 55.780872], [37.544926, 55.780857], [37.545509, 55.781269], [37.546185, 55.781269], [37.546432, 55.781349], [37.547852, 55.781448], [37.548126, 55.781658], [37.548252, 55.781929], [37.548279, 55.782932], [37.548252, 55.783337], [37.547714, 55.783791], [37.547665, 55.783928], [37.547745, 55.785042], [37.547852, 55.785114], [37.548851, 55.785156], [37.549404, 55.785378], [37.549690, 55.786087], [37.549850, 55.786221], [37.551277, 55.786362], [37.551544, 55.786240], [37.551849, 55.786335], [37.552105, 55.786674], [37.552048, 55.787128], [37.551849, 55.787205], [37.551548, 55.787628], [37.551472, 55.787937], [37.551559, 55.788227], [37.551849, 55.788536], [37.552174, 55.788609], [37.552494, 55.788929], [37.552151, 55.789234], [37.550850, 55.789551], [37.550755, 55.789837], [37.550903, 55.789989], [37.552853, 55.789989], [37.552979, 55.789814], [37.552906, 55.788986], [37.553734, 55.789055], [37.553852, 55.788998], [37.554855, 55.788998], [37.555008, 55.788773], [37.555096, 55.788177], [37.555695, 55.788090], [37.555851, 55.788006], [37.556850, 55.788013], [37.556938, 55.787930], [37.556973, 55.785805], [37.556450, 55.785332], [37.556080, 55.783703], [37.555851, 55.783459], [37.555420, 55.783360], [37.554760, 55.783024], [37.554733, 55.782936], [37.555012, 55.782093], [37.555439, 55.781933], [37.555851, 55.781876], [37.556301, 55.782482], [37.556850, 55.782600], [37.558849, 55.782555], [37.559853, 55.782436], [37.560852, 55.782436], [37.561218, 55.782566], [37.561405, 55.782490], [37.561852, 55.782536], [37.562847, 55.782425], [37.563286, 55.782501], [37.563850, 55.782726], [37.564850, 55.782578], [37.565845, 55.782696], [37.566853, 55.782688], [37.568306, 55.782932], [37.568703, 55.783081], [37.569214, 55.783569], [37.569412, 55.783932], [37.569366, 55.784931], [37.569077, 55.785160], [37.568851, 55.785187], [37.568340, 55.785419], [37.567787, 55.785931], [37.568188, 55.786594], [37.568398, 55.787384], [37.568851, 55.787849], [37.569027, 55.787930], [37.568558, 55.788933], [37.568157, 55.789230], [37.567852, 55.789318], [37.567600, 55.789680], [37.567585, 55.789932], [37.567852, 55.790161], [37.568855, 55.790195], [37.569851, 55.790462], [37.570263, 55.790337], [37.570557, 55.789932], [37.570576, 55.789658], [37.570850, 55.789375], [37.571117, 55.789665], [37.571796, 55.789932], [37.572170, 55.790607], [37.572571, 55.790936], [37.571640, 55.791931], [37.571121, 55.792206], [37.570133, 55.792931], [37.569618, 55.793930], [37.568855, 55.794933], [37.568947, 55.795933], [37.569851, 55.796734], [37.570312, 55.796932], [37.570080, 55.797165], [37.569851, 55.797222], [37.569534, 55.797619], [37.569134, 55.798931], [37.568851, 55.799126], [37.567608, 55.799686], [37.567398, 55.799927], [37.567631, 55.800930], [37.568256, 55.801937], [37.568562, 55.802933], [37.568115, 55.803204], [37.567337, 55.803417], [37.566853, 55.803654], [37.566193, 55.804276], [37.565849, 55.804287], [37.564850, 55.804539], [37.562851, 55.804642], [37.562603, 55.804688], [37.562321, 55.804928], [37.562374, 55.805931], [37.562851, 55.806541], [37.563114, 55.806667], [37.563370, 55.806927], [37.563446, 55.807926], [37.563210, 55.808292], [37.562851, 55.808395], [37.561855, 55.808449], [37.561455, 55.808323], [37.561081, 55.807697], [37.560852, 55.807652], [37.560570, 55.807930], [37.560551, 55.808628], [37.560448, 55.808937], [37.560158, 55.809238], [37.559292, 55.809376], [37.558571, 55.809658], [37.557850, 55.809826], [37.557652, 55.809132], [37.557041, 55.808743], [37.556850, 55.808704], [37.555855, 55.809750], [37.555717, 55.809799], [37.555286, 55.810364], [37.554852, 55.811588], [37.554558, 55.811642], [37.553555, 55.812637], [37.551849, 55.813408], [37.550850, 55.813587], [37.550594, 55.813931], [37.550148, 55.814228]] , "type": "LineString" }, "type": "Feature" }, { "properties": { "contour": 15 }, "geometry": { "coordinates": [[37.538876, 55.805958], [37.537895, 55.805969], [37.536850, 55.806187], [37.534851, 55.806030], [37.533852, 55.806026], [37.530849, 55.805218], [37.530231, 55.804928], [37.530651, 55.803932], [37.530163, 55.803619], [37.530067, 55.802933], [37.529850, 55.802757], [37.528851, 55.802734], [37.528469, 55.802933], [37.528511, 55.803272], [37.529060, 55.803932], [37.528996, 55.804081], [37.527851, 55.804409], [37.526024, 55.804108], [37.524857, 55.803989], [37.523849, 55.803200], [37.522850, 55.803543], [37.521851, 55.803284], [37.521061, 55.802933], [37.521778, 55.800926], [37.521568, 55.799931], [37.521996, 55.798927], [37.522476, 55.798553], [37.522850, 55.798439], [37.523849, 55.798332], [37.524094, 55.798180], [37.524254, 55.797932], [37.524155, 55.797630], [37.523849, 55.797279], [37.523552, 55.797230], [37.522991, 55.796932], [37.523434, 55.795933], [37.523846, 55.795574], [37.524853, 55.795555], [37.525974, 55.795811], [37.526047, 55.795933], [37.527344, 55.796440], [37.527584, 55.796932], [37.527706, 55.797081], [37.527851, 55.797115], [37.528137, 55.796646], [37.528137, 55.796215], [37.528564, 55.796215], [37.528851, 55.796078], [37.529942, 55.796028], [37.530178, 55.795601], [37.530178, 55.795261], [37.530521, 55.795261], [37.530849, 55.795101], [37.531178, 55.795261], [37.531521, 55.795261], [37.531521, 55.795601], [37.531769, 55.796017], [37.533852, 55.796032], [37.534050, 55.796127], [37.534657, 55.796127], [37.534657, 55.796738], [37.534790, 55.796989], [37.535896, 55.796978], [37.535950, 55.794933], [37.535625, 55.794704], [37.535076, 55.794704], [37.534946, 55.792835], [37.534645, 55.792721], [37.534058, 55.792721], [37.533852, 55.792637], [37.531853, 55.792431], [37.531441, 55.792336], [37.530727, 55.791931], [37.531166, 55.790932], [37.531544, 55.790623], [37.532330, 55.790409], [37.533852, 55.790245], [37.534039, 55.790123], [37.534431, 55.789516], [37.535152, 55.789234], [37.535465, 55.788933], [37.535500, 55.788578], [37.535851, 55.788170], [37.536205, 55.788574], [37.536320, 55.788933], [37.536610, 55.789173], [37.536850, 55.789261], [37.538105, 55.789185], [37.538727, 55.788811], [37.539024, 55.788757], [37.539921, 55.788868], [37.540951, 55.788834], [37.541851, 55.789043], [37.542439, 55.789349], [37.542850, 55.789448], [37.543850, 55.789272], [37.544254, 55.789337], [37.544502, 55.789280], [37.544849, 55.789421], [37.546322, 55.789463], [37.546852, 55.789597], [37.547276, 55.789356], [37.547852, 55.789242], [37.548000, 55.789787], [37.548676, 55.789757], [37.549397, 55.789932], [37.549641, 55.790142], [37.549850, 55.790207], [37.551849, 55.790260], [37.553345, 55.790436], [37.553852, 55.790600], [37.554203, 55.791931], [37.554337, 55.792934], [37.553852, 55.793671], [37.553501, 55.793930], [37.553276, 55.794353], [37.553158, 55.794933], [37.552265, 55.795349], [37.551750, 55.795837], [37.551640, 55.796932], [37.551228, 55.797928], [37.551395, 55.798931], [37.551365, 55.799931], [37.552040, 55.800930], [37.552097, 55.801933], [37.551849, 55.802193], [37.551334, 55.802418], [37.548805, 55.802883], [37.548664, 55.803932], [37.547852, 55.804455], [37.547508, 55.804588], [37.546852, 55.804703], [37.545853, 55.805096], [37.541851, 55.805519], [37.540852, 55.805511], [37.539623, 55.805702], [37.538876, 55.805958]], "type": "LineString" }, "type": "Feature" } ] } |