Aadressiotsingu juhend

Praktiline juhend näidetega: kuidas teha päringuid, valida väljundeid ja kasutada kõiki teenuse võimalusi. Iga jaotuse juures on käivitatav curl näide ja vastuse näidis.

Päris näited. Allolevad päringud ja vastused on tehtud teenuse vastu https://pump.elemroot.com/jgc_rest (võti key=docs_382d376eaaa6d004b7b93b7d, andmekogu gl=ee_aid). Asenda võti ja andmekogu oma väärtustega.
Sisukord

Endpoint ja meetodid

Kasutab GET- ja POST-meetodit (POST puhul application/x-www-form-urlencoded). NB: POST-i korral peab key olema päringustringis (URL-is); ainult vormikehas antud võtit võtmekontroll ei näe ja vastus on 403.

MeetodAadressParameetrid
GET/jgc_rest/geocodepäringustringis

Parameetrite koondtabel

ParamTähendusVõimalikud väärtused / näideVaikimisi
q *Sisendaadress, kuni 200 märki (korduv = pakett)Muuseumi tee 2; postiindeksiga Muuseumi tee 2, 75303—
aidqq on aadressi ID (AADRESS_ID), mitte aadressitekst (boolean)true / tühi väärtus—
gl *Andmekogu (korduv: riigid segunevad)ee, ee_aid, lv, lt—
outputVäljundvorming: json2 on see, mis annab AddressLinesjson, json2, xml, xml2, kml, ads_liik_staatusjson
key *API-võti (ilma võtmeta 403)docs_382d376eaaa6d004b7b93b7d (demo)—
srsVäljundkoordinaatide süsteemEPSG:4326, EPSG:3301 (tõstutundetu; aliased wgs84, l-est97): muu annab 400EPSG:4326
maxcountMax vasteid aadressi kohtatäisarv 1…1000: suurem annab 400; 0 annab tühja vastuse; mittearvuline eiratakse (10)10
stMax vahelejäetavaid sõnu (räpane sisend)0, 1, 2…0
llEelistuskese: toimib ainult koos spn-iga58.38,26.72—
spnAkna suurus: toimib ainult koos ll-iga0.2,0.4—
acAutotäide: laiendab sisendi viimast sõna (boolean)true / tühi väärtus—
xdLaiendatud andmed: kuidas sisendit tõlgendati (boolean)true / tühi väärtus—
rsReeglikomplekt: reverse pöörab address-stringi järjekorra (täpsem enne); A2A3 lisab A2 alla tema A3-lapsedreverse, A2A3: tundmatu väärtus annab 400—
replaceTypeType-koodi ümbernimetus (korduv, mitte komadega)A5 street—
callbackJSONP callbackfunktsiooni nimi, nt cb—
ridPäringu ID: läheb ainult logissevaba string—
sidSessiooni ID: läheb ainult logissevaba string—

Andmekogud (gl):

glAndmekogu
eeEesti (lihtsam andmekogu; json annab vaid Accuracy)
ee_aidEesti täisandmestik (AADRESS_ID, EHAK-koodid, AddressLines): soovitatav Eesti jaoks
lvLäti
ltLeedu

Korda gl parameetrit mitme andmekogu üheaegseks otsinguks (nt &gl=ee_aid&gl=lv).

NB geokodeerija gl-väärtuste kohta.
Boolean-konventsioon. Lülitid ac, aidq, xd: parameeter kohal tühjana (&ac) või &ac=true tähendab tõene; parameetri puudumine tähendab väär.
NB: muu väärtus loetakse vääraks; sh ac=1, ac=yes, ac=on.

Esimene päring

Päring
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&output=json&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (json, lühendatud: näidatud esimene vaste)
[
  {
    "name": "Muuseumi tee 2",
    "placemark": [
      {
        "address": "Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2",
        "AddressDetails": { "Accuracy": "8" },
        "LatLonBox": {
          "east": 26.756282629776482,
          "south": 58.39077394011176,
          "north": 58.40077393988824,
          "west": 26.736282630223517
        },
        "point": { "coordinates": [26.74628263, 58.39577394] },
        "relevance": 0.1004990025510281
      }
    ]
  }
]

Vastus on massiiv: üks objekt iga sisendaadressi kohta. Väli name kordab sisendit, placemark sisaldab vasteid asjakohasuse järgi (suurim relevance esimesena). Koordinaadid on [E, N] järjekorras (EPSG:4326 puhul [pikkuskraad, laiuskraad]).

Andmestiku-sõltuvus. Andmekogu ee_aid puhul sisaldab json/xml väljundi AddressDetails ainult Accuracy välja. Struktureeritud komponendid (riik, maakond, tänav, EHAK, sihtnumber jne) saad json2/xml2 väljundist; vt allpool.

Postiindeksiga täpsustamine

Sama tänavanimi võib esineda mitmes Eesti paigas. Õige aadressi õiges kohas leidmiseks lisa sisendisse postiindeks (5-kohaline); teenus tuvastab selle ja filtreerib vasted õigesse piirkonda.

Päring ILMA postiindeksita: mitu erinevat kohta
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&output=json2&maxcount=5&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (lühendatud: kaks erinevat „Muuseumi tee 2")
Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2      (sihtnr 60532)
Eesti Vabariik, Harju maakond, Rae vald, Lagedi alevik, Muuseumi tee 2     (sihtnr 75303)
Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2/1    (sihtnr 60532)
Päring postiindeksiga 75303: täpselt õige aadress
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2,+75303&gl=ee_aid&output=json2&srs=EPSG:3301&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (json2, lühendatud)
[
  {
    "name": "Muuseumi tee 2, 75303",
    "placemark": [
      {
        "address": "Eesti Vabariik, Harju maakond, Rae vald, Lagedi alevik, Muuseumi tee 2",
        "AddressDetails": {
          "AddressLines": [
            { "Type": "A0",           "Value": "Eesti Vabariik" },
            { "Type": "A1",           "Value": "Harju maakond" },
            { "Type": "A2",           "Value": "Rae vald" },
            { "Type": "A3",           "Value": "Lagedi alevik" },
            { "Type": "A5",           "Value": "Muuseumi tee" },
            { "Type": "A7",           "Value": "2" },
            { "Type": "A1_EHAK",      "Value": "0037" },
            { "Type": "A2_EHAK",      "Value": "0653" },
            { "Type": "A3_EHAK",      "Value": "4043" },
            { "Type": "POSTCODE",     "Value": "75303" },
            { "Type": "AADRESS_ID",   "Value": "772374" },
            { "Type": "A_STAATUS_ID", "Value": "1" }
          ],
          "Accuracy": "8"
        },
        "point": { "coordinates": [553474.2797853436, 6583771.550346661] },
        "relevance": 0.09405935760739681
      }
    ]
  }
]
Kuidas anda. Lisa postiindeks sisendaadressi sisse, nt q=Muuseumi tee 2, 75303 (koma pole kohustuslik). Sihtnumbri mootor tuvastab 5-kohalise indeksi ja kasutab seda asukoha täpsustamiseks. URL-is kodeeri tühikud (+ või %20).

Väljundvormingud

Sama päring eri output väärtustega.

xml

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&output=xml&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (lühendatud: esimene vaste)
<?xml version='1.0' encoding='UTF-8'?>
<kml xmlns="http://earth.google.com/kml/2.0">
  <Response>
    <name>Muuseumi tee 2</name>
    <Placemark>
      <address>Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2</address>
      <LatLonBox>
        <north>58.40077393988824</north><south>58.39077394011176</south>
        <east>26.756282629776482</east><west>26.736282630223517</west>
      </LatLonBox>
      <Point><coordinates>26.74628263,58.39577394</coordinates></Point>
      <relevance>0.1004990025510281</relevance>
      <AddressDetails Accuracy="8" />
    </Placemark>
  </Response>
</kml>

kml (Google Earth)

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&output=kml&key=docs_382d376eaaa6d004b7b93b7d"

Sama struktuur kui xml, kuid Content-Type on application/vnd.google-earth.kml+xml, sobib otse Google Earthi / kaardirakendustesse.

json2 / xml2: lameda struktuuriga aadress

json2 ja xml2 annavad aadressi nimekirjana (AddressLines). Iga rida on tüübistatud komponent (Type, valikuline Subtype, Value). Andmekogu ee_aid kasutab tüübikoode A0, A1, …

Päring
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&output=json2&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (json2)
[
  {
    "name": "Muuseumi tee 2",
    "placemark": [
      {
        "address": "Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2",
        "AddressDetails": {
          "AddressLines": [
            { "Type": "A0",           "Value": "Eesti Vabariik" },
            { "Type": "A1",           "Value": "Tartu maakond" },
            { "Type": "A2",           "Value": "Tartu linn" },
            { "Type": "A3",           "Value": "Tartu linn" },
            { "Type": "A5",           "Value": "Muuseumi tee" },
            { "Type": "A7",           "Value": "2" },
            { "Type": "A1_EHAK",      "Value": "0079" },
            { "Type": "A2_EHAK",      "Value": "0793" },
            { "Type": "A3_EHAK",      "Value": "8151" },
            { "Type": "POSTCODE",     "Value": "60532" },
            { "Type": "AADRESS_ID",   "Value": "3069760" },
            { "Type": "A_STAATUS_ID", "Value": "1" }
          ],
          "Accuracy": "8"
        },
        "LatLonBox": { "east": 26.756282629776482, "south": 58.39077394011176,
                       "north": 58.40077393988824, "west": 26.736282630223517 },
        "point": { "coordinates": [26.74628263, 58.39577394] },
        "relevance": 0.1004990025510281
      }
    ]
  }
]

Tüübikoodide tähendus:

TypeTähendus
A0Riik
A1 / A1_EHAKMaakond / maakonna EHAK-kood
A2 / A2_EHAKOmavalitsus / omavalitsuse EHAK-kood
A3 / A3_EHAKAsustusüksus / asustusüksuse EHAK-kood
A4Väikekoht (nt aiandusühistu; majanumber võib olla otse väikekoha all)
A5Liikluspind (tänav/tee)
A6Nimi (nt talunimi; aadress ilma numbrita)
A7Aadressinumber (maja number)
A8Korteri number
POSTCODESihtnumber
AADRESS_IDAadressi ID
A_STAATUS_IDAadressi staatuse ID
Otsing ID järgi. AADRESS_ID järgi saab pärida sama teenusega: lisa aidq=true (vt Aadressiotsing ID järgi). Kui vajad kogu aadressikirjet koos ülemobjektide ahelaga, kasuta Gazetteeri getDescription endpointi.

XML-vaste (output=xml2) mähib read elementi <AddressLines>:

<AddressDetails Accuracy="8">
  <AddressLines>
    <AddressLine Type="A0">Eesti Vabariik</AddressLine>
    <AddressLine Type="A1">Tartu maakond</AddressLine>
    <AddressLine Type="A2">Tartu linn</AddressLine>
    <AddressLine Type="A3">Tartu linn</AddressLine>
    <AddressLine Type="A5">Muuseumi tee</AddressLine>
    <AddressLine Type="A7">2</AddressLine>
    <AddressLine Type="POSTCODE">60532</AddressLine>
  </AddressLines>
</AddressDetails>

ads_liik_staatus (aadressi liik ja staatus)

Eesti aadressiandmestiku jaoks on eraldi XML-vorming ads_liik_staatus, mis annab aadressi eestikeelsete väljadena (EHAK-koodid, liigid, staatus, sihtnumber jne):

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&output=ads_liik_staatus&key=docs_382d376eaaa6d004b7b93b7d"
<?xml version='1.0' encoding='UTF-8'?>
<aadressideNimekiri>
  <aadress>
    <aadressSisse>Muuseumi tee 2</aadressSisse>
    <vaste>
      <aid>3069760</aid>
      <maakondEhak>0079</maakondEhak>
      <maakond>Tartu maakond</maakond>
      <omavalitsusEhak>0793</omavalitsusEhak>
      <omavalitsus>Tartu linn</omavalitsus>
      <asustusyksusEhak>8151</asustusyksusEhak>
      <asustusyksus>Tartu linn</asustusyksus>
      <liikluspind>Muuseumi tee</liikluspind>
      <aadressinumber>2</aadressinumber>
      <sihtnumber>60532</sihtnumber>
      <aadressValja>Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2</aadressValja>
      <abStaatusId>1</abStaatusId>
      <vastavuseHeadus>Korras</vastavuseHeadus>
      <koordinaadid>26.74628263,58.39577394</koordinaadid>
      <relevantsus>0.1004990025510281</relevantsus>
      <latLonBox>
        <north>58.40077393988824</north><south>58.39077394011176</south>
        <east>26.756282629776482</east><west>26.736282630223517</west>
      </latLonBox>
    </vaste>
  </aadress>
</aadressideNimekiri>

Näites on tühjad elemendid (nt <korterinumber/>, <vaikekoht/>) lühiduse mõttes välja jäetud. See vorming on saadaval ainult kui server on selle andmekogu jaoks lubanud.

Koordinaatsüsteemid

Vaikimisi EPSG:4326 (WGS84, kraadid). Eesti tasapinnaliseks süsteemiks (meetrites) kasuta EPSG:3301 (L-EST97). Kood on tõstutundetu (epsg:3301 töötab) ja aktsepteeritakse ka aliaseid wgs84 / l-est97; muu väärtus (paljas 3301, EPSG:3857) annab 400. Soovitame kanoonilist kuju.

Päring (L-EST97)
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&srs=EPSG:3301&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (koordinaadid meetrites, [Y, X])
"point": { "coordinates": [660545.9498807918, 6476102.220117778] },
"LatLonBox": {
  "east": 661107.3382034153,  "south": 6475521.90091788,
  "north": 6476682.619832239, "west": 659984.3920757968
}
Järjekord. Kraadide puhul [pikkuskraad, laiuskraad]. L-EST97 puhul [Y, X]: esimene on Y (ida), teine X (põhi); X-telg on Eesti mõõtesüsteemis põhjasuunas.

Hulgipäring (bulk)

Mitu aadressi korraga: korda parameetrit q:

Päring
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&q=Ülikooli+18&gl=ee_aid&maxcount=1&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (lühendatud: esimene vaste kummalgi aadressil)
[
  {
    "name": "Muuseumi tee 2",
    "placemark": [
      { "address": "Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2",
        "AddressDetails": { "Accuracy": "8" },
        "point": { "coordinates": [26.74628263, 58.39577394] },
        "relevance": 0.1004990025510281 }
    ]
  },
  {
    "name": "Ülikooli 18",
    "placemark": [
      { "address": "Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Ülikooli tänav 18",
        "AddressDetails": { "Accuracy": "8" },
        "point": { "coordinates": [26.71952943, 58.38076991] },
        "relevance": 0.09787157650387346 }
    ]
  }
]

Iga sisendaadress saab vastuses oma objekti samas järjekorras.

Aadressiotsing ID järgi (aidq)

Kui sul on salvestatud aadressi ID (AADRESS_ID: sama number, mille gl=ee_aid vastus tagastab), saad aidq=true-ga küsida selle ID aadressi otse: iga q väärtus on siis ID, mitte aadressitekst. Vastus on tavaline geokodeerimisvastus (kõik väljundvormingud ja srs/rs toimivad), nii et olemasolev parsimine sobib muutmata kujul.

Päring
curl "https://pump.elemroot.com/jgc_rest/geocode?q=3069760&gl=ee_aid&aidq=true&output=json2&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (lühendatud)
[
  {
    "name": "3069760",
    "placemark": [
      { "address": "Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2",
        "AddressDetails": { "AddressLines": [ …, { "Type": "AADRESS_ID", "Value": "3069760" }, … ] },
        "point": { "coordinates": [26.74628263, 58.39577394] } }
    ]
  }
]
Päring (Läti)
curl "https://pump.elemroot.com/jgc_rest/geocode?q=101020361&gl=lv&aidq=true&output=json2&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (lühendatud)
[
  {
    "name": "101020361",
    "placemark": [
      { "address": "Latvija, Valmieras nov., Valmiera, Jumaras iela 195 k-1",
        "AddressDetails": {
          "AddressLines": [ …, { "Type": "A7", "Value": "195 k-1" },
                            { "Type": "POSTCODE", "Value": "4201" },
                            { "Type": "AADRESS_ID", "Value": "101020361" } ],
          "Accuracy": "8" },
        "point": { "coordinates": [25.390738, 57.520503] } }
    ]
  }
]

Mitu andmekogu

Otsi korraga mitmest andmekogust: korda parameetrit gl. Tulemused koondatakse aadresside kaupa ja järjestatakse asjakohasuse järgi.

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Pärnu+mnt+1&gl=ee_aid&gl=lv&key=docs_382d376eaaa6d004b7b93b7d"

Eesti aadresside otsimine

Otsing tuleb toime nii ametliku aadressi kui ka igapäevaste kirjapiltidega: allolev tabel näitab, millised kujud annavad sama vastuse.

Mida otsidTöötavad kujudNäide
Korter1-1, 1/1, krt 1, ka typograafiline sidekriips 1–1Anne tn 1-1, Tartu
Talu või muu nimega aadress (tänavata)nimi ja kontekst kummas järjekorras tahesKuuse, Savalduma küla = Savalduma küla, Kuuse
Nime all olev korterKivimõisa-2 või Kivimõisa 2Oonurme küla, Kivimõisa 2
Väikekoht (aiandusühistu jt)lühend või täissõna: vkt = väikekoht, AÜ = aiandusühistuKarla vkt 3 = Karla väikekoht 3
Sama nimi mitme liigigaliigisõna täpsustab: park, mõis, tehnoküla jtLucca park 2, Tabasalu (paljas Lucca 2 annab Lucca tänava)
Initsiaalidega tänavka kokku kirjutatult: AH Tammsaare = A. H. TammsaareAH Tammsaare 5, Tartu
Täpitähtedeta kirjapilty loetakse ü-naPikk 1, Tyri leiab Türi
Riiginimega sisendEesti, EE, EstoniaEE, Tartu, Anne tn 1
Maja kaldkriipsuga numbriga2/1Muuseumi tee 2/1
Sama tänavanimi mitmes kohaslisa sisendisse postiindeksvt postiindeksiga täpsustamist

Kirjavahemärkide tähendus Eesti aadressis:

Läti aadresside otsimine

Läti aadressimudel erineb Eesti omast: maja nimi ja number on ühes väljas ning korpus on selle sees. Otsing tuleb toime kõigi levinud kirjapiltidega: allolev tabel näitab, millised kujud annavad sama vastuse.

Mida otsidTöötavad kujudNäide
Maja korpusega195 k-1, 195 k1, 195k-1, 195 korpuss 1, 195 korp. 1Jumaras iela 195 k-1, Valmiera
Korter7-1, 7 dz. 1; korpusega majas 195 k-1-11Gaujas iela 7 dz. 1, Valmiera
Nimemaja (tänavata)nimi ja kontekst kummas järjekorras tahesRiņņi, Vecates pag. = Vecates pag., Riņņi
Haldusüksuslühend või täissõnaVecates pag. = Vecates pagasts
SihtnumberLV-4201 või 4201, aadressi ees või järelGaujas iela 7, LV-4201

Leedu aadresside otsimine

Leedu aadress koosneb savivaldybėst, seniūnijast (linnades sageli puudub), asulast, tänavast ja majanumbrist; korpus on majanumbri osa (2A K1). Otsing tuleb toime nii ametliku postiaadressi kui ka igapäevaste kirjapiltidega; allolev tabel näitab, millised kujud annavad sama vastuse.

Mida otsidTöötavad kujudNäide
Asulanimetav (Kaunas) või ametlik lühikuju omastavas (Kauno m., Ežeraičių k., Ežeraičių kaimas)Ežeraičių g. 2, Ežeraičių k.
Ametlik postiaadressasula, seniūnija ja savivaldybė lühenditegaEžeraičių g. 2, Ežeraičių k., Avižienių sen., Vilniaus r. sav.
Haldusüksuslühend või täissõnaKauno m. sav. = Kauno miesto savivaldybė; Avižienių sen. = Avižienių seniūnija
Maja korpusega2A K1, 2A k1, 2A K-1, 2A korp. 1, 2A korpusas 1Perkūno g. 2A K1, Rokiškis
Korter4-2, 4 bt. 2, 4/2; korpusega majas 15 K6-26Morkūnų g. 4 bt. 2, Sangailai
Tänavata külamajaasula ja number, kontekst kummas järjekorras tahesLukštynė 4, Sužionių sen. = Sužionių seniūnija, Lukštynė 4
Tänavaliiklühend või täissõnaNeries krant. 16M = Neries krantinė 16M; Sodo 46 = Sodo g. 46
SihtnumberLT-85113 või 85113, aadressi ees või järelSodo g. 46, LT-85113 Naujoji Akmenė

Vastete arv ja täpsus

Vaikimisi tagastatakse kuni 10 vastet aadressi kohta. Piira parameetriga maxcount:

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Tartu&gl=ee_aid&maxcount=3&key=docs_382d376eaaa6d004b7b93b7d"

Vasted on järjestatud asjakohasuse järgi. Iga vaste juures on:

VäliTähendus
relevanceAsjakohasuse skoor: suurem on parem.
AddressDetails.AccuracyTäpsustase (kõrgem = täpsem): vt väärtuste tabelit allpool.

Accuracy väärtused:

AccuracyTase
1Riik
2Maakond
3Omavalitsus
4Asustusüksus või väikekoht
6Tänav (liikluspind)
8Maja (aadressinumber või nimi)
9Korter

Loetletud on Eesti andmestikus esinevad väärtused; Läti ja Leedu kasutavad sama skaalat oma haldusjaotuse tasemetega (maja on ka seal 8).

Asukohaeelistus (ll + spn)

Piira vasted geograafilise aknaga. ll on keskpunkt (lat,lon), spn akna suurus (spanLat,spanLon); aken on ll ± spn/2.

Mõlemad on vajalikud. ll üksinda ega spn üksinda ei tee midagi: akent ei teki ja päring käitub täpselt nii, nagu neid poleks.
Päring: sama nimi, kaks piirkonda
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Kesktee&gl=ee_aid&key=docs_382d376eaaa6d004b7b93b7d"
# esimene vaste: Harju maakond, Tallinn, Pirita linnaosa, Kesktee

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Kesktee&gl=ee_aid&ll=58.38,26.72&spn=0.2,0.4&key=docs_382d376eaaa6d004b7b93b7d"
# esimene vaste: Tartu maakond, Kastre vald, Haaslava küla, Kesktee

Aken filtreerib: aknast välja jäävad vasted ei tule vastusesse. Kui tahad neid alles jätta ja ise ümber järjestada, jäta aken ära ja kasuta suuremat maxcount-i.

Automaattäitmine (ac)

Otsingukasti („as-you-type”) jaoks lülita sisse ac: mootor laiendab sisendi viimast sõna:

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseu&gl=ee_aid&output=json2&ac&maxcount=10&key=docs_382d376eaaa6d004b7b93b7d"

Käitumine on tasemepõhine: pakutakse alati järgmise taseme jätke:

Ära filtreeri relevance järgi. Automaattäite lisaread (nt korterid maja all) tulevad väärtusega relevance: 0 ja on täisväärtuslikud vasted; filter relevance > 0 kaotaks nad.

Sõnade vahelejätmine (st)

Kui sisendis on tundmatuid või liigseid sõnu, luba neid vahele jätta parameetriga st (vahelejäetavate sõnade maksimum):

curl "https://pump.elemroot.com/jgc_rest/geocode?q=ettevõte+OÜ+Muuseumi+tee+2&gl=ee_aid&st=2&key=docs_382d376eaaa6d004b7b93b7d"

Suurem st annab rohkem vasteid, kuid võib alandada täpsust.

Laiendatud andmed (xd)

xd=true lisab igale vastele ExtendedData ploki: kuidas sisendit tõlgendati (millised sõnad sobitati, mis tunti ära, mis jäi tundmatuks), sisendi korterinumber, sihtnumber jne.

Päring
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2-1&gl=ee_aid&xd=true&st=1&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (ExtendedData osa)
"ExtendedData": {
  "recognizedTokens": [
    { "start": 15, "end": 16, "token": "1", "skipped": 0 }
  ],
  "unrecognizedTokens": [],
  "isCharsimApplied": false,
  "isPostcodeSkipped": false,
  "matchedTokens": [
    { "start": 0,  "end": 12, "token": "Muuseumi tee", "skipped": 0 },
    { "start": 13, "end": 14, "token": "2",            "skipped": 0 }
  ],
  "skippedTokenCount": 0,
  "inputFlatNumber": "1"
}
VäliTähendus
matchedTokensSõnad, mis sobitati konkreetse aadressiväärtusena.
recognizedTokensSõnad, mille tüüp tunti ära, kuid mis jäeti vahele.
unrecognizedTokensSõnad, mida ei tuntud ära.
skippedTokenCountMitu sõna vaste leidmisel vahele jäeti (kui st > 0).
inputFlatNumberSisendist tuvastatud korterinumber (nt 1).
isCharsimAppliedKas rakendati märgisarnasuse otsingut (kirjavigade taluvus).
isPostcodeSkipped / inputPostcodeKas sihtnumber jäeti vahele / sisendi sihtnumber.
Märkus. Väljad, mille väärtus on tühi (null), jäetakse vastusest välja. xd kasutamine sõltub API-võtmest.

Reeglikomplektid (rs)

Parameeter rs valib serveris seadistatud reeglistiku. Kaks toetatud väärtust:

rs=reverse: address-string tuleb komponentide vastupidises järjekorras (täpsem enne); struktureeritud AddressLines ja kõik muu ei muutu. Töötab ka _lyh-teenusel ja LV/LT andmekogudel. Sobib otse kuvamiseks:

Päring
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2,+Tartu&gl=ee_aid&rs=reverse&maxcount=1&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (json, lühendatud)
"address": "Muuseumi tee 2, Tartu linn, Tartu linn, Tartu maakond, Eesti Vabariik"

Ilma rs-ita: "Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2". Sama tähendus mis pöördgeokodeerimise s=ADDRESS_reverse.

rs=A2A3: lisab A2-taseme (omavalitsus) vaste alla kõik A3-taseme alamkohad (ainult Eesti andmestikul). Kasulik kohavaliku liidestes: üks päring annab omavalitsuse koos kõigi tema asustusüksustega, ilma eraldi kataloogipäringuteta. Vaikimisi piirab ridade arvu maxcount (10):

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Saaremaa&gl=ee_aid&rs=A2A3&key=docs_382d376eaaa6d004b7b93b7d"

Väärtus on tõstutundlik (REVERSE annab 400); tundmatu rs väärtus annab 400.

XAL2 tüübi asendus (replaceType)

json2/xml2 väljundis saab komponendi tüübinime ümber nimetada. Parameeter on kujul vana uus (tühikuga eraldatud paar) ja korduv. Näiteks nimeta tüüp A5 (liikluspind) ümber street-iks:

Päring
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&output=json2&replaceType=A5+street&key=docs_382d376eaaa6d004b7b93b7d"
Vastus (muutunud rida)
{ "Type": "street", "Value": "Muuseumi tee" }
NB. Vigane reegel (mitte täpselt kaks tühikuga eraldatud osa) annab 400 Bad Request.

JSONP (callback)

Teenus tagastab Access-Control-Allow-Origin: *; moodsas brauseris piisab tavalisest fetch()-ist. JSONP on alles vanemate klientide jaoks.

JSONP jaoks lisa callback: vastus mähitakse funktsioonikutsesse:

curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&gl=ee_aid&callback=naita&key=docs_382d376eaaa6d004b7b93b7d"
naita && naita([{"name":"Muuseumi tee 2","placemark":[{"address":"Eesti Vabariik, Tartu maakond, Tartu linn, Tartu linn, Muuseumi tee 2","AddressDetails":{"Accuracy":"8"},"point":{"coordinates":[26.74628263,58.39577394]},"relevance":0.1004990025510281}]}])

Content-Type on siis application/javascript.

Millal mida kasutada

Sagedasemad ülesanded ja neile vastav parameetrikombinatsioon. Kõik read on elusalt kontrollitud.

ÜlesanneKombinatsioonMiks
Struktureeritud aadress + aadressi IDgl=ee_aid&output=json2json2 annab AddressLines, ee_aid lisab AADRESS_ID
Ainult koordinaatoutput=jsonvaikimisi; väikseim vastus, komponente ei kaasata
Otsingukasti autotäideac&maxcount=10&output=json2laiendab sisendi viimast sõna
Kasutaja on kaardil: eelista lähedasill=<lat,lon>&spn=<dLat,dLon>mõlemad koos; kumbki üksi ei tee midagi
ID → aadressaidq=true&gl=ee_aid&output=json2q on AADRESS_ID; ka gl=lv ja gl=lt
Nimekiri aadresse ühe päringugaq=A&q=B&q=C&maxcount=1iga q saab oma vastuseobjekti; kuni 1000 aadressi
Räpane sisend (ettevõtte nimi ees)st=2lubab kuni 2 tundmatut sõna vahele jätta
„Miks see vaste tuli?”xd=trueExtendedData näitab sisendi tõlgendust
L-EST97 koordinaadid meetritessrs=EPSG:3301väljund [Y, X]: esimene on ida, teine põhi
Aadressiväljad eesti nimedegaoutput=ads_liik_staatusvaikekoht, liikluspind, korterinumber jne; ainult Eesti
Omavalitsus + kõik selle asuladrs=A2A3lisab A2-vaste alla tema A3-lapsed
Aadress täpsem-enne (Muuseumi tee 2, Tartu linn, …)rs=reversemuutub ainult address-stringi järjekord; kuvamiseks
Lühem aadressitekst/jgc_rest_lyh/geocodesama JSON, lühem address string
Näide: otsingukasti autotäide
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseu&gl=ee_aid&output=json2&ac&maxcount=10&key=docs_382d376eaaa6d004b7b93b7d"
Näide: pakett: kolm aadressi ühes päringus
curl "https://pump.elemroot.com/jgc_rest/geocode?q=Muuseumi+tee+2&q=%C3%9Clikooli+18&q=Kannikese+33,+Tartu&gl=ee_aid&output=json2&maxcount=1&key=docs_382d376eaaa6d004b7b93b7d"

Vastuses on kolm objekti, sisendiga samas järjekorras.

Kaks kõige sagedasemat üllatust. AddressLines tuleb output=json2-st, mitte gl-ist: gl=ee_aid lisab ainult ühe rea (AADRESS_ID). Ja pöördgeokodeerimise sisend on lat,lon, aga geokodeerimise vastuse point.coordinates on [lon, lat].

Veakäsitlus

OlukordKoodTeade
Tundmatu gl andmekogu400No dataset puudub
Tundmatu output vorming400Unknown output format: zzz
Võti puudub või on vale403värava vealeht (HTML)
Liiga tihedad päringud (demo-võti)429Too Many Requests
Vigane replaceType reegel400... : bad replacement rule
Sisemine viga500veateade
Näide: tundmatu andmekogu
curl -i "https://pump.elemroot.com/jgc_rest/geocode?q=Tartu&gl=puudub&key=docs_382d376eaaa6d004b7b93b7d"

HTTP/1.1 400 Bad Request
Content-Type: text/html;charset=utf-8

<html><head><title>Apache Tomcat - Error report</title> ... </head>
<body> ... No dataset puudub ... </body></html>

Veakeha on rakendusserveri (Tomcat) HTML-vealeht, mis sisaldab veateadet (siin „No dataset puudub”).


API viide (Swagger UI) → Interaktiivne „proovi järele” iga parameetriga. OpenAPI spec (YAML-fail) → Masinloetav API kirjeldus tööriistadele. NB: avaneb toore YAML-failina.

Näited galeriis