mandag 17. september 2012

Vil forbedre tidsfunksjonen i kart

Integrasjonsarkitekten i BarentsWatch, Anders Mathisen, jobber, sammen med leverandør av teknisk rammeverk, Kongsberg Spacetec, jevnt med å forbedre funksjonaliteten i BarentsWatch-portalen.
Under presenterer Mathisen høringsforslag til tiltak for å videreutvikle den såkalte "timeslideren" som integrert funksjon i karttjenesten.

Denne funksjonen er nybrottsarbeid, som BarentsWatch er alene om å tilby. Men den må bli enda bedre. Derfor trenger vi alle involvertes respons.
Det er ønskelig at så mange som mulig av de involverte i prosjektet leser gjennom notatet og gir sin tilbakemelding.

Frist: fredag 21. september.
 
------------------------------------------------------------------------

Tidsfunksjonalitet i kartklienten En del av dataene som presenteres i kartklienten i dag beskriver hendelser over tid, eller har informasjon med gyldighetsområde begrenset i tid, for eksempel værdata.  Vi vurderer nå alternativer for å presentere denne informasjonen i kartklienten på en bedre måte. I den forbindelsen ønsker vi innspill på forslag til utseende/ brukergrensesnitt og løsninger for å bestemme et lags gyldighet.

En tidligere frittstående TimeSlider demonstrerte muligheten for å animere opp til fem kartlag med tidsparameter.
Skjermdump av en animasjon med to kartlag. Brukeren velger tidsutsnitt ved å trykke i kalenderen over kartet. Animasjonen kan startes og stoppes ved å trykke på play/pause knappen, og man kan gå til neste/forrige/siste/første bilde. Hastigheten på animasjonen styres ved hjelp av knappene til høyre for kalenderen. Det indikeres på kalenderen om et lag har data (oransje prikker).

Utseende og brukergrensesnitt Komponentene for tidsfunksjonalitet bør harmonisere med resten av kartklienten og være enkle å bruke. Under vises et forslag til en type brukergrensesnitt som kan være et aktuelt utgangspunkt.  




Animasjonen startes og stoppes med en spill av/pause knapp. Mer avanserte operasjoner som gå til neste/forrige, siste/første bilde kan skjules i utgangspunktet og være en valgmulighet for mer avanserte brukere. Kalenderen brukes for å velge tidsutsnitt, og oppløsningen bestemmes ut fra det valgte tidsutsnittet (år, måned, dag).



Eksempel på en type kalender/slider som kan være aktuell for BarentsWatch TimeSlider. Det indikeres med fargekoder på tall/bokstaver om lagene har data. Play/pause knapp vises ikke her. Eksempelet er hentet fra http://www.thedailyshow.com.

Eksempler på bruk av kalenderen:
- Bruker velger året 2011.
1. januar 2011 vises. Brukeren beveger slideren for å gå til neste måned. Bruker trykker på play. Slideren beveger seg bortover og et bilde vises for hver måned i året (hvis det finnes).
- Bruker velger året 2011, måned august og trykker på play.
Et bilde vises for hver dag i måneden.
- Bruker velger året 2011, måned august og dag 15.
Et bilde vises for 15. august 2011.

Løsning for å bestemme et lags gyldighet
I TimeSlideren valgte vi å avgrense et lags gyldighet til et døgn eller en time. Det vil si at to lag med tidsstempel innenfor samme døgn kunne vises samtidig, eller innenfor samme time dersom lagene hadde timesoppløsning.

For å gi tjenestetilbydere bedre kontroll over et lags gyldighet foreslår vi følgende som en mulig alternativ løsning:
  • TimeSlideren viser bildet med det tidsstempelet som er nærmest det gjeldende tidspunktet bakover i tid. Eksempel: Brukeren ber om å se bilder for 17. august 2012. Et lag har et bilde med tidsstempel 15. august.  Laget kan vises. Et lag med tidsstempel framover i tid, for eksempel 18. august, vil ikke vises.
  • Et bilde er gyldig fram til neste tidsstempel. Eksempel: et lag har følgende tidsstempler: 2012-09-01, 2012-10-01. Bildet med tidsstempel 1. september kan vises helt fram til 1. oktober. Det vil si at bildet kan vises dersom brukeren ber om å se bilder for 20. september.
  • Tjenestetilbyder kan legge inn et tomt bilde med tidsstempel for å hindre at siste bilde har «evig» gyldighet. Eksempel: et lag har tidsstempler fra 2003 til 2012, med daglig oppløsning fra mai til oktober og ingen tidsstempler mellom oktober og mai. For å hindre at bildet fra oktober blir vist for alle mellomliggende måneder, legger tjenestetilbyder inn et tomt bilde for november.
Alternativer for angivelse av syklisk tidNoen datasett er tilknyttet tidsparametere av syklisk eller repeterende art, for eksempel gjennomsnittstemperatur over en periode. En slik type tidsangivelse er ikke spesifikt omtalt i standardene, og det er derfor nødvendig å definere en ensartet måte for tjenestetilbydere å angi slik data på.

Vi foreslår følgende alternativer:
  1. Tjenestetilbyder angir alle gyldige datoer som en vanlig tidsdimensjon i capabilities dokumentet. Eksempel: tjenestetilbyder har tre bilder med gjennomsnittsmålinger for januar, februar, mars over en periode på 10 år fra 2000 til 2010. Tjenestetilbyderen publiserer en liste med gyldige datoer mellom 2000 og 2010 (2000-01-01, 2000-02-01 o.s.v. til 2010-01-01), eventuelt en liste med gyldige perioder (2000-01-01-01/2000-03-01/P1M, 2001-01-01-01/2001-03-01/P1M, o.s.v. til 2010-01-01-01/2001-03-01/P1M).
    Bildet for januar er alltid det samme, slik at en GetMap request for 2000-01-01 returnerer samme bilde som 2010-01-01. Dette alternativet er mest i henhold til gjeldende standard og dermed foretrukket.
  2. Tjenestetilbyder bruker en kombinasjon av tidsdimensjon og beskrivelsesfelt for å angi at dette er syklisk data. Beregninger gjøres på klientsiden. For eksempel angir tjenestetilbyder første og siste gyldige datoserie i tidsdimensjonen og nøkkelordet «syklisk» i beskrivelsesfeltet. Nøyaktig syntaks vil bli publisert av BarentsWatch på et senere tidspunkt.
  3. Tjenestetilbyder bruker en egendefinert dimensjon.  Nøyaktig syntaks vil bli publisert av BarentsWatch på et senere tidspunkt.

Respons
Tilbakemeldinger om forslagene kan skrives inn som kommentar under dette blogginnlegget (trykk på lenken Legg inn en kommentar under), eller oversendes per e-post til anders.mathisen@kystverket.no
så snart som mulig, og senest innen fredag 21. september.
På forhånd takk for at du tar deg tid til å gi ditt bidrag.

2 kommentarer:

  1. Jeg synes dette er i overkant komplisert å behandle på denne måten. Et Skype-møte med visning av mock-ups, kombinert med forklaring vil være mye enklere å gi fornuftige tilbakemeldinger på. Men jeg prøver:

    Input, tid:
    Forslaget er funksjonelt og fint å se på, men tar jo mye plass. Kanskje playeren kan flyttes ut av selve kartklienten i et eget vindu (http://www.jqwidgets.com/jquery-docking-widget/)?

    I noen tilfeller(værmelding?) kreves det timeoppløsning. Da funker vel ikke:
    "- Bruker velger året 2011, måned august og dag 15.
    Et bilde vises for 15. august 2011"?

    Jeg tror det må være godt synlig hvilke data det enkelte kartlaget tilbyr: Tidsrom (fra / til) og oppløsning(time/døgn/uke/...)

    SvarSlett
  2. Beklager at jeg må bare bruke Engelsk her.

    There exist a solution that I have used for about 7 years, and is open source freeware, part of the THREDDS/OPeNDAP protocol http://www.unidata.ucar.edu/projects/THREDDS/
    THREDDS has an in-built NetCDF web map server that feeds directly on numerical data (in NetCDF format). All of the MyOcean project (65 partners) are using it, in particular, met.no and NERSC are providing the Arctic ocean and sea ice reanalysis and real-time forecast there. You can jump over to the latest forecast from met.no on link:
    http://thredds.met.no/thredds/godiva2/godiva2.html?server=http://thredds.met.no/thredds/wms/topaz/dataset-topaz4-arc-myoceanv2-be
    Select TOPAZ4 model results to the left and note the calendar: pick a start and end date and make an animation (If I zoom on the Barents Sea, I can animate over 60 daily ice maps without problem).

    I am not sure what will be the contents of BarentsWatch so I would not know if this fits all your purposes but at least you could get the "time slide" and the related source code from this solution.

    Lykke til!
    Laurent Bertino
    NERSC

    SvarSlett

Vil du legge igjen en kommentar?

1) Hvis du har google-konto, velg Profil: Google i lista under, logg på slik det forklares og skriv inn som en offentlig synlig leser. (foretrekkes)

2) Hvis du ikke har google-konto; velg Profil: Anonym i lista under, skriv inn kommentar og signer med navn og arbeidssted.

Takk for at du bidrar til at BarentsWatch-bloggen blir et sted for informasjons- og meningsutveksling!