Monthly Archives: October 2008

Dagens ord: Småkonge

Dagens ord er et substantiv som brukes for å beksrive personer. Det er ikke spesielt mye brukt, men jeg tror de fleste instinktivt vil skjønne hva man mener med det. Jeg har i det siste tatt meg i å bruke det om personer jeg ikke er så begeistret for. For selv om ordet er nært knyttet til et ord som signaliserer makt og i den siste tid har blitt brukt som et generelt positivt ladet ord er ikke ordet jeg tenker på positivt ment.

Jeg tenker på ordet småkonge. Ifølge bokmålsordboka har det to betydninger, men jeg er ikke helt enig i den siste av de to. Den første definisjonen er historisk:

konge i smårike – før rikssamlingen satt det flere s-r rundt i landet

Den andre definisjonen er jeg ikke helt enig i:

dominerende person

Den er inne på noe, men når jeg kaller en person “småkonge” er det for å signalisere at det er snakk om en person med meget begrenset makt og posisjon, men som elsker å bruke den makten han har. Dette kan typisk brukes om byråkrater, kranglete sensorer, og myndighetspersoner generelt.

En typisk småkonge tror han har mye å si, men egentlig er han ikke mer enn et irritasjonsmoment som forvansker hverdagen for andre. Han tror han har respekt, men egentlig ler alle av han bak hans rygg. Altså er det ikke en beskrivelse man ønsker brukt om seg selv.

Slik gjør man det ikke…

For en ukes tid siden lanserte Torbjørn Digernes, rektor her på NTNU sin egen blogg. I det minste en blogg i sitt navn, han har nok ikke tatt initiativet til den helt selv, men vi får tro han skriver innholdet der selv. Visse ting tyder på det, bla.a. oppdateringsfrekvensen.

Pr dags dato ligger det tre innlegg i “bloggen” hans, alle datert 21.10.2008. Så helt stille en uke. Greit nok, jeg har også vært stille en uke her og der, det skal være lov. Men problemet er jo å lansere bloggen med brask og bram, med linker og det hele og så ikke gi folk noen grunn til å komme tilbake. Og da mener jeg INGEN. På vanlige blogger har man jo kommentarmulighet, så selv om det ikke har kommet noen nye innlegg kan det ha kommet nye kommentarer. Men kommentarmulighet har man ikke på rektors blogg, så å skrive:

Som rektor ønsker jeg en god og levende dialog med alle ansatte og studenter om de viktige tingene på NTNU. På denne plassen vil jeg i tida framover dele tanker og synspunkter, slik verden ser ut fra mitt ståsted. Jeg håper du vil fortelle hvordan den ser ut fra ditt.

Blir rimelig søkt. Han har jo dog en svarmulighet, gode, gamle mailen. Jeg tok han på ordet i forrige uke og sendte en mail, der det bla.a. sto følgende:

Du har allerede blitt omtalt på andre NTNU-relaterte blogger som Terra Incognita Som du ser av kommentarene: bla.a en fra meg stiller vi spørsmål ved mangelen på kommentarfelt. En blogg er et medium som preges av to-veis kommunikasjon, og tar en bort dette aspektet er man kanskje tilbake til nyhetsbrev? Enda godt du har plassert mail-adressen tydelig, men det er ofte at man ikke _kun_ ønsker å svare til den opprinnelige forfatteren, men andre som deltar leser innlegget, eller det kan være at diskusjoner oppstår i kommentarfeltet.

Heller ikke denne mailen har jeg fått noe svar på, så om bloggen mislykkes totalt kan jeg konstatere at nrkbeta-gjengen har forstått noe Rektor ikke har:

Caterina Fake som var med å starte nettstedet Flickr uttalte mye fornuftig om sosiale nettsteder i et intervju med bladet .net i november i fjor. Blant annet sammenlikner hun det å starte et sosialt nettsted med det å arrangere en stor fest. Du må stå i døren og ønske folk velkommen.

Det er ikke så gøy å komme til et hus der det ikke er noen, og ikke kunne snakke med noen. Så, med mindre det skjer noe overraskenede i løpet av et par dager vil jeg gratulere rektor med nok en kommentarspalte. Det er synd, for dette kunne blitt bra.. Og NTNU som er så “skapende”..

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.

Periodisk backup i Linux

Jeg sitter som kjent å skriver prosjektet mitt i LaTeX på en Linux maskin. Som jeg nevnte i posten om Studenter og ny pc ser jeg ikke poenget med å bruke penger på en eksterndisk til backup når vi har tilgang til en sambashare via NTNU.

Imidlertid har jeg ikke tatt noe særlig backup, da jeg ikke gidder/orker å kopiere over (kun den som har mistet noe viktig tenker på backup sies det). Imidlertid tenkte jeg at det måtte være mulig å automatisere dette. Jeg tenkte noe slik som “cron-job og noe shell-scripting kombinert med at jeg har hjemmeområdet permanent mappet opp når jeg er på NTNU-nettet.

Dermed hørte jeg litt med Alex, og kombinert med litt googling og hacking lagde jeg meg et script som en gang i timen (gitt at jeg har tilgang til hjemmeområdet) lager en tar.gz fil av prosjektmappa mi og lagrer den med et timestamp på hjemmeområdet. Den tar vare på de 10 forrige versjonene, dvs 10 timer tilbake i tid. Det skriver også til en logg-fil hva som blir gjort når.

I OpenSource-ånden deler jeg ut scriptet mitt her, og tar gjerne imot forslag til forbedringer og kritikk på ting som er gjort hakkandes galt. I prinsippet skal det funke for å regelmessig kopiere en mappe over på en annen (montert) mappe.

Så kan man jo spørre seg hvorfor jeg ikke jobber direkte mot hjemmeområdet.. Da hadde jeg aldri lært meg shell-scripting, og det kan jo tenkes at jeg av og til jobber uten tilgang til det.

FIla ligger tilgjengelig her: backup.sh

For å bruke den må du huske å chmodde den slik at den kan kjøres:
chmod +x backup.sh
Du vil sikkert også gå inn i den og endre mapper etc. Den er greit kommentert, så det skal ikke være noe problem.

Til slutt vil du legge den inn i crontab, bruk da:
crontab -e
og legg inn noe slikt som:
0 * * * * /path/to/backup.sh >> /path/to/logfile
for å ta backup en gang i timen.

Elegant? Tja. Praktisk? Ja. Morro? for de interesserte 🙂

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?)