Monthly Archives: May 2011

Hjelp, jeg vil lære meg OpenSource WebGIS?

Ja, hvem vil ikke det? Joke aside, som jeg tror jeg har vist flere ganger her på bloggen er det mye man kan gjøre med en eller flere av tre komponenter:

  1. En romlig database
  2. En kartserver som støtter OGC-standardene (WMS,WFS etc)
  3. Et klient-side-bibliotek for å vise kart i en nettleser

For noen år siden hadde man ikke så mange muligheter på dette feltet som glad amatør. Romlige databaser var synonymt med ArcSDE fra ESRI, kartsevere som støttet OGC-standardene fantes ikke (dog, man hadde jo ArcIMS), og når det kom til klient-side biblioteker kunne man bruke det noe begrensede Google Maps, eller man kunne bruke noe fra ESRI.

Men, fortvil ikke, verden har endret seg. I dag finnes det fri programvare som kan fylle alle hullene:

  • PostGIS er en genial extention til PostgreSQL, og gir deg en fullverdig romlig database
  • Geoserver og Mapserver er to oppegående kartservere som heller ligger forran enn bak de proprietære løsningene
  • OpenLayers er et javascript-rammeverk som gjør alt det Google Maps APIet gjør, pluss mye, mye mer

Men, så var det hvordan man skal lære seg alt dette. Hvordan de forskjellige komponentene brukes, hvvordan de konfigureres og hvordan de spiller sammen. Mye kan såklart løses ved å studere Geomatikk, men det tar ganske mye tid. Mye kan også læres ved å se på tutorials og dokumentasjon på nett. I tillegg er det nesten et krav å beherske følgende:

  • SQL – bruk og teori
  • Programmering generelt, og kanskje JavaScript spesielt
  • Et eller annet slags server-side rammeverk, som f.eks. Java-Spring, Groovy-Grails, Ruby-Rails, JavaScript-Node.js, Python-Pyramid, PHP-whatever
  • En viss kjennskap til datumer, projeksjoner, koordinatsystemer, transformasjoner og GIS-operasjoner
  • Linux-generell bruk, om du skal kjøre på denne platformen (anbefales)

Men fortvil ikke, man trenger ikke kunne alt med en gang. Man kommer langt med å lære seg noe og bygge på når det trengs. Og nå er vi fremme ved hovedpoenget med denne posten: Det finnes etterhvert en rekke gode bøker som tar for seg OpenSource GIS-verktøy i dybden. Noen anbefalinger er:

  • GIS for Web Developers Denne er noen år gammel, og versjonene den dekker er nok litt utdaterte, men den tar for seg både PostGIS og Geoserver, samt filformater, projeksjoner, koordinatsystemer og generelle biblioteker
  • PostGIS in Action er en helt ny bok om, du gjettet riktig, PostGIS. Meget god bok, som også tar for seg endel basic geomatikk-emner på en lettfattelig måte.
  • OpenLayers 2.10 Beginner’s Guide er også en helt fersk bok, som tar for seg den nyeste versjonen av OpenLayers. Jeg har ikke rukket å lese denne, men ser mange positive omtaler av den.

I tillegg vil jeg varmt anbefale to bøker om JavaScript: JavaScript: The Good Parts og Object-Oriented JavaScript.

Hvis Java er din grunnplatform er du kanskje også interessert i min post om Javascript, GIS, testing, Maven og AJAX. Skal du jobbe med Geoserver vil du nok ha nytte av å kunne litt om Tomcat, da det er java-webcontaineren denne trives best i. Og det å lære seg PostgreSQL i seg selv er nok heller ikke dumt. Kartografi er også et tema som fort kan bli nyttig å kunne noe om, men på disse områdene er jeg litt blankere på gode bokanbefalinger. Så tips meg gjerne her!

Et problem er jo at både PostgreSQL med PostGIS og en Java-container ikke akuratt er standard på webhotell rundt omkring. En mulighet er jo å kjøre sin egen server, en annen mulighet er diverse Cloud-løsninger som popper opp for tiden. Uansett, med noe av kunnskapen her i boks står du godt rustet til både å lage egne netttjenester eller, hvis du er utvikler fra før, å komme deg over i en del av IT-verdenen som er i enorm vekst. Lykke til!

Geomatikkbransjen: I front eller tilbakelent i gamle sannheter?

Dette innlegget har jeg, etter oppfordring fra Alexander, skrevet og sendt inn til Posisjon, medlemsbladet for GeoForum, bransjeorganisasjonen for kart, oppmåling og geografisk informasjon, også kjent som Geomatikk. Jeg regner med at det kan være av interesse for andre enn de som får Posisjon i posten, dermed legger jeg det ut her også. Jeg tar gjerne imot kommentarer, men temaet er jo ikke nytt her på bloggen.

Google er ikke som oss. På godt og vondt. Der bransjen som opererer i krysningspunktet mellom IT og geomatikk (gjerne kalt GIS) er kjent for å lage tunge, kompliserte og dyre fagsystemer lager Google noe enkelt, som fungerer og som når ut til forbrukermarkedet.. Og det skal vi være glade for. Google Maps tvang oss til å tenke nytt. “Folk flest” forsto at kart på nett ikke trenger å være trege, tungvinte og begrensede. Det er én ting. En annen ting er alle nerdene der ute. De tok også i bruk Google Maps, og la tjenester på toppen av dette, noe Google gjorte lettere ved å åpne et API mot tjenesten. Men datafolk er rare. Gratis er ikke nok. Det skal være fritt (“free as in speech, not as in beer”, som amerikanerene sier).

Man hadde altså et problem. Det manglet kartdata man fritt kunne bruke, mikse med andre data og gjøre andre spennende ting med. Google sine data er bare ferdigtegnede fliser som fort kan inneholde reklame. De nasjonale dataene var (og er) dyre og utilgjengelige for mange. Dermed tenkte en gjeng initiativrike mennesker: “Se på Wikipedia, der har de klart å lage et fullverdig leksikon basert på dugnadsånd”. Og kimen til OpenStreetMap var lagt. Et sted for å samle inn og koordinere kartdata fra hele verden, basert på folks frivillige innsats. Og fritt til å brukes, av alle, til alle formål (dog, så lenge du overholder lisensen, som i kortform sier: “Ikke miks meg inn med dine stygge, ufrie data”). Og folk bidrar i stort monn. De setter GPSen sin på logging og kjører rundt for å finne ut hvor veiene går. De tar med seg GPSen på tur for å tracke stier. De har fått satelittbilder fra Microsoft og Yahoo! for å tegne inn bygninger, vann og den type ting som er vanskelig å tracke med en håndholdt GPS. Fordi dataene som allerede var samlet inn av det offentlige og det private var utligjengelige hadde man snublet over en ny måte å samle kartdata på, generelt kjent som «crowdsourcing», man setter det oppgaven ut til folket. Denne metoden har også Google fattet interesse for, og de kastet seg rundt å lanserte Google Map Maker etter samme prinsipp.

Men hva får folket igjen? Først av alt får de tilgang til data de selv kan bruke. Og bruke dem gjør mange. Derfor finnes det etterhvert en mengde løsninger rundt omkring basert på disse dataene. Gjerne i applikasjoner laget av ildsjeler, utenfor kartbransjen. For hva gjør geomatikerene? Jo, vi lener oss tilbake og sier: “Jammen, kvaliteten på dette må da være under enhver kritikk? Vi kan da ikke bruke dette?”. På samme måte sitter det mange leksikonforfattere, lærere og andre forståsegpåere og sier at “Vi kan da ikke stole på Wikipedia”, de har jo ingen kvalitetskontroll. Da kan vi begynne å diskutere kvalitet. Hva er det? ISO 9000 definerer kvalitet som: “Helheten av egenskaper en enhet har og som vedrører dens evne til å tilfredsstille uttalte og underforståtte behov.” Vi er like langt. Det avhenger av behovet. Og hva er det? Er det å regne på millimeteren hvor lang Glomma er eller er det å finne frem til den %#&@! bensinstasjonen? Er det værre at bensinstasjonen ligger 1 meter feil eller at den ikke er der i det hele tatt? Er dårligere data bedre enn ingen data?

Hva kan man si om slike crowdsourcede data? Nøyaktigheten blir nok i de fleste tilfeller dårligere enn om en landmåler hadde gjort jobben, men oppdateringsfrekvensen? Tilgjengeligheten? Bedre! “Kart er ferskvare”, ynder vi å si. Kvalitetskontrollen vi må ha sinker denne prosessen. Å bestemme hva som er best av dataene du finner i OpenStreetMap og det “folk flest” kaller “Kartverkets data” blir litt som å sammenligne pærer og bananer. De er gode på hvert sitt felt. Likevel vil OpenStreetMap-miljøet ha tak i “Kartverkets data”. Hvorfor? Fordi de synes det er mer spennende med en miks av pærer og bananer enn kun pærer. Høydedata er et godt eksempel, grenselinjer likeså. Dette er data det er vanskelig for amatørene (i ordets positive betydning) å samle inn selv. Så tenker man som så: “Vi, som i folket, har jo vært med på å finansiere de offentlige kartdataene, hvorfor skal vi se oss avspist med at kommunens saksbehandlere bruker dem? Eller at jeg kan kjøpe dem trykt på papir? Eller, nå i det siste, få tak i dem som WMS?”.

Endringer kommer ofte utenfra, og man må henge med eller forsvinne. Google brakte endring på softwaresiden når det gjelder kart. OpenStreetMap bringer endringer på datasiden. Da kan vi gjøre ett av to; som Store Norske Leksikon og si at “vi er best”, for så å dø en sakte død (naboen lempa forleden dag 10 bind leksikon i containeren, han har jo Wikipedia på telefonen), eller vi kan henge oss på, tenke nytt om kartdata og bli med på oppturen sammen med de glade amatørene. Google har satt gullstandarden for kartklienter på web, skal OpenStreetMap og andre få sette gullstandarden for oppdatering, forvaltning og synkronisering av kartdata eller skal bransjen selv ligge i forkant på dette feltet? Ved å gjøre som man alltid har gjort får man det man alltid har fått. Hva vil vi egentlig?