Kuutio: Kartat

Helsingin karttojen vertailusivu

5.11.2009 klo 10:15

Sain valmiiksi ensimmäisen version Historiallinen Helsinki -sivusta, jossa voi verrata helposti karttoja Helsingistä eri vuosilta. Ideoin tätä jo vuosi sitten. Seuraavat paikat ovat kartalla aika kiinnostavia vertailtavia:

  • Lastenkoti lastenkodinkadulla
  • Ruoholahden muutokset
  • Länsisatama
  • Kyläsaari ja verkkosaari
  • Kalasatama
  • Kaisaniemenkatu
  • Töölönlahti
  • Linjaluonnokset (kuudes linja!)

Tarkoituksena on tuoda sivulle lisää karttoja, tuunata käyttöliittymää (mahdollisesti aikajana ja navigaatiokontrollit) sekä tehdä jonkinmoinen selitysnäkymä, jossa voi tuoda esiin kiinnostavia yksityiskohtia kartalla.

Käsin piirrettyjä karttoja

3.6.2009 klo 14:14

Olisi hauskaa tehdä palvelu, jossa visualisoitaisiin karttoja uusin tavoin. Siis Google Maps -tyylinen saitti, jossa kartat eivät olisi tylsän karuja, vaan näyttäisivät vaikkapa merirosvokartoilta, 70-luvun modernilta sci-filtä tai jollakin muulla tapaa tyylitellyiltä.

Tällaisen voisi varmaankin toteuttaa Mapnikia tuunaamalla OpenStreetMapin datalla. Tuunaamista pitäisi kuitenkin tehdä jonkun verran, sillä Mapnikin perusrenderöinti perustuu siihen, että renderöijälle annetaan postscript-tyylisiä piirtokomentoja (“piirrä kolmen pikselin paksuinen musta viiva pisteestä x pisteeseen y”), minkä abstraktiotaso olisi liian matala hienojen karttojen tekemiseen. CloudMaden työkaluilla voi jonkin verran tuunata karttojen ulkoasua, mutta oikeastaan haluaisin tehdä vielä jotain selvästi rikkaampaa. Toinen vaihtoehto olisi tuoda vaan karttadata vaikkapa osm2pgsql-työkalulla tietokantaan ja sitten tehdä datalle aivan oma renderöijä.

Karttojen hienoa piirtämistä ei ole akateemisellakaan puolella tutkittu vielä turhan paljon — aiheesta voisi saada aikaan vaikkapa väikkärin. Berkeleyn visualisointilabrassa on tehty isometrisiä turistikarttoja. Stanfordissa on tehty kahdeksan vuotta sitten automaattisesti reittikarttoja.

Sitten vaan merirosvokarttapalvelu pystyyn, josta painettuja karttoja voisi ostaa vaikkapa viiden euron kappalehintaan tai t-paitoina. Palvelun voisi suunnata lapsille ja geocachettajille!

Oho, joku on hahmotellut jotain tämän suuntaista mutta vaan perus-Flash-filttereitä käyttäen. Oikeassa piraattikartassa pitää olla meressä lohikäärmeitä!

Erilainen samanlainen — uusi versio matka‑aikakartasta

10.3.2009 klo 22:37

Tein vielä uuden version matka-aikakartasta (ks. aikaisempi postaus). Kuvaa klikkaamalla pääsee isompaan versioon. Kuvassa valkoiset käyrät vastaavat 10, 20, 30, 40, 60 ja 90 minuutin matka-aikoja.

Python-skripti graafin piirtämiseksi matka-aikadatasta (graafi on vielä tämän jälkeen yhdistetty Googlen karttaan fotarissa):

import pylab, scipy, numpy, csv
import matplotlib.pyplot as pyplot
from scipy import signal, ndimage

# setup constants

MAX_VALUE = 120
SCALING = 10
SMOOTHING = 50
CONTOUR_LEVELS = [10,20,30,40,60,90]

# import data

fileName = 'routeDataGrid.raw'
w,h = 90, 80

sr = csv.reader(open(fileName), delimiter=',')
x,y = 0,0
Z = numpy.zeros((h,w))
for y, row in enumerate(sr):
   for x, item in enumerate(row):
      Z[y][x] = int(item)

Z = Z[::-1]
Z[Z>MAX_VALUE]=MAX_VALUE
Z[Z==-1]=MAX_VALUE

X, Y = numpy.meshgrid(numpy.arange(w), numpy.arange(h))

# interpolate

newx,newy = scipy.mgrid[0:1:complex(0,h)*SCALING, 0:1:complex(0,w)*SCALING]
coords = numpy.array([newx*(h-1), newy*(w-1)])

Z_large = ndimage.map_coordinates(Z, coords, order=3)
X_large, Y_large = numpy.meshgrid(numpy.arange(w*SCALING), numpy.arange(h*SCALING))

# smooth (this would be faster with fft)

def gauss_kern(size, sizey=None):
   size = int(size)
   if not sizey:
      sizey = size
   else:
      sizey = int(sizey)
   x, y = scipy.mgrid[-size:size+1, -sizey:sizey+1]
   g = scipy.exp(-(x**2/float(size)+y**2/float(sizey)))
   return g / g.sum()

G = gauss_kern(50)
Z_smooth = scipy.signal.convolve(Z_large, G, mode='same')

# plot contour

figsize=(numpy.array(Z_smooth.shape)/100)[::-1]
pyplot.rcParams.update({'figure.figsize':figsize})
pyplot.figure()
pyplot.axis('off')
pylab.imshow(120-Z_smooth, cmap=pyplot.cm.jet)
pyplot.contour(X_large, Y_large, Z_smooth, CONTOUR_LEVELS, colors='white', linewidths=1.5, linestyles='solid', antialiased=True)
pyplot.subplots_adjust(bottom=0.0, top=1.0, left=0.0, right=1.0, hspace=0.0, wspace=0.0)
pyplot.savefig('mapimage.pdf', format='pdf')

En ole vielä täysin tyytyväinen väritykseen. Idea valkoisista ääriviivoista tuli Chris Lightfootin toteuttamasta Lontoon matka-aikakartasta. Silti, ehkä vastaava kuva ilman ääriviivoja (mutta eri värisillä alueilla) olisi selkeämpi.

Chris Lightfootin ja Tom Steinberg kartasta on myös tehty interaktiivinen versio vuonna 2007. Siinä voi valita, kuinka pitkän työmatkan on valmis tekemään ja paljonko on valmis maksamaan asunnosta — kartta näyttää kaikki alueet jotka vastaavat näitä vaatimuksia.

Kiinnostava sivuhuomio: interaktiivisen kartan toteutukseen osallistui myös Tom Carden monia hienoja juttuja tekevästä Stamen Design -toimistosta. Tom Carden on tullut vastaan hienojen Processing-härpättimien tekijänä. ja joskus olen vilkuillut myös hänen Delicious-linkkilistaansa.

Kartta adjektiivein

9.12.2008 klo 19:04

Piirtelen uutta versiota kahden vuoden takaisesta kartasta.

Tällä kertaa ideana on, että haetaan jokaisen kaupungin osalta Wikitravel-sivustolta ensimmäisenä kaupungin kohdalta löytyvä adjektiivi ja sitä seuraavat substantiivit. Näistä sitten piirretään kartta. Sivujen hakemisen tein tällä kertaa Pythonilla ja adjektiivien tunnistamiseen käytin mainiota NLTK-kirjastoa.

NLTK:n käyttöön on hyvä tutoriaali Stream Hacker -blogissa ja myös NLTK:n oma Taggers-opas on hyvä.

En ole vielä aivan tyytyväinen tähän versioon kartasta. Katsotaan jos vaikka jaksaisin vielä parannella sitä fontin, kernauksen ja teksteissä olevien pikkubugien osalta. Myös ylösalaisin oleville teksteille ja pitkille riveille voisi tehdä jotain.

Tällä kertaa dataa on kerätty 2445 suurimmasta kaupungista Geonames-datajoukossa.

Tähän liittyen verkossa tuli vastaan Dorothy Gambrellin kartat Craigslist Missed Connections -palstalta. Gambrellin mainioita visualisointeja on Very Small Array -blogissa, mutta tunnetumpi lienee hänen Cat and Girl -sarjakuvansa.

Inspiraatiota kirjoista

30.10.2008 klo 13:16

Eilen oli pieni joulu, kun sain kirjapaketin Amazonilta. Paketissa oli kuusi kirjaa, joiden ajattelin voivan inspiroida uusiin ajatuksiin. Meidän lähiposti on huoltoasemalla, joka on kätevästi auki ympäri vuorokauden. Niinpä iltakävelyn jälkeen eilen puoli kymmeneltä pääsin avaamaan pakettia.

1. The Works: Anatomy of a City

Kirja vaikuttaa kiinnostavalta, hyvin kuvitetulta teokselta Sim City -tyyppiseen kaupunkirakentamiseen ja voisi tuoda uudenlaisia inspiraatioita sekä vaikuttaa siihen, kuinka katselee maailmaa.

2. The Elements of Typographic Style

Typografian perusteos, joka kyllä pitää löytyä kirjahyllystä.

3. Maps and Civilization: Cartography in Culture and Society

Kartta-aiheinen kirja, joka on mainittu melko kiinnostavassa Informaatioarkkitehtuuri-presentaatiossa. Kirjassa on erilaisia historiallisia karttoja ja muuta materiaalia. Kirja on myös Tuften lukulistalla.

4. How Buildings Learn: What Happens After They’re Built

Kirja siitä kuinka rakennusten käyttö muuttuu sen jälkeen kun ne on otettu käyttöön. Ennen-jälkeen-kuvia, jotka näyttävät miten yksittäiset rakennukset ovat muuttuneet vuosien saatossa.

5. You Are Here: Personal Geographies and Other Maps of the Imagination

Karttoja voi tehdä esimerkiksi sosiaalisista suhteista, konsepteista, yms. Tässä käsitelty kartografiaa laajasti. Kirjassa tuntuisi olevan lähinnä kuvia ja sisältö on jotakin mitä voisi olla vaikkapa Strange Maps -blogissa.

6. Mark Lombardi: Global Networks

Näin muistaakseni Lombardin verkkokuvia, tai ainakin jotain hyvin samankaltaista, Venetsian biennaalissa vuonna 2001. Kiinnostavaa, mikä kaikki voi olla taidetta. Ja nämä käsinpiirretyt verkkovisualisoinnit ovat hienoja!

Vanhojen karttojen copyrightit?

15.10.2008 klo 14:37

Mitenköhän, jos vaikka skannaisi vanhoja Helsingin karttoja kirjastossa, olisivatko ne vapaita tekijänoikeuksista? Vai onko ongelmana se, että niitä tuskin pääsee skannaamaan?

Lentokonekartta

10.4.2007 klo 9:31

Lentokoneessa tuli mieleen, että voisi tehdä hyvälaatuisen kartan lentomatkailijoille. Sellaisen, josta voisi arvioida, missä on menossa, näkisi aikavyöhykkeet ja muuta tietoa, joka voisi kiinnostaa lentomatkaajaa. Ikäänkuin parannettu versio kartoista, mitä on lentokoneiden lehtisissä.

Toinen vaihtoehto tietysti olisi tehdä tietokoneohjelma lentomatkailijoille. Mutta kartta olisi kyllä hienompi.

Verkot vai verkostot?

27.3.2007 klo 13:10

Hanna kommentoi “sosiaaliset verkot”-ilmaisua, jota käytän. Kuulosti kuulemma omituistelta luontevampaan “sosiaaliset verkostot”-käsitteeseen verrattuna. Sama näkyy myös pikaisessa google-testissä: “sosiaaliset verkot” saa 1300 osumaa kun “sosiaaliset verkostot” löytyy 23000 kertaa.

Pikaisella pohdinnalla “verkko” on teknisempi, staattisempi ja stabiilimpi. Se kuvaa pysyviä rakenteita jotka voidaan visualisoida graafeina. Sana “verkosto” puolestaan tuntuu dynaamisemmalta ja muuttuvammalta. Siinä toimijat eivät ole staattisia noodeja vaan vaikuttavat — ja vuorovaikuttavat toisiinsa. Esimerkiksi “palvelinverkosto” kuulostaisi jotenkin häilyvämmältä kuin “palvelinverkko”.

Miettimällä näiden eroa näen selvemmin oman, teknisen lähestymistapani edut ja haitat. Rajautuminen verkkoon ja verkkodataan rajaa helposti pois jotakin sellaista mikä verkoston tutkijalle tuntuisi luontevammalta. Toisaalta verkon tarkastelu kertoo jotakin yleistä ja ainakin hetkellisesti pysyvää rakenteista, se on eräänlaista verkoston tietyn ajanhetken kartoittamista ja tuon kartan tutkimista.

Kartta kaupungein piirrettynä

1.1.2007 klo 19:13

Tein joululomalla aikani kuluksi ohjelman, joka asettelee kaupunginnimiä kartalle oikeisiin paikkoihin siten, että niiden koko ja väri vastaavat mahdollisuuksien mukaan kaupungin asukaslukua ja että kaupungit ovat kohtisuorassa rantaviivaan nähden.

Tässä maailmankartassa, jonka Eurooppa-osio näkyy yllä, on 2341 kaupunkia. Maailmankartta pdf-muodossa (3,5 Mt).

Koodausympäristönä oli Processing ja karttadata on Geonames-sivustolta, jossa oli kätevästi kaikkien yli tuhannen asukkaan kaupunkien nimet Unicode-tekstitiedostossa Creative Commons -lisensoituna datasettinä. Niin, ja vektorimuotoiset karttaääriviivat helpossa Mercator-projektiossa löytyivät OMC-palvelusta.

Kartassa ei näy lainkaan maiden välisiä rajoja. Sen vuoksi yllättävät kaupungit korostuvat kartalla. Esimerkiksi Euroopan merkittävimmät metropolit näyttäisivät olevan Pietari, Moskova, Lontoo ja Istanbul. Esimerkiksi Berliini ja Pariisi ovat vasta seuraavaa kokoluokkaa. Myös Kiinan jättimetropolien lukumäärä on huima. Samoin kuin se, että ihminen on todella levittäytynyt melkein jokaiseen maailman kolkkaan.

Meidän idea prujattu?

18.10.2006 klo 22:21

Visualcompexityssä on kartta, joka esittää matka-ajan kaikkiin pisteisiin kartalla tietystä lähtöpisteestä.

Täsmälleen sama idea tuli meille mieleen pari vuotta sitten, ja toteutettiin siitä Annin kanssa yksi koulukurssin harjoituskin.

Kartta suomalaisista blogeista

6.9.2005 klo 13:07

Jere Majava on tehnyt osana blogitutkimustaan komean kartan suomalaisista weblogeista. Kartta perustuu siihen, mitkä weblogit linkittävät toisiinsa.

Kartassa on kiinnostavaa, kuinka neuleblogit muodostavat oman ryppäänsä blogosfäärissä, joka linkittää vain harvakseltaan muihin kuin neulebloggaajiin.

Tarkempaa tietoa menetelmästä.

Kari Haakanan kommentit aiheesta.

Reilumpi maailmankartta?

1.7.2005 klo 8:26

Saksalainen toimittaja ja historioitsija Arno Peters piti vuonna 1973 lehdistötilaisuuden, jossa hän kertoi kehittäneensä uuden, reilumman maailmankartan, joka ei vääristä maiden pinta-aloja. Kartta sai myönteisen vastaanoton, erityisesti sen ansiosta, että sitä markkinoitiin kehitysmaiden kannalta reilumpana karttana.

Peters ei ollut kuitenkaan ensimmäinen tällaisen kartan kehittäjä, vaan kunnia ideasta kuuluu ilmeisesti englantilaiselle James Gallille, joka teki saman keksinnön jo vuonna 1855. Muita, pinta-alan säilyttäviä karttoja oli kehitetty jo aikaisemmin.

About.comissa hyvä juttu Petersin kartasta, jossa sitä verrataan myös yleisempiin Mercator ja Robinson -projektioihin.

Progonos.comissa hyvä juttu karttojen perspektiiviprojektioista. Samalla sivustolla myös paljon muuta tietoa karttojen piirtämisestä.

Karttaprojektiot Wikipediassa

Päivän surffailtavat

14.3.2005 klo 9:57

Unphotographable on kuvablogi ilman ainuttakaan kuvaa.

Menetelmä kuvien värittämiseen. Taas ne tietokonegrafiikka-ihmiset ovat keksineet jotakin villiä. Tämä uusi menetelmä mahdollistaa esimerkiksi mustavalkoisten elokuvien muuttamisen melko helposti värillisiksi.

Gridskipper ilmoittaa olevansa urbaani matkailu-, yöelämä- ja kulttuuriopas.

Maproom on kartta-aiheinen verkkoloki.

Vääristymätön kartta maapallosta

8.1.2005 klo 23:00

Tavallinen seinäkartta maapallosta venyttää napoja, jonka vuoksi esimerkiksi Suomi näyttää kohtuuttoman suurelta. Tämän vuoksi on yritetty tehdä parempia karttoja, joissa vääristyminen olisi mahdollisimman pientä.

Yksi parhaista on Buckminister Fullerin Dymaxion Map, jossa maapallo on ensin projisoitu icosahedronille, 20-sivuiselle kappaleelle, ja sen jälkeen kappaleen pintakuvio on avattu tasoksi.

Kartta on tehty siten, että kaikki mantereet muodostavat ikäänkuin yhden suuren saaren, joka on keskellä suurta valtamerta. Mantereiden suhteet ovat kartassa hyvin erilaiset kuin perinteisessä, tutussa seinäkartassa. Mpeg-animaatio dymaxion-kartan avaamisesta.

Sälää

14.3.2004 klo 23:00

Ahosen Lauri uudisti portfolionsa, hakee töitä kesäksi. Paljon hienoja kuvia.

Super Mario josta on häkätty kaikki paitsi pilvet pois.

Käyntikorttien teko-ohjeet webbigraafikolle

Karttojen tekeminen PHP:llä [via Visa]

Ubuwebissä kaikenlaista kiinnostavaa, esimerkiksi keskusteluja Salvador Dalin kanssa.

good buys on software pirodr! 666