Lav geodatavisualiseringer med MapCSS af OpenStreetMaps talværdier

(Artikelserie Dit og mit kort, 241). Vi vender i det syvende afsnit om Overpass søgninger tilbage til MapCSS (se afsnit 3,4 om MapCSS). Denne gang vil jeg se på talværdier i tags (key=ETTALHER) fra OpenStreetMap.

Første case – vi vil vise trapper (tag highway=steps) hvor antallet af trappetrin (tag step_count=ETTALHER) er blevet talt af OpenStreetMap frivillige. Dernæst vil vi vise tydeligt, hvor trapper med mange trin befinder sig. Som demo tager vi trapper med optalte trappetrin i Frederikssund Kommune (prøv søgningen her).

MapCSS
(Billede – MapCSS )

I venstre side nederst i søgesiden er MapCSS udformet, så antallet af trin giver en større blå cirkel på OpenStreetMap kortet jo flere trin der er. Du kan klikke på en cirkel og få geodata oplyst om trappen. Centrum af cirkel er der hvor trappen befinder sig.

Trappetrin optælling i Frederikssund
(Billede – Trappetrin i Frederikssund)

Du kan prøve at ændre farveværdierne og tallet i “3.50*Math.sqrt” i MapCSS delen samt en anden kommune og så klikke på “Søg” knappen. Nu er alle trapper og trappetrinene i OpenStreetMap ikke blevet talt op endnu. Du kan så på din næste løbetur eller gåtur få talt disse manglende trapper op i dit lokalområde.

Anden case – Vi vil vise antallet af cykelparkeringspladser (tag amenity=bicycle_parking & capacity=ETTALHER) i Københavns Kommune. (prøv søgningen her). Jo flere cykelparkeringspladser jo større grøn cirkel på kortet. Og igen er centrum af cirklerne der, hvor cykelparkeringspladserne befinder sig.

Cykelparkering Holmen
(Billede – Cykelparkeringspladser på Holmen)

Prøv i Overpass søgningen at angive en anden kommune og klik så på “Søg” knappen. Det skal så nævnes her, at alle cykelparkeringspladser i København ikke er blevet optalt endnu og lagt i OpenStreetMap. Det er så en udendørs OpenStreetMap kortlægningsaktivitet, du kan lave for dit lokalområde, uanset hvor i landet du befinder dig.

Mine to cases her skulle gerne vise at mange kortlægningsaktiviteter i OpenStreetMap regi sker ved udendørs geodataindsamling, du kan ikke på et luftfoto afgøre fx antal trappetrin. Så som frivillig i OpenStreetMap kan det give masser af frisk luft og motion disse ture ud på feltarbejde.

Mit næste afsnit om Overpass søgninger skal handle om, hvordan finder du geografiske objekter som mangler at få et bestemt tag fx hvilke trapper i et lokalområde har ikke fået talt antal trappetrin op endnu.

GitHub Gist understøtter nu GeoJSON/TopoJSON

For et par måneder siden rullede GitHub en automatisk kortrendering (lag ovenpå) af delte GeoJSON filer ud (jeg skrev to indlæg 1 om dette,2). GeoJSON filerne bliver lagt oven på et OpenStreetMap baseret kort fra Mapbox.

Nu er samme funktionalitet blevet rullet ud for GitHub Gist delen. For at dele en GeoJSON eller TopoJSON fil i en Gist skal du først have en GitHub konto samt være logget ind. Som case tager vi Danske Strandnumre og hvordan sådan en Gist virker/oprettes. Først skal du have geodata i GeoJSON/TopoJSON format. I vinduet for Gist, så “drag & drop” filen fra din computer og over i feltet til data for en Gist.

Gist vindue
(Billede – drag & drop af GeoJSON fil)

Skriv en kort beskrivelse om geodata oppe og klik så på “Create Public Gist” knappen nede.

datavinduet hos Github Gist
(Billede – Oprettelse af Github Gist med GeoJSON fil)

Du vil nu kunne se et kortmashup med GeoJSON filen som indeholder 1582 steder med strandnumre oplysninger i Danmark.

Kortmashup
(Billede – Kortmashup af strandnumre GeoJSON fil)

Ude i venstre side finder du mulighed for at indlejre det samme kortmashup på din egen hjemmeside eller download data for Gist.

Deling af GeoJSON muligheder
(Billede – Indlejring, download og link til strandnumre GitHub Gist)

Der er også link til råformat af GeoJSON filen (se dette her) som fx QGIS softwaren kan kalde op (se min guide til dette her).

Med GitHubs to tiltag inden de sidste to måneder er det hele bleve lidt nemmere at dele geodata på en let og nem måde.

Hvad er der sket siden sidst søgninger med Overpass Turbo

(Artikelserie Dit og mit kort, 240). Det sjette indlæg med Overpass søgninger skal handle om tidsstempler (afsnit 1,2,3,4,5). Lad os forestile du vil vide i dit lokalområde, hvilke nye geografiske objekter af en bestemt type (fx tag = key +value) der er blevet tilføjet/ændret siden en bestemt dato. Alle geografiske objekter der lægges ind i OpenStreetMap får et tidsstempel (der bruges UTC (Zulu) tid som datatid) og dermed er det også søgbart. Overpass har også denne mulighed for at søge i disse tidsstempler.

Vi tager som Overpass casen i dag – Vis mig alle butikker (tag – shop=XXbutiktype), der er blevet tilføjet/ændret i Holstebro Kommune siden 1. juli 2013. (prøv søgning her)

Overpass Turbo søgning med tid
(Billede – Holstebro Kommune Overpass søgning efter tidsstempler for butikker)

I venstre side af Overpass Turbo vinduet vil du i søgningen se følgende søgeargument <newer than="2013-07-01T00:00:00Z"/>. Grunden til at du ser det tidsstempel søgeargument gentaget tre gange er, at en butik (tag – shop) kan være lagt ind i OpenStreetMap som et enkelt punkt , et område (som regel i en bygningspolygon) eller i en relation (som regel multipolygon af bygning). Så for at fange i Overpass søgningen alle indførsler skal det gentages det tre gange.

Holstebro Kommune
(Billede – Output af søgninger efter tidsstempler)

Du kan prøve at ændre i Overpass søgningen til din egen kommune, benytte nogle andre tags og ændre i tidstempel osv.

Søgning efter tidsstempler kan også være praktisk, hvis du afholder et mapping party – Nye frivillige kan ved selvsyn se hvad der er sket i tilførelsen af nye geografiske objekter til OpenStreetMap og der kan laves en interaktiv visualisering af dette tidsrum. Du kan fx se den visualisering jeg lavede efter et mapping party afholdt hos firmaet Magenta ApS i 2012.

Næste afsnit om Overpass Turbo vil handle om en helt ny funktion i Overpass, som bliver kald “Difference-Operator”, hvilket bedst kan beskrives som værende en “NOT” søgeoperator.

Søg efter mange geografiske objekttyper i et hug med Overpass Turbo

(Artikelserie Dit og mit kort, 239). Femte afsnit om Overpass Turbo skal handle om søgeoperatoren “OR” (afsnit 1,2,3,4). Du vil fx vide hvilke 3 forskellige geografiske objekttyper, der findes i et bestemt område i OpenStreetMaps database. Du har så 3X Tags ( 3X keys + 3X values) der skal ledes efter i kun en Overpass søgning.

Vi kan tage som case, at vi skal finde geodata om alle værtshuse (tag amenity=pub), cafeer ( tag amenity=cafe) og alle fastfood steder (tag amenity=fast_food) i et område, som OpenStreetMap frivillige indtil videre har lagt ind. Søgning til Vesterbro området kan prøves her. Du kan flytte kortet til dit eget lokalområde og så klikke på “Søg” knappen.

I venstre side af Overpass Turbo har vi, hvordan søgningen skal se ud.

Overpass søgninge med OR
(Billede – Overpass søgning med “OR” funktion)

Det er følgende “k="amenity" regv="pub|cafe|fast_food” i søgningen, der fungerer som en “OR” operator.

Jeg har derudover tilføjet noget MapCSS, så man kan skelne hurtigt på kortet, hvornår vi har et værtshus (blå), cafeer (rød) eller fastfood steder (sort). Og igen skal nævnes at hvis du ved der mangler nogle – så kan disse POIs lægges ind i OpenStreetMaps database og dermed værdiberige geodatabasen endnu mere.

Vesterbro
(Billede – Vesterbro søgning efter værtshuse, cafeer og fastfood steder)

Næste afsnit om Overpass Turbo vil handle om en helt tny funktion i Overpass, som bliver kald “Difference-Operator”, hvilket bedst kan beskrives som værende en “NOT” søgeoperator.. Jeg har ændret det til Overpass søgninger med tidstempler i denne serie.

MapCSS af OpenStreetMaps indhold af 404 og atomprøvesprængninger

(Artikelserie Dit og mit kort, 238). Det fjerde afsnit om Overpass Turbo fortsætter med MapCSS (afsnit 1,2,3). Denne gang om brugen af ikoner i MapCSS.

Her kan vi starte med at lave en Overpass søgning efter husnumre i Danmark, som har 404 (tag addr:housenumber=404 ) i adressen.

404 adresse
(Billede – 404 husnummer fra Nordsjælland)

Hvis du går ned i Overpass Turbo søgesyntaksen i billedet (søgning kan prøves her), hvor MapCSS starter.

MapCSS med ikonstil
(Billede – MapCSS syntaks med ikonbrug)

Her vil du se at i MapCSS, så er det bare et link til et ikon lagt ud på Dropbox og det vil så i Overpass Turbo kortet til højre vise et 404 ikon.

404 ikon på Overpass Turbo
(Billede – 404 søgning i Nordsjælland)

Du kan klikke på ikonerne for at få mere at vide eller du kan eksportere de fundne geodata (se afnit 2 om dette).

Vi tager et eksempel mere med Overpass Turbo – Vi vil finde alle de steder i Algeriet, hvor der blev lavet atomprøvesprængninger i 1960’erne (tag military=nuclear_explosion_site) (prøv søgning her).

Algeriet - atomprøvesprængninger
(Billede – Atomprøvesprængninger i Algeriet)

Du skulle gerne se et atompaddehat ikon i Overpass Turbo kortet til højre med stederne. Igen er det muligt at hente disse geodata ud fra OpenStreetMap og arbejde videre med.

Næste afsnit om Overpass Turbo vil dreje sig søgeoperatoren “OR” – Vi har i denne Overpass Turbo serie kun berørt “AND” og så wildcard søgninger (Wikipedia eksemlet i afsnit 1).

Brug MapCSS i Overpass Turbo søgninger

(Artikelserie Dit og mit kort, 237). Det tredje af snit om Overpass Turbo skal handle om brugen af MapCSS (afsnit 1,2). Et geografisk objekt kan i OpenStreetMap regi godt have forskellige egenskaber. Så for at lave en Overpass søgning der finder alle geografiske objekter af type X, men har forskellige egenskaber, så kan MapCSS bruges til at visualisere disse forskellige egenskaber. Dette kan bruges for hurtigt at kunne skelne forskelle i output på kortet.

Vi tager bænke som en Overpass Turbo case. En bænk (tag amenity=bench) kan tagges med om, der er ryglæn eller ej. (tags backrest=yes eller backrest=no). Det er ikke noget krav i OpenStreetMap regi, at man absolut skal tilføje en af disse to egenskaber (tags backrest=yes/no) for at lægge en bænk ind i OpenStreetMap.

Bænk
(Billede – Bænk ved Græse Bakkkeby)

Jeg laver nu en Overpass søgning efter alle bænke i et område og tilføjer lidt MapCSS, der så vil tage højde for at bænke har/kan have forskellige egenskaber (prøv søgning her).

Overpass Turbo med MapCSS
(Billede – MapCSS og Overpass syntaks)

I venstre side, hvor søgningssyntaks befinder sig, så nederst er MapCSS syntaksen angivet. Bænke med ryglæn vil blive vist med blå farve på kortet til højre – uden ryglæn er vises med en brunlig farve. Hvis bænken ikke er blevet angivet med nogle af de to egenskaber, vil det blive vist med en grålig farve. Prøv evt. selv søgningen ved at flytte kortet i højre side hen til dit lokal område og klik så på “Søg“. NB OpenStreetMap Danmark har ikke alle bænke registreret, men hvis du synes der mangler nogle offentlige bænke i dit lokal område, er du velkommen til at kortlægge disse.

Overpass Turbo - søgning
(Billede – Bænke i Jægerspris Slotspark)

Hvis du undrer dig over “area[backrest=yes]” i MapCSS – Hvordan kan en bænk være en polygon (area)? De fleste bænke er også angivet i OpenStreetMap som et enkelt punkt, men der kan findes bænke, der er så store at den OpenStreetMap frivillige har valgt at indtegne den som et område og ikke som et enkelt punkt(se globale tal for bænke hos taginfo her).

Hvis du bruger MapCSS og deler dine søgninger (omtalt i afsnit 2), så er det en god ide øverst i søgningen at beskrive hvad søgningen leder efter og hvordan det så bliver visualiseret med farver osv.

Bemærk MapCSS er altså ikke nogen standard. Det kaldes bare MapCSS fordi det har samme syntaks opbygning som CSS til HTML elementer.

Næste afsnit i denne serie med Overpass Turbo er MapCSS med brug af egne ikoner (hvis du ikke allerede har gættet hvordan).

Del geografiske objektsøgninger samt eksporter geodata med Overpass Turbo

(Artikelserie Dit og mit kort, 236). Her er andet afsnit af hvordan du kan bruge Overpass Turbo til at lave geografiske informationssøgninger ind i OpenStreetMaps geodata (afsnit 1). Denne gang vil vi se på, hvordan du kan dele informationssøgninger med andre samt lave eksport af geodata i GeoJSON format.

Først ser vi på deling af søgninger og her bruger vi casen med drikkevandsposter kun fra Frederikssund Kommune (søgning kan ses her).

Søgning efter drikkevandsposter i Frederiksund Kommune
(Billede – Søgesyntaks vist i Overpass Turbo)

Det er en god ide før du deler en geografisk informationssøgning at skrive en kommentar i søgningen (vist øverst i venstre side af Overpass Turbo). Kommenataren skal forklare hvad det er søgningen går ud på. Derved kan dine modtagere bedre forstå konkret hvad der søges efter. Når du er klar til at dele, så gå op og klik på “Del” knappen.

Deling af søgning i Overpass Turbo
(Billede – Deling af søgning vist i Overpass Turbo)

Sæt hak i “inkludere kortets område” og “Udfør denne søgning lige så snart den er indlæst” – Dernæst kopier linket. Dette link vil nu sende dine modtagere direkte hen til området samt søgningen vil blive udført automatisk. Manglende hak i ““Udfør denne søgning lige så snart den er indlæst” – betyder at dine modtagere lige skal klikke på “Søg” knappen først. Deling af disse søgninger kan fx bruges hvis I er et par stykker i et lokal område til at undersøge et eller andet emne i stil med “Er det virkelig rigtig at der ikke er flere geografiske objekter af type XX i område NN?”.

Eksport af geodata via Overpass Turbo – Efter en søgning er blevet udført i Overpass Turbo kan du hente geodata – Her er der GeoJSON eller XML format at vælge imellem. GeoJSON er mest praktisk, hvis du skal lave mashups med dine eksporterede geodata. Du går op under “Eksporter” > “Geodata” og klik på fx “som geoJSON” – Nu hentes geodata ned på din computer.

Eksport af geodata i Overpass Turbo
(Billede – Eksport af geodata vist i Overpass Turbo)

Jeg har lagt en kopi af ovenstående drikkevandsposters geodata eksport i GeoJSON format ud på Dropbox (link her). Software programmer som QGIS kan håndtere GeoJSON format nemt. I billedet nedenfor har jeg importeret GeoJSON ind i QGIS og baggrundskortet er Stamens Toner (Toner er bygget på OpenStreetMaps geodata).

Drikkevandsposter indlæst i QGIS
(Billede – Drikkevandsposter indlæst i QGIS)

Sidste eksempel i denne omgang med informationssøgning i et bestemt område. Her har jeg sat militærområder i Nordkorea søgning op (link til søgning her)-

Militær områder
(Billede – Militære områder i Nordkorea)

Som altid søgningerne bliver ikke bedre end det indhold der er lagt ind i OpenStreetMap. Så hvis du ved der mangler noget, er det oplagt at du selv smider det ind.

Næste indlæg med Overpass Turbo vil berøre MapCSS og hvad det så kan bruges til.

Hyperlokale geodataanalyser med dansk version af Overpass Turbo

(Artikelserie Dit og mit kort, 235). Hvis du fik læst mit sommerindlæg med at indsamle drikkevandsposter til OpenStreetMap, så bemærkede du måske at det er relativt simpelt at lave lokale geodata informationsøgninger efter bestemte geografiske objekter via Overpass Turbo ( prøv evt. søgningen her). Denne søgning søger så kun i den geografiske afgrænset firkant af kortudsnittet som du ser.

Hvad nu hvis man vil afgrænse søgningen til en bestemt kommune? Dette er intet problem med Overpass Turbo. Fx denne her søgning leder kun efter drikkevandsposter i Frederikssund Kommune.

Drikkevandsposter i Frederikssund Kommune
(Billede – Fundne drikkevandsposter i Frederikssund Kommune)

Når søgningen er udført så vil der nede i højre hjørne af kortet vil der nu stå hvor mange geografiske objekter OpenStreetMap har af drikkevandsposter i Frederikssund Kommune.

Drikkevandsposter i Frederikssund Kommune
(Billede – oplysninger om antal drikkevands objekter fundet)

I venstre side af Overpass Turbo er der et søgevindue. I dette vindue kan du skrive/lave andre søgninger i. Syntaksen er her opbygget i en XML lignende stil. Det vigtigste er at huske at alle tags i OpenStreetMap er opbygget på følgende vis.

tag = key + value fx amenity[key] og drinking_water[value]

Så hvis jeg fx vil søge efter cykelforretninger (tag = shop + bicycle) i Roskilde Kommune så er søgesyntaksen (se i billede) her.

Cykelforretninger i Roskilde Kommune
(Billede – Søgesyntaksen for cykelforretninger i Roskilde Kommune)

Indtil videre har vi så kun prøvet søgninger, der har faste “Key + Value“. Men hvad nu hvis en “value” er forskellig fra det ene geografiske objekt til det andet? Dette er fx tilfældet med Wikipedia artikler. Den slags søgninger er også lette at lave. Se denne her søgning som kun leder efter Wikipedia artikler i Langeland Kommne. Bemærk at “value” elementet er fjerne fra XML søgesyntaksen. NB alle “key” elementer i OpenStreetMap skrives med småt, så det er ikke en fejl at der skrives “wikipedia” for key elementet.

Søgning efter Wikipedia artikler
(Billede – Søgesyntaks Wikipedia artikler i Langeland Kommune)

Vedr. Langelands søgningen så ved jeg at Wikipedia Danmark har flere geotagget artikler end der bliver fundet via Overpass Turbo (indtil videre). Dette betyder så at OpenStreetMap frivillige kan gå i gang at koble endnu flere Wikipedia artikler sammen med geografiske objekter i OpenStreetMap. Overpass Turbo kan bruges som værktøj til at se hvad der evt. mangler af geografiske objekter i et lokal område.

Hvis du skal arrangere et OpenStreetMap Mapping Party (ældre OpenStreetMap frivillige møder nybegyndere og introducere dem til OpenStreetMap universet) kan du også bruge Overpass Turbo som idekatalog fx hvad er der af statuer/mindesmærker i lokalområdet og så lade det være temaet for mapping party.

Overpass Turbo giver også mulighed for at gemme dine søgninger – Klik på “Gem” knappen oppe, når du har lavet en interessant søgning du vil gemme.

Gem søgning
(Billede – Gem søgning i Overpass Turbo)

Du henter dine gemte søgninger frem igen under “Indlæs” knappen placeret oppe.

Gem søgning
(Billede – Indlæs gemte søgninger i Overpass Turbo)

De kommende artikler vil handle om hvordan du deler søgninger, eksporter geodata (XML eller GeoJSON format), laver endnu mere specielle geodatasøgninger samt laver CSS lignende styling af søgninger med MapCSS i Overpass Turbo. Overpass Turbo er udviklet og vedligeholdes af Martin Raifer og Openpass Turbo er lagt ud som open source på GitHub.

Overpass Turbo er ikke beregnet til fx download/visning af alle geodata i Danmark i et hug. Jeg henviser her til Geofabriks daglige lande download arkiv.

Foursquares hvervekampagne til OpenStreetMap er skudt i gang

(Artikelserie Dit og mit kort, 234). For lidt over et år siden skiftede Foursquare til et MapBox udviklet kort, som igen er bygget på OpenStreetMaps geodata. I onsdag lancerede Foursquare i første omgang for deres superbrugere i UK, Australien, Brasilien og Tyskland en “Edit map” funktion. Det går kort fortalt ud på, hvis du er “Mayor, o.lign” for et eller andet sted (POI – check-in), så vil du lige nede under dette sted på kortet inden i Foursquare brugergrænseflade, se et “Edit Map” link.

Hvis stedet er forkert placeret eller der mangler måske veje/stier op til dette sted, så vil Foursquare superbrugerne ved et klik på dette link kunne blive sendt direkte til den nye OpenStreetMap iD editor. Dernæst lave nogle rettelser og sende disse redigeringer til OpenStreetMaps database. Få minutter senere vil disse geodata blive sendt til MapBoxs database, og ny rendering af kort vil ske. Dernæst vil Foursquare brugere kunne se disse nye tilføjede veje, stier, bygninger mm.

foursquare

Første gang en superbruger fra Foursquare vil prøve denne nye funktion, så bliver hun/han bedt om at oprette en OpenStreetMap brugerkonto. Derefter så vil der kunne tilføjes/rettes/slettes geodata via iD editoren. Såfremt dette tiltag i nævnte fire lande bliver en succes, så er det ikke utænkeligt at det rulles ud i resten af verden for Foursquare superbrugerne. Foursquare har en brugerbase på 33 millioner mennesker verden over, og hvis bare et gennemsnit på 2600 nye frivillige kunne bliver daglige bidragsydere til OpenStreetMap, så er det dobbelt op i forhold til hvad OpenStreetMap har af daglige bidragsydere pt.

Foursquare har i nogle områder af verden og selv i landområder i vestlige lande flere POIs end OpenStreetMap pt. Det er POIs som fastfood, restauranter, butikker, ishuse, blomsterbutikker osv., disse er OpenStreetMap naturligvis meget interesseret i. Det er så alle, der bruger OpenStreetMaps geodata dette kommer tilgode og ikke kun Foursquares brugere. Nu er det ikke alt OpenStreetMap kan bruge fra Foursquare fx checks-ins hos “Grøn Koncert, Glastonbury Festival, Copenhagen Jazzfestival”. Det er jo ikke geografisk objekter, man kan gå ud og finde det meste af året på et kort.

En anden ide for at skabe endnu mere vækst kunne være at lave et geodata sammenligningslag mellem Foursquare og OpenStreetMap, som skulle kunne kaldes fra iD editor, Potlatch2 eller JOSM værktøjerne. Dette geodata skulle gå på match “name=XXnavn” i Foursquare med “name=XXnavn” i OpenStreetMap indenfor en radius af måske 100 meter. Der hvor navne ikke findes samt ikke matcher noget i OpenStreetMap (rettere et near match pga folk kan stave navnene på POIs forskelligt), så skulle der laves en geodatalag kandidatliste af Foursquares POIs. Ældre og erfarne frivillige fra OpenStreetMap kan så afgøre om, disse POIs fra OpenStreetMap skal lægges ind i OpenStreetMaps database.

Nu må vi vente og se om Foursquares nye tiltag giver bonus i form af mange nye OpenStreetMap frivillige. Hvis du ikke allerede er i gang, så kan du jo selv blive OpenStreetMap frivillig fra i dag. Fx en god start til OpenStreetMap er undersøge om alle steder du har besøgt i din ferie, er lagt ind i OpenStreetMap, hvis ikke så læg dem ind.