Etikettarkiv | Open Street Map

Jag arbetar för Open Street Map

Jag återkommer till rubriken längre ner, men först så tänkte jag beskriva hur jag gjorde i helgen för att lägga in ett nytt villaområde i Open Street Map.

Jag plockade helt enkelt med mig min GPS, slog på spårloggen och gav mig ut på promenad. Läs mer…

Open Street Map – Skepnader

Använder du Open Street Map? Har du sett att det finns olika stilar på kartorna?

Screenshot from 2014-11-22 11:30:58I bilden ovan ser du OSM standard över delar av Edinburgh, som jag använder som exempel då jag tycker att det är en intressant stadsplanering.

Samma data är symboliserat på lite olika sätt för olika grundläggande syften.

Cykelkartan:

Screenshot from 2014-11-22 11:34:38Transportkartan:

Screenshot from 2014-11-22 11:35:35MapQuest Open:

Screenshot from 2014-11-22 11:36:41Humanitärt:

Screenshot from 2014-11-22 11:37:35Som synes så får olika kartor olika fokus och detta betyder även att viss typ av information ges företräde framför andra.

Dessa varianter finns även tillgängliga via Open Layers tillägget i QGIS vilket gör att man har lite fler alternativa bakgrunder när man skapar sina kartor.

Om nu inte dessa kartor räcker och Stamen börjar bli tjatigt, så finns ju alltid…

MapBox:

Screenshot from 2014-11-22 12:08:18Vill du sedan inte använda on-line tjänster så går det ju alltid att hämta OSM data och symbolisera själv i exempelvis QGIS.

Konst med QGIS och OSM

Först och främst, detta är inte min idé. Jag hittade en sida på Franska (länk) där det räckte med att titta på bilderna för att jag skulle gå igång och inspireras till detta inlägg. Den som kan franska eller vill köra genom Google Translate kan göra det via länken tidigare också.

Metoden går ut på att använda valda delar av OSM-data över en stad och sedan med justeringar och färgsättning samt lite efterarbete skapa ”konst” som tilltalar en GIS-nörd. Att göra det själv innebär ju dessutom att man inte blir begränsad till London, New York eller Sydney (ja det stavas så), utan lika gärna Katrineholm, Halmstad eller Borås.

Screenshot from 2014-09-21 10:13:41

Använd OSM data du redan har eller ladda hem data med OSM-verktygen i QGIS. Du kommer inte att behöva alla lager, men du behöver lagren i vektorformat och inte som Open Layers tjänst.

Screenshot from 2014-09-21 10:37:43Använd väglager tillsammans med ”natur” och vattenlinjer samt järnvägar vid behov och gör urval och symbolsättningar så att ett lagom abstrakt utseende framträder. Detta behövs inte för fortsättningen, men kan hjälpa till att se möjligheterna med de data som visas. För urval så har jag använt regelbaserad symbolsättning och ”CASE WHEN condition THEN result END” för att välja ut de objektklasser jag vill använda. Men det blir enklare i nästa steg om man använder objekturval (fliken Allmänt).

Screenshot from 2014-09-21 11:03:52För den vidare bearbetningen så fungerar linjeobjekt inte så bra så dessa görs om till polygoner av olika tjocklek med geobehandlingsverktyget ”Buffer” (menyn vektor). I bilden ovan har jag valt en gråskala i färgsättningen som ganska mycket påminner om Stamen Toner, men detta är bara ett delsteg för nu är det dags att skapa konsten…

Screenshot from 2014-09-21 11:12:31Alla mina lager från ovan slås samman med datahanteringsverktyget ”Merge shapefiles to one”. Jag skapar även en stor polygon i ett nytt lager som täcker hela det område jag är intresserad av.

Screenshot from 2014-09-21 11:24:45Nästa steg blir att ”klippa hål” i den heltäckande polygonen med mitt sammanslagna polygonlager så att jag får ett lager med ”negativa ytor”. I bilden ovan så är det mitt heltäckande lager som kallas NegativaYtor och det sammanslagna bufferlagret AttRadera_upplöst. Jag körde ”lös upp” på det lagret först, men jag tror inte att det är nödvändigt. En annan erfarenhet är att båda lagren måste vara i samma referenssystem.

Screenshot from 2014-09-21 11:36:40Nu är ju det negativa lagret ett polygonlager med en enda multipartgeometri. Denna kan delas upp med geometriverktyget Multipart till singelpart, vilket ger ett objekt per unik geometrisk figur.

Vill man skapa konst med enbart två färger så behöver man inte det föregående steget, och om man vill ha flera färger så räcker det inte riktigt ändå, om man inte vill fortsätta i ett ritprogram redan nu.

Screenshot from 2014-09-21 11:41:51Jag har tänkt mig att dela in fälten i fem olika färger (typ) och skapar därför ett nytt attribut med Fältkalkylatorn med funktionen ”rand”. Detta skapar ett slumpvis värde mellan de angivna heltalen.

Om man vill ha fullständig kontroll så kan man sätta attributen manuellt, men för mig så räcker slumpen. Det går ju att köra om kalkylatorn på samma fält om det skulle se knasigt ut.

Screenshot from 2014-09-21 11:59:33

 

Färgsättningen görs med en skräddarsydd färgramp så att jag får färger jag tycker passar bra ihop. Det går även att välja färger helt fritt om man vill det. Observera även att jag inte har några kantlinjer, men där får du göra som du vill.

Avslutningsvis, i QGIS i alla fall, så skapas en utskriftslayout med önskad utsträckning och sedan kan man exportera som bild i antingen ett rasterformat som jpg eller png, men tycker man bättre om att jobba med vektorgrafik så kan man exportera som svg i stället.

Beroende på vad du valt så fortsätter nu arbetet i exempelvis Gimp eller Inkscape. Jag kör Inkscape och svg.

I layouten så letar jag reda på ett fält som jag kan ta bort och ersätta med text. Texten skapas med valfritt typsnitt och i fallet med Inkscape så gör jag sedan om texten till slinga och redigerar brytpunkterna så att texten fyller ut den yta där jag tagit bort ett fält.

Geosupportsystem-OSMkonst-Eksjö

Klicka gärna på bilden ovan för att visa den i full upplösning (500×500 mm i 300dpi).

Jag är faktiskt väldigt nöjd med resultatet och kan tänka mig många variationer avseende såväl skala som färgval. Bilden ovan publicerar jag härmed under Creative Commons CC-BY-NC, med speciellt tack till ”OpenStreetMaps bidragsgivare”.

Open Street Map – Lokalt

Jag använder ofta OSM via OpenLayers-tillägget i QGIS som bakgrundskarta, men då blir utseendet som någon annan bestämt, och just nu så verkar det vara lite problem med tillägget så det är bra med alternativ. Då kan man hämta hem shapefiler genererade från OSM via exempelvis http://download.geofabrik.de.

Dessa är direkt användbara i exempelvis QGIS, men saknar en del data som normalt finns i OSM. Vill man ha allt så får man i stället använda exempelvis XML-formatet *.osm.

.osm går att ladda hem över begränsade områden direkt från QGIS, eller så kan man hämta data för ett helt land från geofabrik.de (samma länk som tidigare).

Screenshot from 2014-07-25 13:20:17Den lilla nätta 382 MB stora filen blir dryga 5 GB när den packas upp, men vi är inte färdiga än.

Screenshot from 2014-07-25 13:22:32

I QGIS används tillägget för Open Street Map för att göra om *.osm filen till en SpatiaLite databas. Det blir lite effektivare så databasen landar på ca 2 GB.

Nja, riktigt klart är det inte än. Nu skall topologin exporteras också.

Screenshot from 2014-07-25 13:35:18

När man laddar ”taggar” från databasen så börjar man förstå att man inte får alla data när man laddar hem shapefilerna. Här gäller det att vara selektiv och bara ta med det man tror att man behöver. Om man inte väljer något så importeras bara punkter med ett ID, vilket är helt omöjligt att hantera mer än som ”här är en punkt som betyder något” (se ”trick” längre ner).

Om man däremot väljer allt så kommer det att bli problem åt andra hållet. Lägg märke till att det i fallet med bilden ovan endast är punkter som importeras och vill man ha med linjer och ytor så får man köra om proceduren för dessa.

Punkterna utökar databasen med ca 200 MB, linjer runt 300 MB och ytor ca 600 MB. Totalt blir därför databasen lite drygt 3 GB.

osm-raw-vs-shape

När jag lägger in dessa punkter, linjer och ytor som röda symboler i bakgrunden, och de shapefiler som går att ladda hem från samma källa ovanpå, så ser man ganska snabbt vilka data som nu helt plötsligt blivit tillgängliga.

Vad har vi då för nytta av dessa nya data? Det beror på vilka ”taggar” som valdes vid importen av topologier. Många av dessa röda objekt är ”obskyra” taggar eller saknar helt taggar vilket gör dem väldigt svåra att identifiera, men det finns ett trick.

Screenshot from 2014-07-25 14:38:00

Skapa en ”Action” (kommando) av typen ”open/öppna” för varje lager där linjer och ytor får kommandot:

http://www.openstreetmap.org/way/[% "id" %]

och punkter kommandot:

http://www.openstreetmap.org/node/[% "id" %]

Nu går det att markera respektive lager, använda objektkommandoverktyget, och få upp ett resultat i webbläsaren som beskriver det aktuella objektet.

Screenshot from 2014-07-25 14:52:40

I exemplet ovan så går det att hitta massor med information om objektet som inte går att få tag på via det vanliga gränssnittet. Jag kan dessutom notera att det är taggar som börjar med ”lst” som används, så jag kan därför göra en ny import av topologier där jag väljer ut dessa, om det är det jag är intresserad av.

Tänk på att du kan behöva välja rätt objektkommando manuellt (drop-down vid knappen) första gången du skall använda verktyget.

Nu går det att söka reda på den information som man saknar, importera med nya taggar, för att slutligen exportera utvalda objekt till nya lager. Dessa kan sparas i shape eller det format som du önskar.

Vill du göra ändringar i några av dessa lager så skall du naturligtvis göra dessa i Open Street Map och inte i shapefilerna. Detta betyder också att du behöver skapa en rutin eller metod för att ersätta dina lager med nya uppdaterade sådana. Detta går säkert att göra via skript eller egna insticksprogram, men så länge man är noggrann med dokumentationen så blir det inte så många steg om man gör arbetet manuellt.

  1. Ladda hem och packa upp *.osm filen.
  2. Skapa SpatiaLite databasen.
  3. Skapa topologier för de önskade taggarna.
  4. Välj ut objekt och exportera till lager
    (ersätt de gamla).

Lycka till!

Redigera Open Street Map

Det finns flera sätt att göra detta och här skall jag visa det enklaste och mest aktuella för alla normalanvändare som retar sig på något litet fel i kartan, eller att det egna huset eller kvarteret inte finns med.

När man tittar på kartan så märker man att en del områden är mycket mer detaljerade än andra. I mitt fall så blir skillnaden mellan grannstäderna Nässjö och Eksjö väldigt tydlig när man zoomar in lite.

nässjö-eksjöOpen Street Map i samma skala med Nässjö till vänster och Eksjö till höger

Även om Nässjö faktiskt är större än Eksjö så är skillnaden inte så stor som bilderna ovan kan ge sken av och nu skall jag visa vad Du kan göra för att minska denna typ av skillnader.

Skärmbild från 2014-01-02 11:07:09

Jag väljer ett litet bostadsområde med villor i Eksjö, som inte är så utförligt gjort i Open Street Map. Här vill jag nu lägga till alla byggnader. Eftersom det är ganska nära där jag bor så kan jag även ta en tur med GPS, kamera och anteckningsmaterial för att samla in mer information om området som kan användas senare, men det är inte nödvändigt just nu.

Skärmbild från 2014-01-02 11:14:03

På sidan http://openstreetmap.org så kan man gå till det område man vill redigera och välja olika sätt att göra detta på. Här använder jag iD som passar mig.

Är det första gången man skall göra detta så måste man skapa ett konto, eller använda någon annan metod för att identifiera sig, men jag har ett konto så jag loggar in.

Nu får man upp en satellitbild från Bing som bakgrund med knappar för att växla till andra bakgrundstyper, samt tre knappar för att skapa nya data i form av punkter, linjer och områden.

Skärmbild från 2014-01-02 11:22:10

Jag skall lägga till byggnader så jag väljer ”område” och klickar ut min första byggnadspolygon och avslutar med att klicka på sista brytpunkten en extra gång. Sedan klickar jag i området och får upp en hjälpmeny där jag väljer att göra hörnen rätvinkliga, vilket rättar till mina lätt skeva hörn något.

Som framgår av bilden ovan så finns det tangentbordsgenvägar till det mesta och nytt område skapas genom tangenten ”3” och räta hörn med ”s”. Mycket praktiskt för att slippa flacka runt med musen så mycket.

Området är inte så mycket värt förrän man satt vissa grundläggande attribut. Detta görs med området markerat till vänster i bilden.

Alla typer är indelade i kategorier och i mitt fall så väljer jag ”Building” och därefter ”Hus”. Sedan fyller jag i de attribut jag känner till, vilket kan kompletteras senare när jag varit på plats. Det går även att söka efter lämpliga attribut, men även skapa egna. Här vill jag dock varna lite, eftersom det lätt bildas attribut som är väldigt lika och egentligen betyder samma sak, så undvik i det längsta att skapa nya.

Ny byggnad (”3”) markera hörnen på ett garage, rätta till hörnen (”s”) och välj typ, i detta fallet ”Building”, ”Byggnad” och attributet ”Garage”.

Sedan jobbar man sig bara runt tills man är nöjd.

Skärmbild från 2014-01-02 12:29:47

Jag passar även på att lägga till några stigar som saknas och sedan ”kisar” jag lite med ögonen och lägger till den skog som finns runt området. När allt är klart så är det bara att spara.

Skärmbild från 2014-01-02 12:32:52

Så gott som omedelbart efter det att data sparats kan man granska dem i Open Street Map (bilden ovan). Andra tjänster som bygger på OSM kan man få vänta lite på innan dessa ändras, inte minst på grund av att dessa cachar data i stor utsträckning, men så småningom så ändras även dessa. Speciellt länge kan man få vänta på renderade kartor baserade på ”tiles” såsom Stamens ”toner-karta” med svart-vitt, men förr eller senare så uppdateras även dessa.

2014, den fria kartans år?

Danmark har gjort det, lika så Finland och Norge till stor del. Gjort vadå? Jo släppt geografisk information fri, utan krav på betalning via licenser med mera.

I Sverige, som lägger stora summor på inhämtning av geografisk information, har man inga sådana planer för närvarande. Men varför gör våra grannar på detta vis?

Naturligtvis så tappar man intäkter till att finansiera sin inhämtning, men man räknar samhällsekonomiskt att vinna på det. Genom att det skapas nya arbetstillfällen baserade på den stora mängden tillgängliggjorda data, där företag skapar nya tjänster genom att kombinera dessa data med andra typer av geografisk information på en växande marknad. Tjänster som annars skulle blivit på tok för dyra för marknaden. Dessa nya arbetstillfällen genererar i sin tur skatteintäkter, som kan användas för att finansiera fortsatt inhämtning av geografisk information.

Man räknar också med att göra besparingar när olika statliga och kommunala myndigheter inte behöver betala ganska stora belopp för att använda dessa data.

Att räkna på vilka effekter motsvarande åtgärder skulle få i Sverige är inte riktigt min starka sida, men enligt NyTeknik (Artikel 2 Oktober 2013) så inbringar geodataförsäljning ca 100 miljoner kronor årligen i Sverige. En del av dessa pengar kommer från andra myndigheter så en motsvarande summa i skatteintäkter netto kanske blir 300 – 400 arbetstillfällen??? Men som sagt ta dessa siffror med en stor nypa salt eftersom jag inte är ekonom och har väldigt tunt underlag att basera mitt antagande på.

Fria kartor nu!

Men varför vänta? Redan idag så finns det fria kartor över Sverige, som i och för sig har brister men detta kan vi tillsammans göra något åt.

Open Street Map (OSM) är inte bara en vägkarta utan finns i flera olika versioner med olika användningsområden, och data från OSM används i massor av kartor och tjänster världen över utan att det kostar någonting.

Detta är möjligt eftersom dataägare gör sina data tillgängliga för andra via OSM, och att privatpersoner samt mindre organisationer hjälper till att dels samla in lokala data och dels använda de ypperliga verktyg som finns i OSM för att skapa och redigera dessa data.

Om man öppnar OSM och granskar kartan i lite mer detalj så märker man snabbt att upplösningen och detaljerna skiljer sig åt mellan olika områden. En del platser är betydligt mer detaljerade än andra men om just du bor i ett område med få detaljer så kan du själv enkelt bidra till att förbättra detta.

I morgon så tänker jag visa hur detta går till i en praktisk artikel, och det är ganska tillfredsställande att se att de små ändringar eller tillägg man gör nästan omedelbart får genomslag i en rad olika tjänster runt om på Internet.

Kan man då lita på OSM? Svaret är rent krasst: Nej, det kan man inte… Det finns ingen som garanterar att kartan är korrekt. Det finns ingen man kan stämma om något går fel när man använder dessa data. Men det är heller inte en liten organisation som skall granska enorma mängder information för att garantera detta, utan en enorm organisation som var och en har ganska lite data att kontrollera… Den som upptäcker ett fel kan enkelt rätta till dessa fel själv, så även om det ibland blir fel så är det betydligt fler som jobbar för att det skall bli rätt.

Bädda in kartor enkelt

Det finns en karttjänst jag kommer att återkomma till lite de närmaste veckorna som jag tycker är väldigt viktig för alla som håller på med kartor på nätet.

Open Street Map, eller kartornas Wikipedia, som kanske inte är den bästa kartan när det gäller innehåll, men i många fall den som är ärligast!

Läs bland annat http://blog.emacsen.net/blog/2014/01/04/why-the-world-needs-openstreetmap/ för lite tänkvärda synpunkter.

Detta inlägg skall handla om hur man kan använda Open Street Map (OSM) för att lägga till inbäddade kartor med egna data på en hemsida.

Skärmbild från 2014-01-05 21:57:43Klicka på kartan för att öppna den ”LIVE”

Med uMap (http://umap.openstreetmap.fr/en) så går detta att göra enkelt. Det finns en mängd alternativa bakgrundskartor från just OSM och det går att lägga till egna data i GeoJSON format (med flera) och skapa egna vektorlager direkt i applikationen, såsom jag gjort i bilden ovan.

Det finns länkar till iD som är en utmärkt editor för OSM-data direkt i webbläsaren, men framför allt så kan man spara sina kartor och få direktlänkar till såväl kartorna i helt fönster som i kod för att bädda in på andra sidor.

En av finesserna är att man kan låta andra vara delaktiga i redigeringen av de lager man skapar ovanpå OSM. Vill man hålla kartorna ”privata” så kan man välja att bara låta dem med länken se kartan och själv vara den enda som kan redigera.

Har man önskemål om en annan tile-server så kan man även fixa det.

Skärmbild från 2014-01-05 22:27:38

Prova gärna själva, helt annonsfritt och kostar inte en krona. Perfekt för stat och kommun som inte vill använda Google Maps… (Länk till kartan ovan).