Reversā ģeokodēšana

Serviss ļauj iegūt adreses informāciju padotajam punktam.

Servisa URL

Servisa saitei jāatbilst šādai formai:

https://api.kartes.lv/v3//reverse_geocoding?

Noklusētais atgriezto datu formāts ir JSON (pieejami arī JSONP un XML).

HTTP metode ir GET.

Pieprasījuma parametri

Iespējams padot šādus GET parametrus:

Parametrs Skaidrojums Vērtība
x X koordināta TM Baltic93 (EPSG:25884) koordināšu sistēmā. Parametrs obligāts, ja netiek izmantoti lat, lon
y Y koordināta TM Baltic93 (EPSG:25884) koordināšu sistēmā. Parametrs obligāts, ja netiek izmantoti lat, lon
lat lat koordināta WGS-84 (EPSG:4326) koordināšu sistēmā. Parametrs obligāts, ja netiek izmantoti x, y
lon lon koordināta WGS-84 (EPSG:4326) koordināšu sistēmā. Parametrs obligāts, ja netiek izmantoti x, y
latlon latlon koordinātu pāris WGS-84 (EPSG:4326) koordināšu sistēmā. Formāts 57.208140,24.773591.
Parametrs obligāts un izmantojams, ja type = suggest_place
returnTerritUnitAfter Ja norādīts šis parametrs, tad tiek meklēts teritoriālās piederības, ne adrešu, līmenī. Parametrā jānorāda distance metros, ar kuru sākt atgriezt rezultātu teritoriālās piederības līmenī. Parametrs aktuāls, ja izvēlas type=address
result_data_type Nosaka atgriežamo datu formātu. Pieejami 3 formāti:
  • json (noklusētā vērtība)
  • jsonp
  • xml
callback Pie datu atgriešanas izsauc parametra funkciju. Parametrs aktuāls, ja izvēlas result_data_type=jsonp
type Objekta tips, kas tiek meklēts. Iespējamās vērtības:
  • address (adrese, noklusētā vērtība)
  • populated_area (apdzīvotā vieta)
  • country (valsts)
  • suggest_place (aptuvenā vieta)
  • admin_unit (administratīvā vienība)
  • territ_unit (teritoriālā vienība)
  • cadastral (kadastra dati)
limit Atgriezto adrešu skaits. Parametra vērtība - no 1 (noklusētā vērtība) līdz 20. Aktuāla, ja izvēlas type=address
short_address Saīsinātā adrese. Darbojas bez parametra vērtības. Iestata type=address, ignorē pieprasījuma parametru type

Atbildes parametri atkarībā no parametra type

type = address

Atbildē tiek atgriezti viens vai vairāki (parametrs limit) objekti, tā parametri ir šādi:

Parametrs Skaidrojums
valsts Valsts, kurā atrodas pieprasītās koordinātas.
admin_vien Administratīvā vienība.
terit_vien Teritoriālā vienība.
apdz_vieta Apdzīvotā vieta vai pilsēta.
iela Ielas nosaukums.
maja Mājas numurs vai nosaukums.
index Pasta indekss.
korpuss Korpuss.
vzd_id VZD indekss.
distance Attālums metros no pieprasītā punkta līdz atgrieztajai adresei.
x Adreses X koordinātes TM Baltic93 (EPSG:25884) koordināšu sistēmā.
y Adreses Y koordinātes TM Baltic93 (EPSG:25884) koordināšu sistēmā.
lon Ģeogrāfiskais garums WGS (EPSG:4326) formātā.
lat Ģeogrāfiskais platums WGS (EPSG:4326) formātā.
adrese Pilnā (vai saīsinātā pie short_address) objekta adrese.

type = populated_area

Atbildē tiek atgriezts viens objekts, tā parametri ir šādi:

Parametrs Skaidrojums
name Nosaukums.
iso_code Valsts ISO kods.
dist Attālums metros no pieprasītā punkta līdz atgrieztajai adresei.
country_name Valsts nosaukums.

type = country

Atbildē tiek atgriezta viens objekts, tā parametrs ir šāds:

Parametrs Skaidrojums
country Valsts nosaukums.

type = suggest_place

Atbildē tiek atgriezti vairāki objekti, parametri ir līdzigi type = address atbildes parametriem ar papildus parametru:

Parametrs Skaidrojums
suggestion Iespējamā adrese.

type = admin_unit

Atbildē tiek atgriezts viens objekts, tā parametri ir šādi:

Parametrs Skaidrojums
admin_unit Administratīvā vienība.
iso_code Valsts ISO kods.
country Valsts nosaukums.

type = territ_unit

Atbildē tiek atgriezts viens objekts, tā parametri ir šādi:

Parametrs Skaidrojums
territ_unit Teritoriālā vienība.
admin_unit Administratīvā vienība.
iso_code Valsts ISO kods.
country Valsts nosaukums.

type = cadastral

Atbildē tiek atgriezts viens objekts, tā parametri ir šādi:

Parametrs Skaidrojums
code Kadastra numurs.
ownership_status Īpašumtiesību statuss.
area Laukums (ha).

Kļūdu kodi

Kods Skaidrojums
200 Wrong coords. Vaicājumā nav ievadītas koordinātas
200 Wrong type. Nepareizs objekta tips
200 Parameter latlon expected. Trūkst parametra latlon
200 Wrong coordinates or not delimited by comma. Nepareizas koordinātas
404 No location found. Tiek atgriezts, ja nekas nav ticis atrasts.
5xx Servera kļūda.

Paraugi

Pieprasījums:

https://api.kartes.lv/v3//reverse_geocoding?x=509679&y=6314169

Atbilde:

{
  "valsts": "Latvija",
  "admin_vien": "Rīga",
  "terit_vien": "Vidzemes priekšpilsēta",
  "apdz_vieta": "Rīga",
  "iela": "Brīvības gatve",
  "maja": "197A",
  "index": "LV-1039",
  "korpuss": "",
  "vzd_id": "101867023",
  "distance": 25,
  "x": "509679.56",
  "y": "6314193.80",
  "lon": 24.159217,
  "lat": 56.971222,
  "adrese": "Brīvības gatve 197A, Rīga, Vidzemes pr-pilsēta, Latvija"
}

Pieprasījums:

https://api.kartes.lv/v3//reverse_geocoding?lat=57.208140&lon=24.773591

Atbilde:

{
  "valsts": "Latvija",
  "admin_vien": "Siguldas novads",
  "terit_vien": "Krimuldas pagasts",
  "apdz_vieta": "",
  "iela": "",
  "maja": "Akmeņi",
  "index": "LV-2144",
  "korpuss": "",
  "vzd_id": "104910650",
  "distance": 99,
  "x": "546816.85",
  "y": "6340771.40",
  "lon": 24.775007,
  "lat": 57.207688,
  "adrese": "Akmeņi, Krimuldas pag., Siguldas nov., Latvija"
}

Pielietošanas piemēri

Reversās ģeokodēšanas klases definēšana JavaScript kodā:

class ReverseGeocodingApi {
    constructor() {
        this.apiKey = 'your_api_key_here'; // Replace with your actual API key
        this.baseUrl = 'https://api.kartes.lv/v3';
    }

    // Method to fetch reverse geocoded data by latitude and longitude
    async getReverseGeocodingData(lat, lon) {
        const url = `${this.baseUrl}/${this.apiKey}/reverse_geocoding?lat=${lat}&lon=${lon}`;

        try {
            const response = await fetch(url);

            // Check if the response is ok (status code 200-299)
            if (!response.ok) {
                throw new Error(`Error fetching data: ${response.statusText}`);
            }

            const data = await response.json();
            return { success: true, data };
        } catch (error) {
            console.error('Fetch error:', error);
            return { success: false, error: error.message };
        }
    }
}

Reversās ģeokodēšanas klases pielietošana:

const api = new ReverseGeocodingAPI();

api.getReverseGeocodingData(57.208140, 24.773591)
    .then(result => {
        if (!result.success) {
            console.error('Error:', result.error); // Handle the error
            return;
        }

        console.log(result.data);
        // Use the data
    });