GeoRest API Nye geonøgler i Kortforsyningen Nikolaj Kamstrup
Hvad er geonøglerne? Geonøglerne er en betegnelse for en række webservice metoder til opslag i GST data. Geonøglernes rolle er ud fra brugeres kriterier at kunne returnere en nøgle, som brugeren/systemet efterfølgende anvender til yderligere kald til andre webservices, herunder både GST og tredjepart. Det er som udgangspunkt ikke en geonøgles rolle at returnere geometri objekter. Til det formål tilbyder Kortforsyningen WFS. Geonøglerne forespørges med et vejnavn, for at svare med en geografisk udstrækning, som efterfølgende anvendes til at forespørge en WMS, således at den søgte vej kan vises på et kort. Geonøglerne forespørges om alle matrikelnumre, der falder indenfor en geografisk rektangulært område. Matrikelnumrene anvendes efterfølgende til opslag i andre registrer. SIDE 2
Hvorfor nye geonøgler? SIDE 3
Baggrund Kortforsyningens Geonøgler udgør i dag ca. 3,5 mio månedlige forespørgsler svarende til 6% af Kortforsyningens som helhed, målt i antal forespørgsler. Geonøglerne findes i tre versioner på to forskellige teknologiske platforme. Alle tre versioner af geonøglerne er baseret på ældre teknologier. Partnere og kunder har derfor efterspurgt en mere tidssvarende teknologi, der er lettere at implementere, og som understøtter mobile enheder bedre. I modsætning til Kortforsyningens WFS, WMS, WMTS er Geonøgler ikke baseret på en OGC standard, fordi en relevant standard ikke fandtes på release tidspunktet. Der vil i nær fremtid komme en ny OGC standard (OGC GeoServices REST API), som er velegnet til geonøgler. Kort & Matrikelstyrelsen SIDE 4
Hvorfor en ny version af Geonøglerne? Formål At lette implementering af servicen hos partnere og kunder. At tilpasse udbud af services til markedsefterspørgslen. At gøre Geonøglerne OGC compliant på niveau med de fleste andre services og teknologier i Kortforsyningen herunder WMS, WFS og WMTS På sigt at reducere antallet af geonøgle-versioner med henblik på at reducere interne omkostninger til drift og vedligeholdelse. Kort & Matrikelstyrelsen SIDE 5
Ældre teknologiplatforme med lille forbrug 13% af alle eksterne GEO forespørgsler tilkommer de ældre legacy platforme 87% 8% 5% Geokeys v4 Geokeys v3 Classic Kort & Matrikelstyrelsen SIDE 6
Ændret markedsefterspørgsel Gennem en årrække er efterspørgslen på webservices ændret sig. Langt mere kode i web apps afvikles i dag i klienten, typisk med en kombination af JavaScript og kald til egne eller tredjeparts webservices fx Kortforsyningen. SOAP kan anvendes til dette, men der findes langt mere implementeringsvenlige teknologier, herunder JSON og JSONP med callback. Der er desuden en bred vifte af JavaScript frameworks hvor AJAX kald er blevet forholdsvis let at lave endda med built-in funktionalitet for callback. Kort & Matrikelstyrelsen SIDE 7
Hvad er nyt? SIDE 8
Partnere er blevet hørt og har betatestet August 2012 Partnere inviteret til GST for at komme med input til udviklingen November 2012 februar 2013 Test af beta release. Partnere fik mulighed for at teste og komme med feedback Marts/april 2013 Release af v1.0 SIDE 9
JSON var ejerlav = resp.features[0].attributes.ejerlav.navn; var minx = resp.features[0].geometry.xmin; SIDE 10
JSONP &callback=test &f=jsonp SIDE 11
Flere projektioner (både input og output) &outgeoref=epsg:3857 UTM32 og UTM33: EPSG:25832, EPSG:25833, EPSG:32632, EPSG:32633 DKTM: EPSG:4093, EPSG:4094, EPSG:4095, EPSG:4096 WGS84: EPSG:4326 World Mercator: EPSG:3395 Spherical Mercator: EPSG:3857 SIDE 12
Paging &hits=10 &offset=3 &count=true (ikke i drift) SIDE 13
Sortering af resultat efter afstand til punkt &geop=575193,6224198 SIDE 14
OGC Geoservices REST API compliance &fs=true SIDE 15
Opsummering REST/JSON lettere implementering med JavaScript JSONP elimineret cross domain issues Flere projektioner, både ind og ud Flere informationer/attributter på en række objekter Flere geografiske forespørgselsmetoder Afstand som sorteringsmulighed Paging OGC Geoservices REST API compliance (?) SIDE 16
Fejl og bugs Forkert beregning af centroide (matrikelnr). Status: I roadmap Forkert content-type. Status: Løst Utilfredsstillende svartider ved wildcard anvendelse (adresse). Status: Forbedret, men der arbejdes videre med det jf. roadmap. Fejl i geometri/envelopes (matrikel). Status: Løst Standardværdier virkede ikke som forventet Status: Løst SIDE 17
Roadmap Ny (og korrekt) kilde til centroide (matrikelnr) Forbedrede svartider på især wildcard søgninger Bedre understøttelse for paging ved &count=true SIDE 18