GuideLister & synkronisering
Hvordan finder vi den nærmeste adresse for tusindvis af punkter?
GPS-positioner fra en app, målere i et forsyningsnet, skader fra en mobil besigtigelse: data kommer tit som punkter, mens resten af forretningen taler i adresser. Reverse geocoding finder den nærmeste adgangsadresse til hvert punkt med afstand og BFE-nummer. Der er tre måder at gøre det på, alt efter hvor mange punkter du har.
På denne side6 trin
Vælg vejen efter mængden
| Ét punkt | Batch | Job | |
|---|---|---|---|
| Endpoint | GET /v1/adgangsadresser/reverse | POST /v1/adgangsadresser/reverse:batch | POST /v1/jobs med kind=reverse |
| Antal | 1 (op til 20 nærmeste) | 50 / 100 / 150 pr. kald | 250 til 1.000.000 pr. job |
| Plan | Alle | Pro og op | Alle (loftet følger planen) |
| Koordinater | lon/lat eller x/y + srid | Kun WGS84 lon/lat | WGS84 eller UTM32, genkendt på værdierne |
| Radius | 1–1000 m, standard 200 | 1–1000 m, standard 200 | Fast 200 m |
| Pris | Ét kald, også uden adresse | Én enhed pr. unik koordinat med adresse | Én enhed pr. række med adresse |
Ét punkt
/v1/adgangsadresser/reverse giver de adgangsadresser, der ligger nærmest punktet, sorteret efter afstand. Standard er én; per_side giver op til 20. Ligger ingen adresse inden for radius, er svaret 200 med antal: 0 — og det tæller som et kald.
# WGS84
curl "https://api.grundfast.dk/v1/adgangsadresser/reverse?lon=12.5696&lat=55.6757" \
-H "Authorization: Bearer $GRUNDFAST_API_KEY"
# UTM32 i meter (EPSG:25832)
curl "https://api.grundfast.dk/v1/adgangsadresser/reverse?x=724512&y=6175890&srid=25832" \
-H "Authorization: Bearer $GRUNDFAST_API_KEY"{
"punkt": { "lon": 12.5696, "lat": 55.6757 },
"antal": 1,
"adresser": [
{
"betegnelse": "Rådhuspladsen 1, 1550 København V",
"adgangsadresse_id": "0a3f507a-ec01-32b8-e044-0003ba298018",
"bfe_nummer": 6033528,
"vejnavn": "Rådhuspladsen",
"husnr": "1",
"postnr": "1550",
"postnrnavn": "København V",
"kommunekode": "0101",
"koordinat": { "lon": 12.5695777, "lat": 55.6756275 },
"afstand_m": 8
}
],
"meta": { "kilde": "Datafordeler DAR via Grundfast", "grundfast_version": "0.1.0" }
}
Altid i WGS84 — også når du sendte UTM32-meter med
x/y. Brug det til at tjekke, at dit punkt blev læst rigtigt.Fra dit punkt til adressens adgangspunkt — typisk ved indgangen eller indkørslen, ikke midt i bygningen.
BFE-nummeret på det jordstykke, adgangspunktet ligger på. Kan være
null, hvis intet jordstykke dækker punktet. Se BFE-nummer.Husnummerets UUID i DAR. Svaret er adgangsadressen, ikke en lejlighed med etage og dør.
Faldgruber med koordinater
De fleste forkerte svar skyldes punktet, ikke opslaget. Tjek disse før du sender:
- Rækkefølgen. I Danmark er længdegraden (
lon) mellem ca. 8 og 15 og breddegraden (lat) mellem ca. 54,5 og 57,8. Er de byttet om, ligger punktet uden for Danmark, og API’et svarer400med "lon/lat outside Denmark" — det finder ikke en tilfældig adresse. - Koordinatsystemet. Tal i hundredtusinder og millioner, fx
x=724000, y=6176000, er UTM32 i meter (EPSG:25832). Enkeltkaldet tager dem somx/ymedsrid=25832. Batch-kaldet tager kun WGS84, så omregn først — eller brug et job. - Decimaler. Fem decimaler i grader er cirka en meter. Er positionen afrundet til to decimaler, er den over en kilometer unøjagtig, og "nærmeste adresse" er et gæt.
- Radius. Et punkt midt på en mark kan ligge mere end 200 m fra nærmeste adresse. Sæt
radiusop til højst 1000, eller beslut, at sådanne punkter ikke har en adresse.
Op til 150 punkter i ét kald
POST /v1/adgangsadresser/reverse:batch tager 50 punkter på Pro, 100 på Scale og 150 på Enterprise, og kræver Pro. Hvert punkt får sin ene nærmeste adresse. Giv hvert punkt dit eget id (højst 64 tegn), så kommer det med tilbage i både results og errors. Et punkt uden adresse inden for radius står i errors med status 404 og faktureres ikke.
curl "https://api.grundfast.dk/v1/adgangsadresser/reverse:batch" \
-H "Authorization: Bearer $GRUNDFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"punkter": [
{ "lon": 12.5696, "lat": 55.6757, "id": "maaler-1" },
{ "lon": 10.2039, "lat": 56.1527, "id": "maaler-2" }
],
"radius": 200
}'To ting, der overrasker
id, du har sendt på den position — to kunder i samme opgang får hver sin række. Og alle punkter tjekkes, før noget slås op: ligger ét uden for Danmark, afvises hele kaldet med 400, og det afviste kald tæller som ét kald mod kvoten. Rens listen først.En hel fil med punkter
Har du tusindvis af punkter, så send dem som et job med kind=reverse. Kolonnerne genkendes på navnet: lon/lat, longitude/latitude, x/y, easting/northing eller øst/nord. Koordinatsystemet læses af værdierne i de første 50 rækker med et punkt — er et tal over 180, er det UTM32 — eller du sætter srid selv. Decimalkomma som i 55,6761 er i orden. Radius er fast 200 m.
# maalere.csv:
# maaler;x;y
# M-1001;724512,4;6175890,1
# M-1002;574870,0;6224310,7
curl "https://api.grundfast.dk/v1/jobs?kind=reverse&srid=25832&label=Maalere" \
-H "Authorization: Bearer $GRUNDFAST_API_KEY" \
-H "Content-Type: text/csv" \
--data-binary @maalere.csvI et job er en dårlig række kun en dårlig række: et punkt uden for Danmark havner i fejlfilen med 400, et punkt uden adresse inden for 200 m med 404, og resten behandles. Resultatfilen har dine kolonner og derefter gf_afstand_m, adressen og gf_bfe_nummer. Gennemgangen af upload, ventetid og filer står i En hel kundeliste som job.
Hvornår er nærmeste adresse den rigtige?
Nærmeste adresse er et geometrisk svar, ikke et bevis. I en by ligger adgangspunkterne få meter fra hinanden, og et GPS-punkt på fortovet kan ramme naboen. Brug afstand_m som kvalitetsmål: sæt en grænse, der passer til din kilde — fx 25 m for målere med kendt position og 75 m for en telefon-GPS — og send punkter over grænsen til manuel gennemgang. Skal du vide, hvilken ejendom punktet ligger på frem for hvilken indgang, der er nærmest, så brug bfe_nummer fra svaret og slå ejendommen op i BBR.
Var denne side nyttig?
Ofte stillede spørgsmål
Længdegrad først som lon og breddegrad som lat, i WGS84. I Danmark er lon omkring 8 til 15 og lat omkring 54,5 til 58. Byttede koordinater ender uden for Danmark og giver en 400.
Ja, i enkeltkaldet som x og y med srid 25832, og i et job, hvor systemet genkendes på værdierne eller sættes med srid. Batch-kaldet tager kun WGS84.
I batch og job nej: punktet står i errors eller i fejlfilen med status 404 og faktureres ikke. Et enkeltkald uden adresse svarer 200 med antal 0 og tæller som et kald.
50 på Pro, 100 på Scale og 150 på Enterprise. Længere lister sender du som et job, som tager fra 250 rækker på Free til 1.000.000 på Enterprise.
Nej. Svaret er adgangsadressen, altså vej, husnummer og postnummer med adgangspunkt og BFE-nummer. Lejligheder på adressen hentes med et opslag på enhedsadresser.
Prøv det på rigtige data
Gratis op til 5.000 kald/md · intet kreditkort · data fra Klimadatastyrelsen/Datafordeler, CC BY 4.0
Relateret