Appearance
API GIS
Список маршрутів
| # | Метод | Маршрут | Опис | Права доступу |
|---|---|---|---|---|
| 1 | GET | /csw | Отримання метаданих у форматі Catalogue Service for the Web (CSW) | L0 |
| 2 | POST | /csw | Отримання метаданих через POST-запит (CSW) | L0 |
| 3 | GET | /wcs/:style | Web Coverage Service - покриття растрових даних | L0 |
| 4 | GET | /wmts/:style | Web Map Tile Service - растрові тайли карти | L0 |
| 5 | GET | /wms/:style | Web Map Service - динамічні карти | L0 |
| 6 | GET | /wfs/:style/:layer | Web Feature Service - векторні геодані | L0 |
| 7 | GET | /vtile/:id/ua/:z/:x/:y | Векторні тайли (Mapbox Vector Tiles) | L0 |
| 8 | GET | /vtile-table/:id/ua/:z/:x/:y | Векторні тайли за таблицею | L0 |
| 9 | GET | /rtile/:id/ua/:z/:x/:y | Растрові тайли | L0 |
| 10 | GET | /tiles/layers | Отримання або оновлення кешу шарів | L1 |
| 11 | GET | /tiles/:id/:z/:x/:y | Растрові тайли Mapnik | L0 |
| 12 | GET | /geojson/:layer | Отримання шару у форматі GeoJSON | L1 |
1. Отримання метаданих у форматі CSW
Метод: GET URL: /cswПрава доступу: L0
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
REQUEST | string | обов'язковий | Тип CSW запиту | GetCapabilities |
SERVICE | string | опціональний | Назва сервісу | CSW |
VERSION | string | опціональний | Версія CSW | 2.0.2 |
Відповідь (200 OK)
xml
<?xml version="1.0" encoding="UTF-8"?>
<Capabilities xmlns="http://www.opengis.net/cat/csw/2.0.2">
<Service>
<Name>CSW</Name>
<Title>Catalogue Service for the Web</Title>
<Abstract>Сервіс каталогу метаданих</Abstract>
</Service>
<Capability>
<Request>
<GetCapabilities>
<DCPType>
<HTTP>
<Get href="https://example.com/csw"/>
<Post href="https://example.com/csw"/>
</HTTP>
</DCPType>
</GetCapabilities>
<GetRecords>
<DCPType>
<HTTP>
<Get href="https://example.com/csw"/>
<Post href="https://example.com/csw"/>
</HTTP>
</DCPType>
</GetRecords>
</Request>
</Capability>
</Capabilities>2. Отримання метаданих через POST-запит у форматі CSW
Метод: POST URL: /cswПрава доступу: L0
Тіло запиту: XML документ CSW
Відповідь (200 OK)
xml
<?xml version="1.0" encoding="UTF-8"?>
<GetRecordsResponse xmlns="http://www.opengis.net/cat/csw/2.0.2">
<SearchStatus timestamp="2024-01-15T10:30:00Z"/>
<SearchResults numberOfRecordsMatched="42" numberOfRecordsReturned="10" nextRecord="11">
<BriefRecord>
<Identifier>metadata_001</Identifier>
<Title>Топографічна карта</Title>
<Type>dataset</Type>
<BoundingBox>
<WestBoundLongitude>22.0</WestBoundLongitude>
<EastBoundLongitude>40.0</EastBoundLongitude>
<SouthBoundLatitude>44.0</SouthBoundLatitude>
<NorthBoundLatitude>52.0</NorthBoundLatitude>
</BoundingBox>
</BriefRecord>
</SearchResults>
</GetRecordsResponse>3. Отримання метаданих у форматі WCS
Метод: GET URL: /wcs/:styleПрава доступу: L0
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
style | string | обов'язковий | ID стилю | 3433809117582460836 |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
REQUEST | string | обов'язковий | Тип запиту | GetCapabilities, DescribeCoverage, GetCoverage |
FORMAT | string | опціональний | Формат відповіді | image/png |
BBOX | string | опціональний | Область покриття | minx,miny,maxx,maxy |
CRS | string | опціональний | Система координат | EPSG:4326 |
WIDTH | number | опціональний | Ширина зображення в пікселях | 256 |
HEIGHT | number | опціональний | Висота зображення в пікселях | 256 |
Відповідь (200 OK) - GetCapabilities
xml
<?xml version="1.0" encoding="UTF-8"?>
<wcs:WCS_Capabilities xmlns:wcs="http://www.opengis.net/wcs/2.0">
<wcs:ServiceIdentification>
<wcs:Title>Web Coverage Service</wcs:Title>
<wcs:ServiceType>WCS</wcs:ServiceType>
<wcs:ServiceTypeVersion>2.0.1</wcs:ServiceTypeVersion>
</wcs:ServiceIdentification>
<wcs:Contents>
<wcs:CoverageSummary>
<wcs:CoverageId>elevation</wcs:CoverageId>
<wcs:CoverageSubtype>RectifiedGridCoverage</wcs:CoverageSubtype>
</wcs:CoverageSummary>
</wcs:Contents>
</wcs:WCS_Capabilities>Відповідь (200 OK) - GetCoverage
http
HTTP/1.1 200 OK
Content-Type: image/png
[PNG image data]4. Отримання метаданих у форматі Web Map Tile Service
Метод: GET URL: /wmts/:styleПрава доступу: L0
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
style | string | обов'язковий | ID стилю | 3433809117582460836 |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
REQUEST | string | обов'язковий | Тип запиту (GetCapabilities, GetTile, GetFeatureInfo) |
LAYER | string | опціональний | Назва шару |
BBOX | string | опціональний | Межі (minx,miny,maxx,maxy) |
VERSION | string | опціональний | Версія WMTS (наприклад 1.0.0) |
x | number | опціональний | Координата X тайлу |
y | number | опціональний | Координата Y тайлу |
srid | number | опціональний | SRID (система координат) |
limit | number | опціональний | Ліміт записів для GetFeatureInfo |
bufferSize | number | опціональний | Розмір буфера в пікселях |
Відповідь (200 OK) - GetCapabilities
xml
<?xml version="1.0" encoding="UTF-8"?>
<Capabilities xmlns="http://www.opengis.net/wmts/1.0">
<ows:ServiceIdentification>
<ows:Title>Web Map Tile Service</ows:Title>
<ows:ServiceType>WMTS</ows:ServiceType>
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
</ows:ServiceIdentification>
<Contents>
<Layer>
<ows:Title>Базова мапа</ows:Title>
<ows:Identifier>base</ows:Identifier>
<TileMatrixSetLink>
<TileMatrixSet>EPSG:3857</TileMatrixSet>
</TileMatrixSetLink>
</Layer>
</Contents>
</Capabilities>Відповідь (200 OK) - GetTile
http
HTTP/1.1 200 OK
Content-Type: image/png
[PNG tile image data]5. Отримання метаданих у форматі WMS
Метод: GET URL: /wms/:styleПрава доступу: L0
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
style | string | обов'язковий | ID стилю | 3433809117582460836 |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
request | string | обов'язковий | Тип запиту (GetCapabilities, GetMap, GetFeatureInfo) |
layers | string | опціональний | Список шарів через кому |
bbox | string | опціональний | Межі (minx,miny,maxx,maxy) |
format | string | опціональний | Формат зображення (image/png, image/jpeg) |
CRS | string | опціональний | Система координат (наприклад EPSG:4326) |
srs | string | опціональний | SRS (застарілий аналог CRS) |
x | number | опціональний | Координата X для GetFeatureInfo |
y | number | опціональний | Координата Y для GetFeatureInfo |
bufferSize | number | опціональний | Розмір буфера в пікселях |
feature_count | number | опціональний | Кількість об'єктів для GetFeatureInfo |
version | string | опціональний | Версія WMS (наприклад 1.3.0, 1.1.1) |
width | number | опціональний | Ширина зображення |
height | number | опціональний | Висота зображення |
Відповідь (200 OK) - GetCapabilities
xml
<?xml version="1.0" encoding="UTF-8"?>
<WMS_Capabilities xmlns="http://www.opengis.net/wms" version="1.3.0">
<Service>
<Name>WMS</Name>
<Title>Web Map Service</Title>
<Abstract>Динамічні карти геоданих</Abstract>
</Service>
<Capability>
<Request>
<GetCapabilities>
<Format>text/xml</Format>
<DCPType>
<HTTP><Get><OnlineResource href="https://example.com/wms/default"/></Get></HTTP>
</DCPType>
</GetCapabilities>
<GetMap>
<Format>image/png</Format>
<Format>image/jpeg</Format>
</GetMap>
</Request>
<Layer>
<Title>Земельні ділянки</Title>
<Name>parcels</Name>
<CRS>EPSG:4326</CRS>
</Layer>
</Capability>
</WMS_Capabilities>Відповідь (200 OK) - GetMap
http
HTTP/1.1 200 OK
Content-Type: image/png
[PNG image data]6. Отримання метаданих у форматі WFS
Метод: GET URL: /wfs/:style/:layerПрава доступу: L0
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
style | string | обов'язковий | Назва стилю (наприклад default) |
layer | string | опціональний | Назва шару (наприклад parcels) |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
REQUEST | string | обов'язковий | Тип запиту (GetCapabilities, DescribeFeatureType, GetFeature) |
featureID | string | опціональний | Ідентифікатор об'єкта |
propertyName | string | опціональний | Список полів через кому |
bbox | string | опціональний | Просторовий фільтр (minx,miny,maxx,maxy) |
sortBy | string | опціональний | Сортування (наприклад field1 ASC,field2 DESC) |
count | number | опціональний | Ліміт записів |
RESULTTYPE | string | опціональний | results (повні дані) або hits (тільки кількість) |
version | string | опціональний | Версія WFS (наприклад 2.0.0, 1.1.0) |
srsName | string | опціональний | SRID (наприклад EPSG:4326) |
valueReference | string | опціональний | Назва поля для фільтрації |
filter | string | опціональний | XML-фільтр OGC |
typeName | string | опціональний | Назва типу об'єкта |
Відповідь (200 OK) - GetCapabilities
xml
<?xml version="1.0" encoding="UTF-8"?>
<wfs:WFS_Capabilities xmlns:wfs="http://www.opengis.net/wfs/2.0">
<wfs:ServiceIdentification>
<wfs:Title>Web Feature Service</wfs:Title>
<wfs:ServiceType>WFS</wfs:ServiceType>
<wfs:ServiceTypeVersion>2.0.0</wfs:ServiceTypeVersion>
</wfs:ServiceIdentification>
<wfs:FeatureTypeList>
<wfs:FeatureType>
<wfs:Name>parcels</wfs:Name>
<wfs:Title>Земельні ділянки</wfs:Title>
<wfs:DefaultCRS>EPSG:4326</wfs:DefaultCRS>
</wfs:FeatureType>
</wfs:FeatureTypeList>
</wfs:WFS_Capabilities>Відповідь (200 OK) - GetFeature
xml
<?xml version="1.0" encoding="UTF-8"?>
<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs/2.0"
xmlns:gml="http://www.opengis.net/gml/3.2"
numberMatched="42" numberReturned="10">
<wfs:member>
<parcels gml:id="parcel_001">
<cadnum>1411745300:00:001:0262</cadnum>
<area>2.5</area>
<gml:location>
<gml:Point srsName="EPSG:4326">
<gml:pos>30.0 50.0</gml:pos>
</gml:Point>
</gml:location>
</parcels>
</wfs:member>
</wfs:FeatureCollection>7. Векторні тайли
Метод: GET URL: /vtile/:id/ua/:z/:x/:yПрава доступу: L0
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
id | string | обов'язковий | Ідентифікатор шару або джерела даних | 3433809117582460836 |
z | number | обов'язковий | Рівень масштабу (zoom) | 14 |
x | number | обов'язковий | Координата X тайлу | 795 |
y | number | обов'язковий | Координата Y тайлу | 456.vmt |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
filter | string | опціональний | SQL-фільтр для обмеження даних |
sl | string | опціональний | Рівень доступу (security level) |
props | string | опціональний | Список полів через кому |
type | string | опціональний | Тип геометрії (point, line, polygon) |
table | string | опціональний | Назва таблиці в БД |
cluster | boolean | опціональний | Увімкнути кластеризацію точок |
geom | boolean | опціональний | Включити геометрію у відповідь |
pointZoom | number | опціональний | Рівень масштабу для відображення точок |
centroid | boolean | опціональний | Використовувати центроїди геометрій |
nocache | boolean | опціональний | Отримати дані без використання кешу |
Відповідь (200 OK)
http
HTTP/1.1 200 OK
Content-Type: application/x-protobuf
Content-Encoding: gzip
[Mapbox Vector Tile data (PBF)]8. Векторні тайли за таблицею
Метод: GET URL: /vtile-table/:id/ua/:z/:x/:yПрава доступу: L0
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
id | string | обов'язковий | Ідентифікатор таблиці або джерела даних | gis.dataset, gis.dataset.table |
z | number | обов'язковий | Рівень масштабу (zoom) | 14 |
x | number | обов'язковий | Координата X тайлу | 795 |
y | number | обов'язковий | Координата Y тайлу | 456.vmt |
Параметри (Query): ті самі, що й для /vtile
Відповідь (200 OK)
http
HTTP/1.1 200 OK
Content-Type: application/x-protobuf
[Mapbox Vector Tile data (PBF)]9. Растрові тайли
Метод: GET URL: /rtile/:id/ua/:z/:x/:yПрава доступу: L0
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
id | string | обов'язковий | Ідентифікатор шару | 2993702092461311181 |
z | number | обов'язковий | Рівень масштабу (zoom) | |
x | number | обов'язковий | Координата X тайлу | |
y | number | обов'язковий | Координата Y тайлу |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
filter | string | опціональний | SQL-фільтр для обмеження даних |
bbox | string | опціональний | Межі тайлу (minx,miny,maxx,maxy) |
nocache | boolean | опціональний | Отримати без кешу |
debug | boolean | опціональний | Режим налагодження (тільки для admin) |
Відповідь (200 OK)
http
HTTP/1.1 200 OK
Content-Type: image/png
[PNG tile image data]10. Отримання списку шарів mapnik
Метод: GET URL: /tiles/layersПрава доступу: L1
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
nocache | boolean | опціональний | Очистити кеш шарів (true для очищення) |
Відповідь (200 OK)
json
{
"success": true
}11. Растрові тайли Mapnik для базових карт
Метод: GET URL: /tiles/:id/:z/:x/:yПрава доступу: L0
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
id | string | обов'язковий | Ідентифікатор стилю Mapnik (наприклад base) | undp, atu |
z | number | обов'язковий | Рівень масштабу (zoom) | 12 |
x | number | обов'язковий | Координата X тайлу | 3 |
y | number | обов'язковий | Координата Y тайлу | 4.png |
Відповідь (200 OK)
http
HTTP/1.1 200 OK
Content-Type: image/png
[PNG tile image data]12. Отримання шару у форматі GeoJSON
Метод: GET URL: /geojson/:layerПрава доступу: L1
Параметри (Path):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
layer | string | обов'язковий | Назва шару | 3433809117582460836.json |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
table | string | опціональний | Назва таблиці в БД | |
filter | string | опціональний | SQL-фільтр | |
type | string | опціональний | Тип геометрії | |
centroid | boolean | опціональний | Використовувати центроїди | |
extent | boolean | опціональний | Включити extent у відповідь | |
id | string | опціональний | ID об'єкта (один або кілька через кому) | |
props | string | опціональний | Список полів через кому | |
srid | number | опціональний | SRID /EPSG | 4326 |
reload | boolean | опціональний | Перезавантажити дані з БД (оминути кеш) | |
geom | boolean | опціональний | Включити геометрію | |
nocache | boolean | опціональний | Отримати без кешу |
Відповідь (200 OK)
json
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "parcel_001",
"geometry": {
"type": "Polygon",
"coordinates": [[[30.0, 50.0], [30.1, 50.0], [30.1, 50.1], [30.0, 50.1], [30.0, 50.0]]]
},
"properties": {
"cadnum": "1411745300:00:001:0262",
"area": 2.5,
"purpose": "Для ведення товарного сільськогосподарського виробництва"
}
}
],
"total": 4535,
"count": 2500,
"meta": {
"pk": "id",
"columns": "id",
"geom": "geom",
"type": "r",
"meta": {
"table": "data.nerestovischia_all_polygon",
"progrid": "data.nerestovischia_all_polygon",
"srid": 4326,
"count": 4535
},
"props": []
}
}Коди помилок
| Код | Назва | Опис |
|---|---|---|
| 400 | Bad Request | Некоректний запит (відсутні обов'язкові параметри, невірний формат) |
| 401 | Unauthorized | Відсутня авторизація (для захищених ендпоінтів) |
| 403 | Forbidden | Доступ заборонено |
| 404 | Not Found | Шар або тайл не знайдено |
| 429 | Too Many Requests | Перевищено ліміт запитів |
| 500 | Internal Server Error | Помилка сервера |
Примітки
- L0 - публічний доступ без авторизації
- L1 - доступ для авторизованих користувачів
- OGC стандарти: Ендпоїнти відповідають стандартам OGC (CSW 2.0.2, WMS 1.3.0, WFS 2.0.0, WMTS 1.0.0, WCS 2.0.1)
- Координати: за замовчуванням використовується EPSG:4326 (WGS84)
- Тайли: використовується схема XYZ (Slippy Map Tiles)
- Кешування: більшість ендпоїнтів підтримують параметр
nocacheдля отримання актуальних даних
