# GEOM2240 Vår 2022 Oblig 2 - Webkart med Mapbox, WMTS og GeoJSON ## Målsetting - få erfaring med å lage websider i et litt større prosjekt - lære om Mapbox GL JS og kunne bruke dette til å lage webkart - lære mer om WMS og WMTS (Web Map Tile Service) og bruk av slike tjenester - lære å utnytte dokumentasjon for API'er og tjeneste-spesifikasjoner - lære om bruk av ulike kartlag-type på webkart - lære om bruk av ulike projeksjoner i webkart-løsninger ## Del 1 - Kart som viser sporlogg fra GPS Her må du velge en GPS-sporlogg fra en tur, registrert gjennom f.eks. Strava-appen. Denne turen skal presenteres på et Mapbox-webkart. Sporloggen, som gjerne foreligger på GPX-format, må konverteres til GeoJSON-fil. Denne filen skal legges inn på filområdet på folk.ntnu.no og kobles til kartet ved hjelp av Mapbox-API'et. I tillegg til webkartet skal det være en kort tekst-presentasjon av turen. Frivillig, men anbefalt: Webkartet kan gjerne ha et WMTS-kartlag med et godt topografisk kart over Norge. ## Del 2 - Webkart med popup-vinduer fra WMS GetFeatureInfo-kall WMS-spesifikasjonen inneholder beskrivelse av GetFeatureInfo-kall. Ut i fra beskrivelsen skal du lage en løsning som ved museklikk i kartet sender et GetFeatureInfo-kall til WMS-tjenesten. Resultatet av kallet skal presenteres i et popup-vindu. Løsningen skal lages med Mapbox GL JS. Du kan velge selv hvilken WMS-tjeneste du vil bruke, og hvilken objekttype du vil vise fram data om. ## Del 3 - Projeksjoner På én webside skal det vises to kartlag som viser tilnærmet samme geografiske område, men med to ulike projeksjoner. Kartene skal vises ved siden av hverandre på brede skjermer, og under hverandre på mindre skjermer. Kartlaget/kartlagene skal være WMS-lag. Projeksjonene må presenteres med både navn og EPSG-kode. Kartbildene skal framstilles med enkle WMS-kall. Projeksjonene må velges slik at det er tydelige visuelle forskjeller mellom dem. Siden skal også inneholde en kort beskrivelse av projeksjonene og deres karakteristiske egenskaper. ## Del 4 - Samleside Websidene for del 1-3 skal knyttes sammen gjennom en samleside som har linker til de andre sidene. ## Generelle krav til gjennomføring - Det skal legges vekt på å lage sidene med en ryddig layout og fornuftig bruk av farger og fonter. - Alle kravene som er angitt under del 1-4 skal oppfylles. - Det skal ikke brukes websidegeneratorer eller rammeverk/API-er ut over Mapbox-API'et. - Det er lov å hente eksempler på kode fra andre nettsteder og modifisere den, men løsningen skal bare inneholde kode som brukes. - Koden skal være ryddig og ha god lesbarhet. Det innebærer bruk av innrykk og passende linjeskift. - Alle sidene skal ha elementer som er gitt form, farge, størrelse, plassering eller oppførsel ved hjelp av CSS-kode. - Du må kunne forklare hvordan koden er bygd opp. ## Grupper På denne oblig'en skal alle levere hver for seg, men vi oppfordrer til samarbeid underveis. ## Innlevering - Websidene skal legges ut på [folk.ntnu.no](https://folk.ntnu.no/). - Innleveringen består i en URL til hovedsiden (Del 4). Den leveres under Arbeidskrav i Blackboard. ## Ressurser ### Mapbox - forelesninger og linker på læringsmateriell-siden. - veiledning fra emnelærer ### WMS og WMTS - [WMS-veileder fra Norge Digitalt](https://www.geonorge.no/Geodataarbeid/veiledere/) - [WMS-spesifikasjonen fra OGC](http://portal.opengeospatial.org/files/?artifact_id=14416) ### Koordinat-transformasjoner - [proj4js](https://github.com/proj4js/proj4js) - [eksempel på bruk av proj4js](docs/proj4js.html) ### Javascript Fetch API - [eksempel/video](https://bonsaiilabs.com/js-fetch-async-await/) ## *NTNU 02.02.2022 Sverre Stikbakke*

¯\_(ツ)_/¯