Category Archives: Skole

Dagens LaTeX-tips: Natbib

Den observante leser har sikkert fått med seg at jeg bruker LaTeX for å skrive prosjektoppgave, jeg har tidligere lagt ut en prosjektmal og kommet med noen LaTeX-tips.

Jeg har også skrevet om håndtering av referanser i Aigaion. Her er jeg inne på BibTex som letter referansehåndteringen i LaTeX. Andre har skrevet mye om dette før, så jeg skal ikke gå gjennom hvordan BibTex fungerer.

Imidlertid var det noe som irriterte meg med BibTex i LaTeX: Nemlig formen referansene ble skrevet inn i teksten på, de er i utgangspunktet på formen [1] eller [Lam94]. Det kan godt være at det er slik standarden har vært før, men jeg liker bedre å referere på formen Forfatter (2008) eller (Forfatter et. al, 2008). Dette støtter ikke \cite{}-kommandoen i LaTeX. Her kommer Natbib inn i bildet, som de selv sier:

The natbib package is a reimplementation of the LaTeX \cite command, to work with both author-year and numerical citations.

Bruken er rimelig enkel, du må inkludere pakka natbib:
\usepackage{natbib}
i preamble.

Du kan fortsatt bruke \cite{}, eller du kan bruke \citep{} for parantes rundt det hele, som (Forfatter et. al, 2008) eller \citet{} for parantes rundt årstall, som: Forfatter (2008). For å huske hva som er hva: citep gir parantes, citet gir tekst.

I tillegg finnes det mange andre ting man kan hente ut, for eksempel bare forfatternavn (se dokumentasjonen for en full liste.

For å stilsette selve referanselista bruker jeg stilen apalike, men dette er jo såklart en smakssak. Med denne pakken (som velges med \bibliographystyle{}) blir referanselista seende slik ut:

Håper dette kan være et tips som er til nytte for noen, jeg sleit i begynnelsen litt med BibTex, så håper noen slipper å knote like mye som meg nå 😉

OpenStreetMap som datagrunnlag, masteroppgave?

Etter debatten om OpenStreetMap på NRK Beta og her har jeg mer eller mindre konkludert med følgende:

… det er det som er det unike ved denne tjenesten […] er de brukergenererte dataene, som har forutsetninger til både å være dekkende og oppdatert, som du nevner i forhold til turgåere etc.

Og at

kartverket har på sin side områder der OSM neppe kommer til å kunne måle seg

Dermed tenker jeg i de baner at det burde være mulig å lage en karttjeneste som kombinerer Kartverkets data (hentet på en eller annen måte via Norge Digitalt) med OpenStreetMap sine oppdaterte data om veger, stier og POIer. Akkuratt hvilke data som skal komme fra hvilken tilbyder er noe man må finne ut av, men jeg tror det er mulig å finne en (ganske) optimal fordeling her.

Og siden jeg snart skal i gang med å skrive masteroppgave ser jeg på dette som et mulig emne. Det toucher innom mange aspekter ved Geomatikk og GIS spesielt, jeg kan benytte OpenSource programvare og jeg får jobbe med forskjellige dataformater og ikke minst fokusere på åpne kartdata.

Hvordan ting skal gjøres mer spesifikt er vanskelig å si. men jeg tenker på å få opp en on-line kartklient basert på f.eks. OpenLayers som viser et norgeskart, med data fra Kartverket og OSM. Kartverkets data blir ganske statiske, mens OSM-data oppdateres på en ukentlig basis f.eks.

En mulighet, som alexanno skisserer er jo å flytte alt opp i skyene, og hente alle data fra tilbyder via f.eks WFS for så å samle og få til en samlet kartografi vha. f.eks GeoServer og sende dette ut som en WMS til OpenLayers.

En annen, litt enklere og ikke så cloud-computing rettet er å ha Kartverkets data mer eller mindre statisk i en database. OSM-dataene hentes automagisk fra data-dumpen en gang i uka (den oppdateres ukentlig) og legges inn i databasen. Her kan man f.eks kun oppdatere de dataene som er endret for å gjøre det litt lettere mtp databaseoppdateringer.

Jeg ser i hvert fall mange utfordringer her, men lurer på om noen har noen inspill? Er dette blitt gjort før, har det noen hensikt, lar det seg gjøre mtp lisenser (så vidt jeg skjønner er OSM under en CC Attribution-Share Alike License, så det burde gå).

Som en “benchmark” kunne man sjekket “datakvaliteten” opp mot f.eks. Google Maps eller lignende tjenester.

Så, enten drep tanken i sin spede begynnelse om det er å finne opp hjulet på nytt, kom med konsttruktive tilbakemeldinger hvis jeg er inne på noe, eller gi meg en oppmuntring!

WMS, hva er det?

WMS er kanskje ikke et begrep som er kjent for alle, men for GIS-mennesker begynner det å bli noe man må forholde seg til. Jeg skal i denne artikkelen prøve å beskrive hvordan man kan sette opp sin egen kartklient og wms-tjener for å vise data fra forskjellige kilder, alt med Open Source produkter og fritt tilgjengelige data.

Jeg vil først beskrive noen av standardene som brukes, og deretter beskrive noen av programmene som brukes. Til slutt vil jeg beskrive noen kilder til åpne kartdata og vise noen eksempler.

Hva er WMS?

Web Map Service (WMS) er en standard for utveksling av kartinformasjon over internett. Det er en standard utarbeidet av Open Geospatial Consortium (OGC), som driver med standarder for geografisk informasjon på nett. WMS er en web-service for kartdata, den returnerer et kartbilde når man sender en request.

Et enkelt eksempel vil for eksempel kunne se slik ut:

Dette bildet blir hentet via et WMS-kall til en wms-tjener, med parametere for hvilket område jeg vil ha, projeksjon, høyde og bredde på bildet etc.. Urlen vil typisk se slik ut:
http://geomatikk.eksplisitt.net:8081/geoserver/wms?service=wms&version=1.1.1&request=GetMap&
layers=topp:norge_utm33&srs=EPSG:32633&
bbox=-99438.22,6426073.41,1121927.04,7962739.19&
width=256&height=256&format=image/png

Det å se bildet i seg selv er ikke så gøy. Det finnes diverse kartklienter som får til pan og zoom etc på grunnlag av en slik wms. En av disse klientene er Open Source klienten OpenLayers, en JavaScript klient som tar seg av slikt. Wmsen presentert over i OpenLayers vil kunne se ut som i dette eksempelet.

Få tak i WMS-tjenester

For å kunne sette opp en slik karttjener må man ha tilgang til data, eller mer spesifikt en wms. GeoNorge har en samling slike wms’er med diverse informasjon. Desverre er dataene fra Statens Kartverk ikke frie, så vi får ikke tilgang til bakgrunnsdata. Imidlertid har andre organisasjoner data ute, for eksempel Direktoratet for naturvernforbundet. Fra listen finner vi: “Villreinområder fra Naturbase. I tillegg også en del andre villreinrelaterte tema.” Vi ser her at den har en WMS-url som er:
http://dnweb12.dirnat.no/wmsconnector/com.esri.wms.Esrimap/WMS_NB_Villrein
For å få mer informasjon om denne WMSen kan vi kjøre et getCapabilities-kall. Dette returnerer et XML-dokument som beskriver tjenesten. Vi kjører dette:
http://dnweb12.dirnat.no/wmsconnector/com.esri.wms.Esrimap/WMS_NB_Villrein?service=wms&request=getCapabilities.
Her får vi en del info om selve tjenesten, før vi lengre ned ser

<Layer queryable="0" opaque="0" noSubsets="0">
<Title>WMS_NB_Villrein</Title>
<SRS>EPSG:4326</SRS>
<SRS>EPSG:32633</SRS>
<SRS>EPSG:4267</SRS>
<SRS>EPSG:4269</SRS>
<SRS>EPSG:32632</SRS>
<SRS>EPSG:32633</SRS>
<SRS>EPSG:32634</SRS>
<SRS>EPSG:32635</SRS>
<SRS>EPSG:32636</SRS>
<LatLonBoundingBox minx="5.6955424716" miny="58.7163126769" maxx="8.997812589" maxy="61.1780439641"/>
<BoundingBox SRS="EPSG:32633" minx="-1751.06" miny="6556703.12" maxx="323569.09" maxy="6983009.97"/>

Dette er informasjon om selve WMSen. Her får vi vite hvilke projeksjoner den støtter (beskrevet med EPSG-koder, for en liste se: spatialreference.org). Vi får også vite boundingBoxer, dvs området wmsen dekker.

Lengre ned finner vi:

<Layer queryable="1">
<Name>Villreinomrader</Name>
<Title>Villreinomrader</Title>
<SRS>EPSG:4326</SRS>
<LatLonBoundingBox minx="-0.9519691343" miny="57.7522859367" maxx="31.9406987594" maxy="71.5611319472"/>
</Layer>

Vi ser at layeret er queryable, dvs at vi kan spørre etter det. Det heter “villreinområder” og er primært i projeksjonen med EPSG:4326 (dette er lat-long). Men siden vi har listen over vet vi at vi kan få det i alle de oppgitte projeksjonene. For å teste dette kan vi prøve å sende en request:
http://dnweb12.dirnat.no/wmsconnector/com.esri.wms.Esrimap/WMS_NB_Villrein?
service=wms&version=1.1.1&request=GetMap&
layers=Villreinomrader&srs=EPSG:32633&
bbox=-99438.22,6426073.41,1121927.04,7962739.19&
width=256&height=256&format=image/png

Som gir dette resultatet:

Ikke spesielt imponerende, men ved å bruke OpenLayers kan vi kombinere denne wmsen med oversiktskartet over Norge vi brukte ista, da får vi et kart som vist her: Villreinområder i Norge.

Egne data

Bakgrunnskartet over Norge kjører på en egen WMS-tjener, satt opp med OpenSource programmet Geoserver. Kartdataene er en del av Vector Map (VMAP) Level 0 som er i Public Domain (dvs gratis tilgjengelig, bla.a. her). Prosessen med å velge ut hva man vil ha her og å sette opp GeoServer tar jeg ikke med her, kanskje det blir en egen artikkel om det er interesse?

Google Maps er nok kjent for de fleste, og mashups med Google maps er utbredt. Imidlertid kan man også vise Google sine kartdata i OpenLayers, som beskrevet her. Du må da ha en Google Maps API Key. Det å kombinerer villrein-WMSen med Google sine sattelittbilder er ikke helt greit, da Google kjører sin egen pojeksjon. Prøver vi på dette får vi et ganske rart resultat: Google Maps, Villrein.

Det man skal være klar over er at Google sine kartdata ikke leveres som en WMS, men i et eget format (slik jeg har forstått det).

Dette er uansett kun en kort innføring. Vil du lære mer anbafaler jeg å se på kildekoden til eksemplene her, og eventuelt skaffe deg boka: GIS for Web Developers av Scott Davis.

Eventuelt kan du jo prøve å spørre meg i kommentarfeltet 😉 Håper uansett noen sitter igjen med en følelse av hva WMS er og hva det kan brukes til.

Noen LaTeX-tips

Jeg har lagt ut en LaTeX-mal for prosjektoppgaven min, men jeg finner stadig ut at det er ting jeg vil endre på. Dermed tenkte jeg at jeg skulle dele noen tips her.

Captions

For å lage en caption (eller bildetekst) til en figur eller en tabell bruker man \caption{}.
Kommandoene:
\listoffigures
\listoftables

lager en liste over tabeller og figurer. Har du imidlertid lange captions kan denne lista bli rotete. Da kan man lage en kort-versjon av captionen:
\caption[Kort figurtekst]{lang figurtekst som kanskje også inneholder en url og beskrivelser, ikke noe som passer i en oversikt}

For å få teksten i kursiv og “Table X.X i bold og dermed gjøre captionen litt finere kan man bruke:
\usepackage[font=small,format=plain,labelfont=bf,up,textfont=it,up]{caption}

En annen ting er hvordan få tabeller, figurer og ligninger nummerert etter hvilken section de står i. Normalt får disse nummere som begynner på 1. For å få numre på formen x.y der x er nummeret på sectionen og y er ligningsnummer kan du bruke:
\numberwithin{figure}{section}
\numberwithin{table}{section}
\numberwithin{equation}{section}

Linker

For å gjøre en url klikkbar kan man skrive den inn med:
\url{http://www.atlefren.net}
Problemet med denne er at den ikke klarer å dele disse, og ting kan bli seende rart ut. Ved å bruke:
\usepackage{breakurl}
vil urler deles ved slasher, punktum etc, dvs på en fornuftig måte.

For å unngå at både urler og interne lenker i dokumentet får bokser rundt seg når man lager en pdf kan man gjøre følgende:
\usepackage{hyperref}
%set links to be painted in black
\hypersetup{colorlinks,
linkcolor=black,
filecolor=black,
urlcolor=black,
citecolor=black}

Har du flere LaTeX-tips, eller har noen spørsmål er det bare å bruke kommentarfeltet. Jeg er ingen ekspert, men har etterhvert klart å finne ut en del. Spør meg dog ikke om hvordan du installerer LaTeX på Windows (kanskje infoweb kan hjelpe?)

NTNU – Internasjonalt fremragende?

I går kunne Universitetsavisa melde at “NTNU faller for fjerde året på rad i en av de mest respekterte rangeringene for verdens universiteter.” NTNU ligger nå på 328. plass i verden. I Norge ligger alle de andre “skikkelige” universitetene (Oslo, Bergen, Tromsø) er bedre enn NTNU.

I dag er Rektor Digernes ute og mener at dette kan skyldes forskjeller i måten databaser blir brukt, hvordan man registrerer doktorgradsstipendiater og registrerer av data i siteringsdatabasen Scopus.

Det som slår meg at det er i løpet av de siste 3-4 årene visjonen om at NTNU skal bli “Internasjonalt Fremragende” har dukket opp. Det er også i denne perioden rankingene har pekt nedover. Hva med å heller satse på å utdanne personer som kan være en ressurss for Norge? Bringe tradisjonene fra NTH videre, og ha et universitet som er til for studentene? Ikke for at ledelsen skal kunne skryte av hvor langt opp man kommer på den og den rankingen.

All den tid NTNU prøver å klatre på rankingen tviler jeg på at de klarer det. Fokuser heller på å ikke kutte ned forelesninger, standardisere på flervalgseksamen og produsere flest mulig studiepoeng. Og vær for guds skyld ikke redd for å stå frem som et Teknisk-Naturvitenskaplig universitet! Tverrfaglighet er fint, Eksperter i Team er en god ide, men når ikke Faggruppe Geomatikk og Institutt for Datateknikk snakker sammen hjelper det lite å flytte Psykologi ned til Gløshaugen!

Det gir sikkert god PR å sponse Tour de France-sendinger og å starte et eget langrennslag, men all den tid eksamen avholdes i auditorier fordi man har lite penger sender dette helt feil signaler. Jeg begynnte på NTNU for 4,5 år siden. Da hadde jeg en oppfatning om at NTNU var et godt universitet. Etter å ha sett innsiden av stedet over en periode sitter jeg igjen med ne følelse av at ingen vet hva som skjer, og blir irritert hver gang jeg hører snakk om å bli “Internasjonalt fremragende”

Det var dagens utbrudd! Dette kunne sikkert vært formulert mye bedre, så har jeg sagt det. Budskapet er uansett det samme: NTNU er på vei nedover..