### TSP Request Example (Round Trip) Source: https://api.visicom.ua/llms.txt Example of a request to solve the Traveling Salesperson Problem (TSP). This example includes multiple waypoints and assumes a round trip. Replace 'YOUR_API_KEY' with your actual API key. ```http https://api.visicom.ua/data-api/5.0/core/tsp.json?waypoints=28.71483,50.29734|31.93485,46.98892|31.27979,51.50313|24.01646,49.8392|32.41791,50.90552&key=YOUR_API_KEY ``` -------------------------------- ### TSP Request Example (No Round Trip) Source: https://api.visicom.ua/llms.txt Example of a TSP request where the route does not return to the starting point. The 'round_trip' parameter is set to 'false'. Ensure to replace 'YOUR_API_KEY' with your actual API key. ```http https://api.visicom.ua/data-api/5.0/core/tsp.json?waypoints=31.6032,48.61124|31.93485,46.98892|31.27979,51.50313|24.01646,49.8392|32.41791,50.90552&round_trip=false&key=YOUR_API_KEY ``` -------------------------------- ### Distance Matrix Request Example Source: https://api.visicom.ua/llms.txt Example of a request to calculate a distance matrix. Specify origins, destinations, and the desired mode of transport. Ensure to replace 'YOUR_API_KEY' with your actual API key. ```http https://api.visicom.ua/data-api/5.0/core/distancematrix.json?origins=30.36277,50.51605|30.49667,50.49508|30.59761,50.45226|30.51383,50.44789&destinations=30.36277,50.51605|30.49667,50.49508|30.59761,50.45226|30.51383,50.44789&mode=driving-shortest&key=YOUR_API_KEY ``` -------------------------------- ### GET /core/location.[format] Source: https://api.visicom.ua/llms.txt Solves the direct geodetic problem by calculating coordinates of a point based on a starting point, azimuth, and distance. ```APIDOC ## GET /core/location.[format] ### Description Calculates coordinates of a point on the Earth's surface based on a starting point, azimuth, and distance. ### Method GET ### Endpoint https://api.visicom.ua/data-api/5.0/core/location.[format] ### Parameters #### Path Parameters - **format** (string) - Required - Data format (json, csv). #### Query Parameters - **start|s** (string) - Required - Base point identifier or WKT geometry. For points, use 'lng,lat'. - **azimut|a** (number) - Required - Azimuth in degrees. - **distance|d** (number) - Required - Distance in meters. ### Response #### Success Response (200) - **GeoJSON** - Returns a GeoJSON object describing the calculated point. ``` -------------------------------- ### Direct Geodetic Problem API Request Source: https://api.visicom.ua/llms.txt Schema and example for calculating coordinates based on a starting point, azimuth, and distance. ```http https://api.visicom.ua/data-api/5.0/core/location.[format]?[start|s][&azimut|a][&distance|d] ``` ```http https://api.visicom.ua/data-api/5.0/core/location.json?start=30.55631,50.43474&azimut=225&distance=5000&key=YOUR_AUTHORITY_KEY ``` -------------------------------- ### GET /core/buffer.json Source: https://api.visicom.ua/llms.txt Calculates a buffer zone around a given geometry or object. ```APIDOC ## GET /core/buffer.json ### Description Calculates a buffer zone around a given geometry or object. ### Method GET ### Endpoint https://api.visicom.ua/data-api/5.0/core/buffer.json ### Parameters #### Query Parameters - **near|n** (string) - Required - Identifier of the object or geometry in WKT format (max 250 vertices). For points, use 'lng,lat'. - **radius|r** (number) - Required - Radius of the buffer zone in meters (max 10,000). Negative values return a negative width buffer. ### Response #### Success Response (200) - **GeoJSON** - Returns a GeoJSON object describing the buffer zone geometry. ``` -------------------------------- ### Distance Matrix Response Example Source: https://api.visicom.ua/llms.txt Example of a JSON response for a distance matrix calculation. The response is structured as rows, where each row contains distances from a specific origin to all destinations. ```json {"rows": [ [ {"distance": 0, "status": "OK"}, {"distance": 12110,"status": "OK"}, {"distance": 22616,"status": "OK"}, {"distance": 14885,"status": "OK"} ], [ {"distance": 12442,"status": "OK"}, {"distance": 0,"status": "OK"}, {"distance": 13060,"status": "OK"}, {"distance": 9323,"status": "OK"} ], [ {"distance": 22793,"status": "OK"}, {"distance": 14416,"status": "OK"}, {"distance": 0,"status": "OK"}, {"distance": 10177,"status": "OK"} ], [ {"distance": 16747,"status": "OK"}, {"distance": 10541,"status": "OK"}, {"distance": 8706,"status": "OK"}, {"distance": 0,"status": "OK"} ] ]} ``` -------------------------------- ### Buffer Zone API Request Source: https://api.visicom.ua/llms.txt Schema and example for calculating a buffer zone around a geometry. ```http https://api.visicom.ua/data-api/5.0/core/buffer.json?[near|n] ``` ```http https://api.visicom.ua/data-api/5.0/core/buffer.json?near=STR3K0MXUAGD&radius=250&key=YOUR_API_KEY ``` -------------------------------- ### Calculate Route with Waypoints and Geometry Source: https://api.visicom.ua/llms.txt This example demonstrates calculating a route using an object ID for the origin, coordinates for the destination, and an intermediate waypoint. It also requests the route geometry in the response. Replace 'YOUR_API_KEY' with your actual API key. ```http https://api.visicom.ua/data-api/5.0/core/distance.json?origin=POIA1KIGKN&destination=30.52239,50.44777&waypoints=30.54173,50.44497&geometry=path&key=YOUR_API_KEY ``` -------------------------------- ### GET /distancematrix Source: https://api.visicom.ua/llms.txt Calculates distances for a matrix of origin and destination points. ```APIDOC ## GET /distancematrix ### Description Calculates distances for a matrix of origin and destination points. ### Endpoint https://api.visicom.ua/data-api/5.0/core/distancematrix.json ### Query Parameters - **origins** (string) - Required - Starting points. - **destinations** (string) - Required - Ending points. - **locks** (string) - Optional - Constraints for the route. - **mode** (string) - Optional - Routing mode. - **key** (string) - Required - API access key. - **callback** (string) - Optional - JSONP callback function name. ``` -------------------------------- ### GET /distance Source: https://api.visicom.ua/llms.txt Calculates the route and distance between two points, supporting waypoints and constraints. ```APIDOC ## GET /distance ### Description Calculates a route between two points with support for waypoints and exclusion zones. ### Method GET ### Endpoint https://api.visicom.ua/data-api/5.0/core/distance.json ### Parameters #### Query Parameters - **origin** (string) - Optional - Starting point. - **destination** (string) - Optional - Destination point. - **waypoints** (string) - Optional - Points to pass through. - **locks** (string) - Optional - Points to avoid. - **mode** (string) - Optional - Routing mode. - **accuracy** (string) - Optional - Calculation accuracy. - **key** (string) - Required - API access key. - **callback** (string) - Optional - JSONP callback function name. ``` -------------------------------- ### GET /adm_level2 Source: https://api.visicom.ua/data-api/5.0/uk/schema/adm_level2 Retrieves details for second-level administrative-territorial division objects. ```APIDOC ## GET /adm_level2 ### Description Retrieves information about the second level administrative-territorial division of the country. ### Method GET ### Endpoint /adm_level2 ### Response #### Success Response (200) - **id** (string) - Unique object ID - **type** (string) - Feature type - **bbox** (array) - Bounding boxes of geometry - **geometry** (object) - Geometry in GeoJSON format - **geo_centroid** (object) - Centroid point in GeoJSON format - **properties** (object) - Object properties including name, categories, country_code, country, level1, level1_id, lang, admin_center, admin_center_id, gov_id, copyright, and levels3. #### Response Example { "id": "string", "type": "Feature", "bbox": [], "geometry": {}, "geo_centroid": {}, "properties": { "name": "string", "categories": "adm_level2", "country_code": "UA", "country": "string", "level1": "string", "level1_id": "string", "lang": "uk", "admin_center": "string", "admin_center_id": "string", "gov_id": "string", "copyright": "string", "levels3": [] } } ``` -------------------------------- ### Waypoint Index Response Source: https://api.visicom.ua/llms.txt Example JSON response containing an ordered list of waypoint indices. ```json {"list": [ {"index": 0}, {"index": 1}, {"index": 3}, {"index": 4}, {"index": 2}, {"index": 5} ]} ``` -------------------------------- ### Snap to Road API Request Source: https://api.visicom.ua/llms.txt Schema and example for snapping GNSS coordinates to road geometry. ```http https://api.visicom.ua/data-api/5.0/core/snaptoroad.json?[points][&interpolate][&mode][&key][&callback] ``` ```http https://api.visicom.ua/data-api/5.0/core/snaptoroad.json?points=30.36277,50.51605|30.49667,50.49508|30.59761,50.45226|30.51383,50.44789&interpolate=true&key=YOUR_API_KEY ``` -------------------------------- ### GET /data-api/5.0/core/tsp.json Source: https://api.visicom.ua/llms.txt Solves the Traveling Salesman Problem to determine the optimal order of visiting points. ```APIDOC ## GET /data-api/5.0/core/tsp.json ### Description Determines the optimal order to visit a set of points. ### Method GET ### Endpoint /data-api/5.0/core/tsp.json ### Parameters #### Query Parameters - **waypoints|w** (string) - Required - Array of points (max 50). First point is the start. - **round_trip|rt** (boolean) - Optional - Whether to return to the first point (default: true). - **locks|l** (string) - Optional - Array of coordinates for blocked passages. - **mode|m** (string) - Optional - Routing mode: driving, driving-shortest, direct. - **key** (string) - Required - Dapi authorization key. - **callback** (string) - Optional - JSONP callback function name. ``` -------------------------------- ### GET /feature/{id} Source: https://api.visicom.ua/llms.txt Retrieves detailed information and geometry for a specific object by its ID. ```APIDOC ## GET /feature/{id} ### Description Retrieves geometry and full information for an object identified by its ID. ### Method GET ### Endpoint https://api.visicom.ua/data-api/5.0/{lang}/feature/{id}.{format} ### Parameters #### Path Parameters - **lang** (string) - Required - Language of the response (uk, en, ru). - **id** (string) - Required - Object identifier (can be comma-separated list, max 250). - **format** (string) - Required - Data format (json, csv). #### Query Parameters - **geometry** (string) - Optional - Whether to return geometry (no to exclude). - **key** (string) - Required - API access key. - **callback** (string) - Optional - JSONP callback function name. ``` -------------------------------- ### GET /core/snaptoroad.json Source: https://api.visicom.ua/llms.txt Snaps a list of GNSS coordinates to the road network on the map. ```APIDOC ## GET /core/snaptoroad.json ### Description Accepts a list of GNSS coordinates and returns a list of points snapped to the road network. Supports interpolation to create a line geometry. ### Method GET ### Endpoint https://api.visicom.ua/data-api/5.0/core/snaptoroad.json ### Parameters #### Query Parameters - **points|p** (string) - Required - Array of coordinates 'lng,lat' separated by '|'. Max 250 points. - **interpolate|l** (boolean) - Optional - If true, returns a LineString representing the road geometry. - **mode|m** (string) - Optional - 'driving' (default) or 'walking'. - **separate|s** (boolean) - Optional - If true, treats each point independently. - **key** (string) - Required - Dapi authorization key. ### Response #### Success Response (200) - **Object** - Returns a list of snapped points or a LineString object. ``` -------------------------------- ### GET /data-api/5.0/core/distancematrix.json Source: https://api.visicom.ua/llms.txt Calculates the distance matrix between a set of origin points and destination points. ```APIDOC ## GET /data-api/5.0/core/distancematrix.json ### Description Calculates distances between multiple origin and destination points. ### Method GET ### Endpoint /data-api/5.0/core/distancematrix.json ### Parameters #### Query Parameters - **origins|o** (string) - Required - Array of origin coordinates (lng,lat) or object IDs. - **destinations|d** (string) - Required - Array of destination coordinates (lng,lat) or object IDs. - **locks|l** (string) - Optional - Array of coordinates for blocked passages. - **mode|m** (string) - Optional - Routing mode: driving, driving-shortest, direct. - **key** (string) - Required - Dapi authorization key. - **callback** (string) - Optional - JSONP callback function name. ### Response #### Success Response (200) - **rows** (array) - Array of distance results for each origin-destination pair. #### Response Example { "rows": [ [{"distance": 0, "status": "OK"}, {"distance": 12110, "status": "OK"}] ] } ``` -------------------------------- ### snaptoroad API Response Structures Source: https://api.visicom.ua/llms.txt Examples of GeoJSON responses for the snaptoroad API, varying by interpolation settings and input point count. ```json { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 30.42615, 50.45119 ] } } ``` ```json { "type": "FeatureCollection", "bbox": [ 30.42615, 50.44802, 30.44679, 50.45716 ], "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 30.42615, 50.45119 ] } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 30.43615, 50.46119 ] } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 30.44615, 50.47119 ] } } ] } ``` ```json { "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [ 30.42615, 50.45119 ], [ 30.42749, 50.45097 ], [ 30.42674, 50.44899 ], [ 30.43016, 50.44846 ], [ 30.43318, 50.44802 ], [ 30.43347, 50.44879 ], [ 30.4339, 50.44997 ], [ 30.43456, 50.45171 ], [ 30.43622, 50.45597 ] ] }, "bbox": [ 30.42615, 50.44802, 30.44679, 50.45716 ] } ``` -------------------------------- ### GET /adr_address Source: https://api.visicom.ua/data-api/5.0/uk/schema/adr_address Retrieves address information based on the defined feature schema. ```APIDOC ## GET /adr_address ### Description Retrieves address objects containing geographical data and descriptive properties. ### Method GET ### Endpoint /adr_address ### Response #### Success Response (200) - **id** (string) - Унікальний ID об'єкта - **type** (enum) - Feature - **bbox** (array) - Bounding boxes of geometry - **geometry** (object) - Геометрія об'єкта в форматі GeoJSON - **geo_centroid** (object) - Точка центру об'єкта в форматі GeoJSON - **properties** (object) - Object containing address details: - **name** (string) - Адреса - **categories** (string) - Категорії об'єкта - **country_code** (string) - ISO 3166-1 alpha-2, двохбуквений код країни - **country** (string) - Назва країни - **postal_code** (string) - Поштовий індекс - **street_id** (string) - ID об'єкта з шару adr_street - **lang** (string) - Мова відповіді - **street** (string) - Назва вулиці - **street_type** (string) - Тип вулиці - **zone** (string) - Уточнюючий район - **settlement_id** (string) - ID населеного пункту з adm_settlements - **settlement** (string) - Назва населенного пункта - **settlement_type** (string) - Тип населеного пункту - **copyright** (string) - Копірайт ``` -------------------------------- ### Get First Level Administrative Division Source: https://api.visicom.ua/data-api/5.0/uk/schema/adm_level1 Retrieves information about the first level administrative divisions of a country. ```APIDOC ## GET /llmstxt/api_visicom_ua_llms_txt ### Description Retrieves information about the first level administrative divisions of a country, such as Ukraine. This endpoint returns data structured according to the FEATURE_SCHEMA. ### Method GET ### Endpoint /llmstxt/api_visicom_ua_llms_txt ### Query Parameters - **lang** (string) - Optional - Specifies the language for the 'name' field in the response. Defaults to 'en'. ### Response #### Success Response (200) - **id** (string) - Unique ID of the object. - **type** (string) - Type of the object, expected to be 'Feature'. - **bbox** (array) - Bounding boxes of the geometry. - **geometry** (object) - Geometry of the object in GeoJSON format. - **geo_centroid** (object) - Centroid point of the object in GeoJSON format. - **properties** (object) - Properties of the object: - **name** (string) - Name of the object. - **categories** (array) - Categories of the object, expected to contain 'adm_level1'. - **country_code** (string) - ISO 3166-1 alpha-2, two-letter country code. - **lang** (string) - Language of the response. - **country** (string) - Name of the country. - **admin_center** (string) - Name of the administrative center of the division. - **admin_center_id** (string) - ID of the administrative center. - **gov_id** (string) - Additional unique ID according to the official regional classifier. - **copyright** (string) - Copyright information. - **levels2** (array) - Array of administrative division objects of the next level. #### Response Example ```json { "id": "UA", "type": "Feature", "bbox": [22.1147, 44.3819, 40.2273, 52.3736], "geometry": { "type": "Polygon", "coordinates": [ [ [22.1147, 44.3819], [40.2273, 44.3819], [40.2273, 52.3736], [22.1147, 52.3736], [22.1147, 44.3819] ] ] }, "geo_centroid": { "type": "Point", "coordinates": [31.171, 48.3775] }, "properties": { "name": { "ru": "Обьект АТУ", "uk": "Перший рівень адміністративно-територіального поділу країни", "en": "The first level administrative-territorial division of the country" }, "categories": ["adm_level1"], "country_code": "UA", "lang": "en", "country": "Ukraine", "admin_center": "Kyiv", "admin_center_id": "9901000000", "gov_id": "0000000000", "copyright": "Visicom", "levels2": [ { "id": "7100000000", "name": "Автономна Республіка Крим" }, { "id": "7400000000", "name": "Вінницька область" } // ... more levels2 objects ] } } ``` ``` -------------------------------- ### Retrieve Feature Information by ID Source: https://api.visicom.ua/llms.txt Get detailed geometry and information for a specific object using its unique ID. The `format` parameter can be set to `json` or `csv`. ```http https://api.visicom.ua/data-api/5.0/uk/feature/POIA1KIGKN.json?key=YOUR_API_KEY ``` -------------------------------- ### GET /distance Source: https://api.visicom.ua/llms.txt Calculates the distance between points. The response structure varies based on the geometry parameter. ```APIDOC ## GET /distance ### Description Calculates the route distance between points. The response format depends on the 'geometry' parameter. ### Query Parameters - **geometry** (string) - Optional - Controls the response format. Use 'no' for simple distance or 'path' for full GeoJSON geometry. ### Response #### Success Response (200) - **distance** (number) - Length of the route in meters. - **geometry** (object) - GeoJSON LineString object (if geometry=path). - **properties** (object) - Contains origin, destination, and distance (if geometry=path). #### Response Example (geometry=no) { "distance": 1234 } #### Response Example (geometry=path) { "type": "Feature", "properties": { "distance": 3038, "origin": { "type": "Point", "coordinates": [30.42615, 50.45119] }, "destination": { "type": "Point", "coordinates": [30.44679, 50.45716] } }, "geometry": { "type": "LineString", "coordinates": [...] } } ``` -------------------------------- ### GET /geocode Source: https://api.visicom.ua/llms.txt Performs geocoding to find addresses, streets, or points of interest based on text queries or proximity. ```APIDOC ## GET /geocode ### Description Performs geocoding to find objects based on text queries or proximity to a specific location. ### Method GET ### Endpoint https://api.visicom.ua/data-api/5.0/uk/geocode.json ### Parameters #### Query Parameters - **categories** (string) - Optional - Category of the object to search for. - **text** (string) - Optional - Search query text. - **near** (string) - Optional - Proximity point (coordinates or ID). - **radius** (integer) - Optional - Search radius in meters. - **r** (integer) - Optional - Search radius in meters (alternative). - **l** (integer) - Optional - Limit for results. - **key** (string) - Required - API access key. ``` -------------------------------- ### Initialize Leaflet Map with Visicom Tiles Source: https://api.visicom.ua/llms.txt Use this JavaScript code to initialize a Leaflet map and display Visicom TMS tiles. Ensure the target div has an ID 'map'. ```javascript var map = new L.Map("map", { center: new L.LatLng(50.455002, 30.511284), zoom: 9, layers: [ new L.TileLayer("https://tms{s}.visicom.ua/2.0.0/planet3/base/{z}/{x}/{y}.png", { attribution: "Дані карт © 2025 АТ «Візіком»", subdomains: "123", maxZoom: 19, tms: true }) ] }); ``` ```javascript document.addEventListener("DOMContentLoaded", function () { var map = new L.Map("map", { center: new L.LatLng(50.455002, 30.511284), zoom: 9, layers: [ new L.TileLayer("https://tms{s}.visicom.ua/2.0.0/planet3/base/{z}/{x}/{y}.png", { attribution: "Дані карт © 2025 АТ «Візіком»", subdomains: "0123", maxZoom: 18, tms: true }) ] }); }); ``` -------------------------------- ### Tile Access Request Schema Source: https://api.visicom.ua/llms.txt The URL template for requesting map tiles from the Visicom API. ```http https://tms[n].visicom.ua/2.0.0/[map]/[style]/[z]/[x]/[y].[format][?origin=sw|nw][&key] ``` -------------------------------- ### Buffer Zone Geometry Definition Source: https://api.visicom.ua/data-api/4.0/ru/schema/buffer Defines the structure for buffer zone geometries using GeoJSON format. ```APIDOC ## Buffer Zone Geometry ### Description Represents a buffer zone using GeoJSON geometry format as defined by http://geojson.org. ### Request Body - **description** (string) - Description of the buffer zone - **type** (string) - The GeoJSON object type (e.g., "object") ### Request Example { "description": "Buffer zone area", "type": "Polygon" } ``` -------------------------------- ### Search Response Schema Source: https://api.visicom.ua/data-api/5.0/uk/schema/pois Defines the specific constraints for search query responses. ```APIDOC ## Search Response Schema ### Description Defines the structure for search results, noting specific fields that are excluded from the standard feature response. ### Excluded Properties - **geometry** (object) - This field is not included in the search response. ``` -------------------------------- ### Network Access API Endpoints Source: https://api.visicom.ua/llms.txt Endpoints for accessing network data, including route calculation and point snapping. ```APIDOC ## Distance API ### Description Calculates the route between two points. ### Method GET ### Endpoint /distance ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` ```APIDOC ## TSP API ### Description Solves the "traveling salesman problem" for a maximum of 50 points. ### Method GET ### Endpoint /tsp ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` ```APIDOC ## Distance Matrix API ### Description Calculates a distance matrix between multiple points (maximum 25x25 points). ### Method GET ### Endpoint /distancematrix ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` ```APIDOC ## Snap to Road API ### Description Snaps GNSS satellite points to the road network. ### Method GET ### Endpoint /snaptoroad ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Calculate Distance with Coordinates Source: https://api.visicom.ua/llms.txt Use this endpoint to calculate the distance between two points specified by their latitude and longitude. Ensure you replace 'YOUR_API_KEY' with your actual API key. ```http https://api.visicom.ua/data-api/5.0/core/distance.json?origin=30.42612,50.45111&destination=30.44946,50.45682&key=YOUR_API_KEY ``` -------------------------------- ### Historical District Data Source: https://api.visicom.ua/data-api/5.0/uk/schema/hst_district This section details the structure and properties of historical district data available through the API. It includes schema definitions for feature objects and search capabilities. ```APIDOC ## Historical District Data Schema ### Description This document describes the schema for historical district data, including its properties and search-related information. ### Feature Schema This schema defines the structure of a GeoJSON Feature object representing a historical district. #### Properties - **id** (string) - Unique identifier for the object. - **type** (string) - Must be "Feature". - **bbox** (array) - Bounding boxes of the geometry. - **geometry** (object) - Geometry of the object in GeoJSON format. - **geo_centroid** (object) - Centroid point of the object in GeoJSON format. - **properties** (object) - Contains detailed attributes of the historical district. - **name** (string) - Name of the district. - **type** (string) - Type of the district. - **categories** (array) - Categories of the object, must include "adm_district". - **country_code** (string) - ISO 3166-1 alpha-2, two-letter country code. - **country** (string) - Name of the country. - **lang** (string) - Language of the response. - **level1** (string) - Name of the administrative division level 1. - **level1_id** (string) - ID of the administrative division level 1. - **level2** (string) - Name of the administrative division level 2. - **level2_id** (string) - ID of the administrative division level 2. - **level3** (string) - Name of the administrative division level 3. - **level3_id** (string) - ID of the administrative division level 3. - **settlement** (string) - Name of the settlement. - **settlement_id** (string) - ID of the settlement from adm_settlements. - **settlement_type** (string) - Type of the settlement. - **settlement_class** (string) - Class of the settlement (e.g., "national capital", "city", "village"). - **copyright** (string) - Copyright information. ### Search Schema This schema defines properties related to search functionality, indicating fields not present in search responses. #### Unused Properties in Search - **/geometry** - The geometry field is not included in search responses. ``` -------------------------------- ### Geocode API Request Schema Source: https://api.visicom.ua/llms.txt This is the base URL structure for making geocoding requests to the Visicom API. It includes placeholders for language, format, and various query parameters. ```http https://api.visicom.ua/data-api/5.0/[lang]/geocode[.format]?[categories|ci][&text|t][&word_text|wt][&near|n|intersect|i|contains|co][&radius|r][&limit|l][&country|c][&boost_country|bc][&zoom][&key][&callback] ``` -------------------------------- ### Distance Matrix Request Schema Source: https://api.visicom.ua/llms.txt The URL structure for requesting a distance matrix calculation. ```http https://api.visicom.ua/data-api/5.0/core/distancematrix.json?[origins][&destinations][&locks][&mode][&key][&callback] ``` -------------------------------- ### Geocode Nearest Address by Coordinates Source: https://api.visicom.ua/llms.txt Find the closest address to a given geographical point within a specified radius. The `r` parameter denotes the radius, and `l=1` indicates returning only one result. ```http https://api.visicom.ua/data-api/5.0/uk/geocode.json?categories=adr_address&near=30.51043,50.45358&r=50&l=1&key=YOUR_API_KEY ``` -------------------------------- ### Data Access API Endpoints Source: https://api.visicom.ua/llms.txt Endpoints for accessing and retrieving data, including geocoding and feature information. ```APIDOC ## Geocode API ### Description Performs forward and reverse geocoding to find objects by name or coordinates. Allows filtering by object categories and combined queries. ### Method GET ### Endpoint /geocode[.format] ### Parameters #### Query Parameters - **lang** (string) - Required - The language of the request and response. One of (ru, uk, en). - **format** (string) - Optional - The format of the returned data (json, csv). - **categories** (string) - Optional - A comma-separated list of category IDs to search within. - **ci** (string) - Optional - Alias for categories. - **categories_exclude** (string) - Optional - A comma-separated list of category IDs to exclude from search results. - **ce** (string) - Optional - Alias for categories_exclude. - **text** (string) - Optional - Text that must appear in the object's description. Example: `text=Хрещатик`. - **t** (string) - Optional - Alias for text. - **word_text** (string) - Optional - Words that must appear in the object's description. Example: `word_text=Киев`. This will not include Kyivskyi, Kyivska, etc. - **wt** (string) - Optional - Alias for word_text. - **near** (string) - Optional - An object ID or a geometry in WKT format (max 250 vertices). For points, a simplified format `lng,lat` is possible. The distance to the specified geometry will be considered when forming the result. Example: `near=POIA1KIGKN`, `n=30.5113,50.4550`. - **n** (string) - Optional - Alias for near. - **intersect** (string) - Optional - An object ID or a geometry in WKT format (max 250 vertices). For points, a simplified format `lng,lat` is possible. The query returns objects whose geometry intersects with the geometry described by this parameter. - **i** (string) - Optional - Alias for intersect. - **contains** (string) - Optional - An object ID or a geometry in WKT format (max 250 vertices). For points, a simplified format `lng,lat` is possible. The query returns objects whose geometry is contained within the geometry described by this parameter. - **co** (string) - Optional - Alias for contains. - **radius** (integer) - Optional - The radius in meters around the location specified by the `near` parameter. - **r** (integer) - Optional - Alias for radius. - **order** (string) - Optional - Specifies the sorting type of objects in the response. Can take values `relevance` (sorting by relevance of objects for the query) or `distance` (sorting by distance from the location specified by the `near` parameter). Default is `relevance`. - **zoom** (integer) - Optional - Map scale according to TMS specification. The smaller the scale, the less the coordinates specified by the `near` parameter are considered when calculating object relevance. - **z** (integer) - Optional - Alias for zoom. - **limit** (integer) - Optional - The maximum number of objects to return. Maximum 250. - **l** (integer) - Optional - Alias for limit. - **country** (string) - Optional - Country code. - **c** (string) - Optional - Alias for country. - **boost_country** (string) - Optional - Country code. If the `country` parameter is not specified, objects in the country specified by this parameter have higher priority. - **bc** (string) - Optional - Alias for boost_country. - **key** (string) - Required - Authorization key "Dapi". - **callback** (string) - Optional - The name of the function for JSONP requests to the server. **Mutually Exclusive Parameters** - `near`, `intersect`, `contains` - `text`, `word_text` - `categories`, `categories_exclude` This query does not return full object geometry. The response only includes the `geo_centroid` and `bbox`. Use the `/feature` endpoint to get the full description and geometry of an object. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **geo_centroid** (object) - The geographic centroid of the object. - **bbox** (object) - The bounding box of the object. #### Response Example ```json { "example": "response body" } ``` ``` ```APIDOC ## Feature API ### Description Retrieves the geometry and full description of an object. By passing multiple object IDs separated by commas, you can retrieve geometry for up to 250 objects. ### Method GET ### Endpoint /feature ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Data Operations API Endpoints Source: https://api.visicom.ua/llms.txt Endpoints for performing operations on data, such as creating buffer zones and calculating coordinates. ```APIDOC ## Buffer API ### Description Builds a buffer zone around a geometry. The geometry can be specified in WKT format or by object ID. ### Method GET ### Endpoint /buffer ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` ```APIDOC ## Location API ### Description Calculates the coordinates of a point given the coordinates of another point, as well as the distance and direction connecting these points. The base point's coordinates are specified as `lng,lat` or by object ID. ### Method GET ### Endpoint /location ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Street Data Schema Source: https://api.visicom.ua/data-api/5.0/uk/schema/adr_street This snippet details the JSON schema for street data, including required fields and their types. ```APIDOC ## Street Data Schema ### Description This schema defines the structure for street data, including its unique identifier, name, bounding box, geometry, and properties. ### Method N/A (Schema Definition) ### Endpoint N/A (Schema Definition) ### Parameters N/A (Schema Definition) ### Request Body N/A (Schema Definition) ### Response #### Success Response (200) - **id** (string) - Unique identifier for the street. - **type** (string) - Must be 'Feature'. - **bbox** (array) - Bounding boxes of the geometry. - **geometry** (object) - Geometry of the object in GeoJSON format. - **geo_centroid** (object) - Centroid point of the object in GeoJSON format. - **properties** (object) - Contains detailed properties of the street. - **name** (string) - Name of the street. - **name_en** (string) - Name of the street in English. - **old_name** (string) - Previous name of the street. - **categories** (enum) - Categories of the street, must be 'adr_street'. - **country_code** (string) - ISO 3166-1 alpha-2, two-letter country code. - **country** (string) - Name of the country. - **lang** (string) - Language of the response. - **settlement_id** (string) - ID of the settlement from adm_settlements. - **zone** (string) - Clarifying district. - **type** (string) - Type of street. - **settlement** (string) - Name of the settlement. - **settlement_type** (string) - Type of settlement. - **settlement_class** (string) - Class of settlement. - **address** (array) - Array of street addresses. - **id** (string) - ID of the address from adr_address. - **name** (string) - Address. - **copyright** (string) - Copyright information. ### Response Example ```json { "id": "some_street_id", "type": "Feature", "bbox": [10, 20, 30, 40], "geometry": { "type": "Polygon", "coordinates": [[ [10, 20], [30, 20], [30, 40], [10, 40], [10, 20] ]] }, "geo_centroid": { "type": "Point", "coordinates": [20, 30] }, "properties": { "name": "Вулиця Центральна", "name_en": "Central Street", "old_name": "Lenina Street", "categories": ["adr_street"], "country_code": "UA", "country": "Ukraine", "lang": "en", "settlement_id": "some_settlement_id", "zone": "Central District", "type": "Street", "settlement": "Kyiv", "settlement_type": "City", "settlement_class": "Major", "address": [ { "id": "addr_1", "name": "1 Central Street" }, { "id": "addr_2", "name": "2 Central Street" } ], "copyright": "© Some Provider" } } ``` ``` -------------------------------- ### Geocode Specific Address Source: https://api.visicom.ua/llms.txt Retrieve information for a precise address by providing the full address string. Replace YOUR_API_KEY with your actual key. ```http https://api.visicom.ua/data-api/5.0/uk/geocode.json?text=м. Київ, вул. Хрещатик, 26&key=YOUR_API_KEY ```