Näytetään tekstit, joissa on tunniste Mac. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste Mac. Näytä kaikki tekstit

sunnuntai 19. huhtikuuta 2015

KML to GeoJSON to TopoJSON on Mac OS X

These introductions help you to convert a KML file to TopoJSON which allows you to reduce filesize.

Converting KML to TopoJSON


# Get KML (File -> Download -> KML)
https://www.google.com/fusiontables/DataSource?docid=153JjwSASwB6C4r1o0itwZr7imkDfuedEGIjk4LHr#map:id=3

# Install node via ports or brew (if not yet available)
port install npm
brew install node.js

# Install togeojson (might need admin privilidges)
npm install -g togeojson

# Rename file to data.kml
cd Downloads
mv Kuntarajat\ 2015.kml data.kml

# Convert KML to GeoJson with togeojson
togeojson data.kml > data.json

# Install topojson (might need admin privilidges)
npm install -g topojson

# Convert GeoJson to TopoJson
topojson data.json -o data.tjson -p Name

# Simplify if needed
topojson data.json -o data.tjson --simplify-proportion=0.5 -p Name

# Use tools to determinate appropriate simplify value
http://www.mapshaper.org/
http://shancarter.github.io/distillery/



Implementation guidelines


# Get TopoJSON library
https://github.com/mbostock/topojson

# In your implementation define a map
var map = new google.maps.Map($('.map_container')[0], {
    center:new google.maps.LatLng(60.25, 24.87),
    mapTypeControl:false,
    mapTypeId:google.maps.MapTypeId.ROADMAP,
    minZoom:9,
    overviewMapControl:true,
    panControl:true,
    scaleControl:false,
    streetViewControl:false,
    zoom:yleApp.zoom,
    styles:styler,
    zoomControl:true
});

# Attach polygons to the map
$.getJSON('data.tjson', function (data) {
    yleApp.map.data.addGeoJson(topojson.feature(data, data.objects.data));
});

# Define polygon styles
yleApp.map.data.setStyle(function (feature) {
  return {
    cursor:'pointer',
    fillColor:'#f00',
    fillOpacity:0.6,
    strokeColor:'#666',
    strokeWeight:0.5
  }
});

# Attach listeners
map.data.addListener('mouseover', function (event) {
  yleApp.map.data.overrideStyle(event.feature, {
    fillOpacity:0.8,
    strokeWeight:1
  });
});

map.data.addListener('mouseout', function (event) {
  map.data.revertStyle();
});

maanantai 2. tammikuuta 2012

Gource:n asentaminen: OS X Lion


Hyödynsin edellisessä viestissäni visualisointikomponenttia nimeltä Gource. Olen aikaisemmin käyttänyt Gource:a Windows-ympäristössä, jossa sen käyttöönottaminen on triviaalia, koska Gource tarjotaan .exe-tiedostona, jota voidaan käyttää ajamalla sille parametreja komentoriviltä.

OS X:llä Gource:n käyttöönottaminen ei ollut näin suoraviivaista, joten ajattelin, että voisi olla hyödyllistä kirjoittaa auki mitä kommervenkkeja kävin läpi saadakseni Gource:n toimimaan OS X Lionilla. Tämä ohje mukailee Matthew Hutchinson:n kirjoittamaa blogiviestiä.

1) Asenna MacPorts. .dmg-paketti on hyvä valinta jos et tiedä paremmasta. Tarvitset myös Xcode:n kuten asennusohjeissa mainitaan, joten asenna se ensin jos sinulla ei vielä ole sitä.

http://www.macports.org/install.php

2) Käytä MacPortsia asentaaksesi paketit, jotka Gource vaatii.

sudo port install pcre libsdl libsdl_image ftgl

Matthew:n blogissa mainittujen pakettien lisäksi tarvitset boost:n.

sudo port install boost

3) Asenna Git-versionhallintaohjelmisto mikäli sinulla ei sitä vielä ole asennettuna.

http://help.github.com/mac-set-up-git/

4) Kloonaa Gource:n viimeisin versio Git:stä.

git clone git://github.com/acaudwell/Gource.git Gource

5) Git:stä kloonatussa Gource:n versiossa ei ole mukana src/core-kansion tiedostoja, joten lataa Git:n .zip-paketti ja siirrä paketin src/core-kansion tiedostot Git:stä kloonattuun src/core-kansioon. Muussa tapauksessa kääntäminen hajoaa puuttuviin tiedostoriippuvuuksiin.

http://code.google.com/p/gource/downloads/list

6) Käännä Gource.

cd Gource
autoreconf -f -i
./configure && make && sudo make install


7) Aja Gource komentoriviltä. Ruudulle pitäisi ilmestyä esimerkki Gource-visualisointi.

8) Jos haluat tehdä Gource-visualisoinneista .avi-tiedostoja (esimerkiksi jotta voit ladata ne Youtubeen) asenna FFmpeg

sudo port install ffmpeg


Toivottavasti muistin oleelliset kohdat. Kaikki kommentit ja parannusehdotukset ovat tervetulleita.