ngu / geonorge-nedlastingapi

An implementation in Java of the Geonorge Download API (https://nedlasting.geonorge.no/Help)
MIT License
4 stars 2 forks source link

can-order api metode #19

Closed bgrotan closed 6 years ago

bgrotan commented 6 years ago

can-order api skal gi beskjed til klient om datasettet er mulig å laste ned. Dette er da typisk brukt sammen med supportsPolygonSelection hvor bruker tegner et polygon i et kart.

Pri 1: For å hindre at for stort område blir bestilt, så skal det være mulig å definere et maks størrelse område pr datasett.

Pri 2: For å hindre at en bestilling blir sendt inn til et området det ikke finnes data, skal det være mulig å sjekke mot en database med tabeller evt et eksternt api om det finnes data for datasettet i angitt område.

halset commented 6 years ago

can-download sjekker nå på metadataUuid, srid og hvorvidt man ber om koordinater når datasettet ikke støtter koordinatvalg.

Om vi skal lage grense på areal bør vi både tolke koordinatene til et JTS polygon og så bruke Geotools til å håndtere projiseringen. Tenker du maks antall kvadrat(kilo)meter eller noe sånt?

bgrotan commented 6 years ago

Ja, kvkm er nok ønskelig.. sånn roughly troms+finnmark+halvenordland kan fort bli en begrensning i enkelte tilfeller mens for andre datasett vil en enkelt kommune være altfor stort for enkelte formater.

bgrotan commented 6 years ago

Fint om maksareal er en egenskap i tabellen

halset commented 6 years ago

Er det noen måte man i APIet kan angi grunnen til at v2/can-download feiler? Det hadde vært nyttig å angi for brukeren at det f.eks. er feil format eller for stort areal. Jeg har ikke sett noe dokumentasjon på svaret på det kallet. Det står veldig lite på https://nedlasting.geonorge.no/Help/Api/POST-api-v2-can-download.

bgrotan commented 6 years ago

i følge https://github.com/kartverket/Geonorge.NedlastingAPI/blob/master/Geonorge.NedlastingApi/xsd/nedlastingapiv2.xsd kan man ha en "message" av typen string, sammen med canDownload som er boolean.

bgrotan commented 6 years ago

canDownload utvides (:240) if (req.hasCoordinates() && !dataset.isSupportsPolygonSelection()) { if (dataset.getMaxArea() == null) ... sånn som i dag, else {

opprett geometri med jts og sjekk mot dataset.getMaxArea()

}
halset commented 6 years ago

max-area sjekk er med nå.

bgrotan commented 6 years ago

Fikset i 1017c12cbd393267bee95b48e03389fc4831c9e2