### 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
```