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.
https://pump.elemroot.com/jgc_rest (võti key=docs_382d376eaaa6d004b7b93b7d, andmekogu
gl=ee_aid). Asenda võti ja andmekogu oma väärtustega.
- Endpoint ja meetodid
- Parameetrite koondtabel
- Esimene päring
- Postiindeksiga täpsustamine
- Väljundvormingud
- json2 / xml2 (lamedad)
- ads_liik_staatus
- Koordinaatsüsteemid
- Hulgipäring (bulk)
- ID-otsing (aidq)
- Mitu andmekogu
- Eesti aadresside otsimine
- Läti aadresside otsimine
- Leedu aadresside otsimine
- Vastete arv ja täpsus
- Asukohaeelistus (ll + spn)
- Automaattäitmine (ac)
- Sõnade vahelejätmine (st)
- Laiendatud andmed (xd)
- Reeglikomplektid (rs)
- XAL2 tüübi asendus
- JSONP (callback)
- Millal mida kasutada
- Veakäsitlus
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.
| Meetod | Aadress | Parameetrid |
|---|---|---|
GET | /jgc_rest/geocode | päringustringis |
Parameetrite koondtabel
| Param | Tähendus | Võimalikud väärtused / näide | Vaikimisi |
|---|---|---|---|
q * | Sisendaadress, kuni 200 märki (korduv = pakett) | Muuseumi tee 2; postiindeksiga Muuseumi tee 2, 75303 | — |
aidq | q on aadressi ID (AADRESS_ID), mitte aadressitekst (boolean) | true / tühi väärtus | — |
gl * | Andmekogu (korduv: riigid segunevad) | ee, ee_aid, lv, lt | — |
output | Väljundvorming: json2 on see, mis annab AddressLines | json, json2, xml, xml2, kml, ads_liik_staatus | json |
key * | API-võti (ilma võtmeta 403) | docs_382d376eaaa6d004b7b93b7d (demo) | — |
srs | Väljundkoordinaatide süsteem | EPSG:4326, EPSG:3301 (tõstutundetu; aliased wgs84, l-est97): muu annab 400 | EPSG:4326 |
maxcount | Max vasteid aadressi kohta | täisarv 1…1000: suurem annab 400; 0 annab tühja vastuse; mittearvuline eiratakse (10) | 10 |
st | Max vahelejäetavaid sõnu (räpane sisend) | 0, 1, 2… | 0 |
ll | Eelistuskese: toimib ainult koos spn-iga | 58.38,26.72 | — |
spn | Akna suurus: toimib ainult koos ll-iga | 0.2,0.4 | — |
ac | Autotäide: laiendab sisendi viimast sõna (boolean) | true / tühi väärtus | — |
xd | Laiendatud andmed: kuidas sisendit tõlgendati (boolean) | true / tühi väärtus | — |
rs | Reeglikomplekt: reverse pöörab address-stringi järjekorra (täpsem enne); A2A3 lisab A2 alla tema A3-lapsed | reverse, A2A3: tundmatu väärtus annab 400 | — |
replaceType | Type-koodi ümbernimetus (korduv, mitte komadega) | A5 street | — |
callback | JSONP callback | funktsiooni nimi, nt cb | — |
rid | Päringu ID: läheb ainult logisse | vaba string | — |
sid | Sessiooni ID: läheb ainult logisse | vaba string | — |
Andmekogud (gl):
gl | Andmekogu |
|---|---|
ee | Eesti (lihtsam andmekogu; json annab vaid Accuracy) |
ee_aid | Eesti täisandmestik (AADRESS_ID, EHAK-koodid, AddressLines): soovitatav Eesti jaoks |
lv | Läti |
lt | Leedu |
Korda gl parameetrit mitme andmekogu üheaegseks otsinguks (nt &gl=ee_aid&gl=lv).
gl-väärtuste kohta.
- Pöördgeokodeerimise koondväärtus
ee_lt_lvsiin ei kehti: geokodeerimisel annab see400. Balti otsinguks korda parameetrit:&gl=ee_aid&gl=lv&gl=lt. - Läti maapiirkonnas on küla ja maja nimi ühes aadressiosas
(nt
Dzērbene Ciedras; küla Dzērbene, maja Ciedras). Otsing sallib ka diakriitikuteta kirjapilti (DzerbeneleiabDzērbene). - LV/LT vastuste
AADRESS_IDon riiklik registrikood. Gazetteeris kannab sama objekt tasandiprefiksiga ID-d: maja7, korter8ees (101020361→7101020361); vt ID-d ja väljad LV/LT vastustes. Eesti (ee_aid) ID-d ühtivad gazetteeriga otse.
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äringcurl "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]).
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 kohtacurl "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
}
]
}
]
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, …
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:
| Type | Tähendus |
|---|---|
A0 | Riik |
A1 / A1_EHAK | Maakond / maakonna EHAK-kood |
A2 / A2_EHAK | Omavalitsus / omavalitsuse EHAK-kood |
A3 / A3_EHAK | Asustusüksus / asustusüksuse EHAK-kood |
A4 | Väikekoht (nt aiandusühistu; majanumber võib olla otse väikekoha all) |
A5 | Liikluspind (tänav/tee) |
A6 | Nimi (nt talunimi; aadress ilma numbrita) |
A7 | Aadressinumber (maja number) |
A8 | Korteri number |
POSTCODE | Sihtnumber |
AADRESS_ID | Aadressi ID |
A_STAATUS_ID | Aadressi staatuse ID |
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.
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
}
[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:
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.
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] } }
]
}
]
- Vastuses on täpselt see punkt, mille
AADRESS_IDvõrdub küsitud ID-ga (tavaliselt 1 vaste). - Tundmatu või mittenumbriline ID annab 0 vastet (
"name"on olemas,placemarkpuudub); viga ei teki. qon korduv ka ID-režiimis: mitu ID-d ühe päringuga (vt hulgipäring).- Toetatud andmekogud:
ee,ee_aid,lv,lt. Eesti puhul kasutagl=ee_aid, siis on ID ka tavavastuses näha. Läti ja Leedu puhul onAADRESS_IDvastuses jubagl=lv/gl=ltjuures;lv_aidjalt_aidei ole olemas ja annavad400. /jgc_rest_lyhteenuses annab korteri ID selle maja aadressi, sest lühiteenuse andmestikus korteritasandit ei ole. Korteritäpsuse jaoks kasuta/jgc_rest.
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 otsid | Töötavad kujud | Näide |
|---|---|---|
| Korter | 1-1, 1/1, krt 1, ka typograafiline sidekriips 1–1 | Anne tn 1-1, Tartu |
| Talu või muu nimega aadress (tänavata) | nimi ja kontekst kummas järjekorras tahes | Kuuse, Savalduma küla = Savalduma küla, Kuuse |
| Nime all olev korter | Kivimõisa-2 või Kivimõisa 2 | Oonurme küla, Kivimõisa 2 |
| Väikekoht (aiandusühistu jt) | lühend või täissõna: vkt = väikekoht, AÜ = aiandusühistu | Karla vkt 3 = Karla väikekoht 3 |
| Sama nimi mitme liigiga | liigisõna täpsustab: park, mõis, tehnoküla jt | Lucca park 2, Tabasalu (paljas Lucca 2 annab Lucca tänava) |
| Initsiaalidega tänav | ka kokku kirjutatult: AH Tammsaare = A. H. Tammsaare | AH Tammsaare 5, Tartu |
| Täpitähtedeta kirjapilt | y loetakse ü-na | Pikk 1, Tyri leiab Türi |
| Riiginimega sisend | Eesti, EE, Estonia | EE, Tartu, Anne tn 1 |
| Maja kaldkriipsuga numbriga | 2/1 | Muuseumi tee 2/1 |
| Sama tänavanimi mitmes kohas | lisa sisendisse postiindeks | vt postiindeksiga täpsustamist |
Kirjavahemärkide tähendus Eesti aadressis:
- Sidekriips eraldab maja ja korterit:
Anne tn 1-1on maja 1 korter 1; vastuses on maja ridaA7ja korterA8. Nimega aadressil sama:Kivimõisa-2on talu Kivimõisa korter 2. - Kaldkriips majanumbris tähendab ühe maja paralleelnumbrit, mitte korterit:
Muuseumi tee 2/1on omaette maja (A7=2/1). - Täht kuulub majanumbri juurde:
Anne tn 14a(A7=14a). - Otsing on sisendis leplik: korterit leiab ka
1/1jakrt 1kujul; kui küsitud korterit ei ole, tuleb vastuseks maja.
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 otsid | Töötavad kujud | Näide |
|---|---|---|
| Maja korpusega | 195 k-1, 195 k1, 195k-1, 195 korpuss 1, 195 korp. 1 | Jumaras iela 195 k-1, Valmiera |
| Korter | 7-1, 7 dz. 1; korpusega majas 195 k-1-11 | Gaujas iela 7 dz. 1, Valmiera |
| Nimemaja (tänavata) | nimi ja kontekst kummas järjekorras tahes | Riņņi, Vecates pag. = Vecates pag., Riņņi |
| Haldusüksus | lühend või täissõna | Vecates pag. = Vecates pagasts |
| Sihtnumber | LV-4201 või 4201, aadressi ees või järel | Gaujas iela 7, LV-4201 |
- Diakriitikud ei ole kohustuslikud:
Rinni, Vecates pagastsleiabRiņņi. - Maapiirkonnas on küla ja maja nimi ühes aadressiosas:
Dzērbene Ciedrastähendab küla Dzērbene ja maja Ciedras. - Paljas majanimi ilma kontekstita leitakse, aga vastus on sageli mitmene; samanimelisi majapidamisi on palju. Küla või pagasti lisamine kitsendab tulemuse.
- Väljad
AddressLines-is: tänavA5, maja number koos korpusegaA7, korterA8.A4jaA6Läti vastustes ei esine. gl=lvvastuses onAADRESS_IDalati kaasas: eraldilv_aidandmekogu ei ole.
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 otsid | Töötavad kujud | Näide |
|---|---|---|
| Asula | nimetav (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 postiaadress | asula, seniūnija ja savivaldybė lühenditega | Ežeraičių g. 2, Ežeraičių k., Avižienių sen., Vilniaus r. sav. |
| Haldusüksus | lühend või täissõna | Kauno m. sav. = Kauno miesto savivaldybė; Avižienių sen. = Avižienių seniūnija |
| Maja korpusega | 2A K1, 2A k1, 2A K-1, 2A korp. 1, 2A korpusas 1 | Perkūno g. 2A K1, Rokiškis |
| Korter | 4-2, 4 bt. 2, 4/2; korpusega majas 15 K6-26 | Morkūnų g. 4 bt. 2, Sangailai |
| Tänavata külamaja | asula ja number, kontekst kummas järjekorras tahes | Lukštynė 4, Sužionių sen. = Sužionių seniūnija, Lukštynė 4 |
| Tänavaliik | lühend või täissõna | Neries krant. 16M = Neries krantinė 16M; Sodo 46 = Sodo g. 46 |
| Sihtnumber | LT-85113 või 85113, aadressi ees või järel | Sodo g. 46, LT-85113 Naujoji Akmenė |
- Diakriitikud ei ole kohustuslikud:
Perkuno g. 2A K1, RokiskisleiabPerkūno g. 2A K1. 2A-1tähendab korterit 1 majas 2A, mitte korpust: korpus kirjutatakse2A K1.- Seniūnija tuleb vastuses reana
A2; linnades, kus seniūnijaid ei ole, see rida puudub. - Haldusüksuste nimed tulevad vastuses registri lühikujus (
Vilniaus miesto sav.,Kartenos sen.); otsingus töötab nii lühend kui täissõna. - Asula tuleb vastuses registri ametlikul aadressikujul: linn ja alevik nimetavas
(
Kaunas,Gelvonai), küla ja üksiktalu omastavas koos liigilühendiga (Ežeraičių k.,Lapkalnio vs.). Otsingus töötavad mõlemad kujud —EžeraičiaileiabEžeraičių k.. Nii eristuvad ka samanimelised asulad (alevikGelvonaija külaGelvonų k.) juba vastuste loendis. - Sama nimega asulad samas seniūnijas (näiteks küla ja talu) annavad mitu vastet; liigilühend
(
Lapkalnio vs. 1) kitsendab tulemuse. - Väljad
AddressLines-is: tänavA5, maja number koos korpusegaA7, korterA8.A4jaA6Leedu vastustes ei esine. gl=ltvastuses onAADRESS_IDkaasas kõigil tasemetel: maja ja korter (Registrų centrase objektikood) ning savivaldybė, seniūnija, asula ja tänav (registri kood); sama kood töötabaidq=trueotsinguga; eraldilt_aidandmekogu ei ole.
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äli | Tähendus |
|---|---|
relevance | Asjakohasuse skoor: suurem on parem. |
AddressDetails.Accuracy | Täpsustase (kõrgem = täpsem): vt väärtuste tabelit allpool. |
Accuracy väärtused:
| Accuracy | Tase |
|---|---|
1 | Riik |
2 | Maakond |
3 | Omavalitsus |
4 | Asustusüksus või väikekoht |
6 | Tänav (liikluspind) |
8 | Maja (aadressinumber või nimi) |
9 | Korter |
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.
ll üksinda ega spn
üksinda ei tee midagi: akent ei teki ja päring käitub täpselt nii, nagu neid poleks.
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:
- Tänav ilma numbrita → selle tänava majad;
majanumber → sama maja korterid. Kui
maxcountruumi jääb, täidetakse ülejäänu järgmise taseme ridadega:q=Pae tn 43→43, 43b, 43-1, 43-2 … - Sõnajärg ei loe:
Kannikese 33, Tartu linnjaTartu linn, Kannikese 33annavad sama loendi. - Lõpetamissignaal: tühik või sidekriips numbri järel
(
q=Kannikese 33või33-) piirab loendi selle majaga:33aenam ei pakuta.
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.
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äli | Tähendus |
|---|---|
matchedTokens | Sõnad, mis sobitati konkreetse aadressiväärtusena. |
recognizedTokens | Sõnad, mille tüüp tunti ära, kuid mis jäeti vahele. |
unrecognizedTokens | Sõnad, mida ei tuntud ära. |
skippedTokenCount | Mitu sõna vaste leidmisel vahele jäeti (kui st > 0). |
inputFlatNumber | Sisendist tuvastatud korterinumber (nt 1). |
isCharsimApplied | Kas rakendati märgisarnasuse otsingut (kirjavigade taluvus). |
isPostcodeSkipped / inputPostcode | Kas sihtnumber jäeti vahele / sisendi sihtnumber. |
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:
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:
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" }
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.
| Ülesanne | Kombinatsioon | Miks |
|---|---|---|
| Struktureeritud aadress + aadressi ID | gl=ee_aid&output=json2 | json2 annab AddressLines, ee_aid lisab AADRESS_ID |
| Ainult koordinaat | output=json | vaikimisi; väikseim vastus, komponente ei kaasata |
| Otsingukasti autotäide | ac&maxcount=10&output=json2 | laiendab sisendi viimast sõna |
| Kasutaja on kaardil: eelista lähedasi | ll=<lat,lon>&spn=<dLat,dLon> | mõlemad koos; kumbki üksi ei tee midagi |
| ID → aadress | aidq=true&gl=ee_aid&output=json2 | q on AADRESS_ID; ka gl=lv ja gl=lt |
| Nimekiri aadresse ühe päringuga | q=A&q=B&q=C&maxcount=1 | iga q saab oma vastuseobjekti; kuni 1000 aadressi |
| Räpane sisend (ettevõtte nimi ees) | st=2 | lubab kuni 2 tundmatut sõna vahele jätta |
| „Miks see vaste tuli?” | xd=true | ExtendedData näitab sisendi tõlgendust |
| L-EST97 koordinaadid meetrites | srs=EPSG:3301 | väljund [Y, X]: esimene on ida, teine põhi |
| Aadressiväljad eesti nimedega | output=ads_liik_staatus | vaikekoht, liikluspind, korterinumber jne; ainult Eesti |
| Omavalitsus + kõik selle asulad | rs=A2A3 | lisab A2-vaste alla tema A3-lapsed |
Aadress täpsem-enne (Muuseumi tee 2, Tartu linn, …) | rs=reverse | muutub ainult address-stringi järjekord; kuvamiseks |
| Lühem aadressitekst | /jgc_rest_lyh/geocode | sama JSON, lühem address string |
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.
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
| Olukord | Kood | Teade |
|---|---|---|
Tundmatu gl andmekogu | 400 | No dataset puudub |
Tundmatu output vorming | 400 | Unknown output format: zzz |
| Võti puudub või on vale | 403 | värava vealeht (HTML) |
| Liiga tihedad päringud (demo-võti) | 429 | Too Many Requests |
Vigane replaceType reegel | 400 | ... : bad replacement rule |
| Sisemine viga | 500 | veateade |
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”).