79
BRINGING CITIES TO LIFE USING BIG DATA AS SEEN IN VIZICITIES PRESENTED BY PETER SMART @PETEWSMART ROBIN HAWKES @ROBHAWKES

WebVisions – ViziCities: Bringing Cities to Life Using Big Data

Embed Size (px)

DESCRIPTION

Imagine being able to explore any city in the world in 3D in your browser. Now imagine being able to overlay data onto your city - transport, crime, pollution, social data and weather - all live and in real time…and it was open source! In this session Peter and Robin will talk about how they're creating ViziCities, an open-source, 3D visualisation platform, combining cutting-edge web technologies with open data to create beautiful visualisations. If you can’t imagine it…imagine SimCity for real life. We’ll discuss the power that new types of visualisation present for all of us to better see, understand and make decisions in our worlds. We’ll guide you through the technologies we're using, including D3 and WebGL, the design approach we’re using and share some important lessons learnt along the way. By the end, we hope to have inspired you to start experimenting with these technologies to create beautiful visualisations of your own.

Citation preview

Page 1: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

BRINGING CITIES TO LIFE USING BIG DATAAS SEEN IN

VIZICITIESPRESENTED BY

PETER SMART @PETEWSMART ROBIN HAWKES @ROBHAWKES

Page 2: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

REAL-WORLD CITIES IN 3D

VIZICITIES

Page 3: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

UX DESIGNER

PETER SMART

Page 4: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 5: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

UX DESIGNER

PETER SMART

Page 6: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

DIGITAL TINKERER

ROBIN HAWKES

Page 7: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 8: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

TWEET US

@VIZICITIES

Page 9: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

WHAT IS VIZICITIES?

Page 10: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 11: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 12: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 13: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 14: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 15: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 16: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

Cities are chaotic, complexand awesome.

Page 17: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

GETTING STARTED

Page 18: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 19: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 20: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 21: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 22: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 23: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 24: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 25: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 26: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 27: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 28: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 29: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

TECHNOLOGY

Page 30: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 31: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

WEBGL

THREE.JS

Page 32: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 33: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 34: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 35: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

CHALLENGES

Page 36: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

CHALLENGE

DEFINING WHERE ACITY ACTUALLY ENDS

Page 37: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 38: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 39: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 40: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

CHALLENGE

VISUALISING ANENTIRE CITY

Page 41: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 42: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 43: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 44: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

CHALLENGE

VISUALISINGCOMPLEX DATA

Page 45: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 46: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 47: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 48: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 49: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

Designers are the mediatorsof information.

Page 50: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

CHALLENGE

GETTING CITY DATAFOR FREE

Page 51: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 52: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 53: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 54: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 55: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 56: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 57: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

CHALLENGE

GETTING ACCURATEHEIGHT DATA

Page 58: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 59: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 60: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

var height;var scalingFactor = (tags["building"] === "office") ? 1.45 : 1;

if (tags.height) { height = this.toMeters(tags.height);} else if (!height && tags["building:height"]) { height = this.toMeters(tags["building:height"]);} else if (!height && tags.levels) { height = tags.levels * this.METERS_PER_LEVEL * scalingFactor <<0;} else if (!height && tags["building:levels"]) { height = tags["building:levels"] * this.METERS_PER_LEVEL * scalingFactor <<0;} else if (tags["building"]) { height = 10 + Math.random() * 10;}

height *= this.geo.pixelsPerMeter;

Page 61: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

CHALLENGE

TURNING 2D GEO DATAINTO 3D OBJECTS

Page 62: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

COORDINATE CONVERSION

D3.JS

Page 63: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 64: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

var geoCoords = [-0.01924, 51.50358]; // Central point as [lon, lat]var tileSize = 256; // Pixel size of a single map tilevar zoom = 15; // Zoom level var projection = d3.geo.mercator() .center(geoCoords) // Geographic coordinates of map centre .translate([0, 0]) // Pixel coordinates of .center() .scale(tileSize << zoom); // Scaling value // Pixel location of Heathrow Airport to relation to central point (geoCoords)var pixelValue = projection([-0.465567112, 51.4718071791]); // Returns [x, y]

Page 65: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

var shape = new THREE.Shape();shape.moveTo(0, 0);shape.lineTo(10, 0);shape.lineTo(10, 10);shape.lineTo(0, 10);shape.lineTo(0, 0); // Remember to close the shape var height = 10;var extrudeSettings = { amount: height, bevelEnabled: false }; var geom = new THREE.ExtrudeGeometry( shape, extrudeSettings );var mesh = new THREE.Mesh(geom);

Page 66: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 67: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 68: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

USING VIZICITIES

Page 69: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

git clone https://github.com/robhawkes/vizicities.gitcd vizicitiesnpm installgrunt dev

...

cd /path/to/vizicitiesgrunt serve

Page 70: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

<script src="js/vizi.min.js"></script>

<script>

</script>

// Debug output VIZI.DEBUG = false;

var city = new VIZI.City(); city.init({ coords: [-0.01924, 51.50358] // Canary Wharf });

Page 71: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

GETTING INVOLVED

Page 72: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

RESOURCES

Page 73: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

THE FUTURE

Page 74: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

VIRTUAL REALITY

OCULUS RIFT

Page 75: WebVisions – ViziCities: Bringing Cities to Life Using Big Data
Page 76: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

????

Page 77: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

NEXT

MEMORY JOGGING

Page 79: WebVisions – ViziCities: Bringing Cities to Life Using Big Data

RESOURCES

ViziCities demoViziCities on GitHubVideos of ViziCities examplesThree.js WebGL libraryD3.js data visualisation libraryOpenStreetMapOpenStreetMap JSON APIOculus Rift virtual realityMyo wearable control system