GIS tulevik on js

Mihkel Oviir | CGI Eesti AS

Georevolutsioon.js

“GIS Is Not Dead, It's Coming For You And It's Been Drinking JavaScript”

 

Christopher Helm
FOSS4G 2013 (GEO for All), Nottingham

“The Future of CartoDB is JS”

 

Andrew W Hill
JS.GEO 2013, Denver

Sõnum

GIS veebi!

(GIS vabaks)

Veeb areneb tohutus tempos

 

midagi juhtub iga päev

Kasutajaskond suureneb...

Elu on veebis | veeb on elus

Internet addiction
Internet addiction

Veebi keskne tehnoloogia on

JavaScript

Klient-server

HTML5 on JS

http://www.html5rocks.com

Geolocation API

WebGL

WebWorkers

WebSockets

Storage

File API

Veeb on muutumas

Server > Klient

Server <= Klient

JS teeb revolutsiooni serveris

Phonecap

JS äppid kõikidele platvormidele

http://phonegap.com

GIS ja JS?

OpenLayers

http://openlayers.org
http://ol3js.org
:demo

GeoExt

http://geoext.github.io/geoext2

Leaflet

http://leafletjs.com

d3.js

http://d3js.org
https://github.com/d3/d3-geo-projection
:demo
:demo
:demo

Kartograph.org

http://kartograph.org
:demo

Punktipilved brauseris

https://github.com/asalga/XB-PointStream
:demo
:demo

Virtuaalsed maailmad


https://github.com/AnalyticalGraphicsInc/cesium

 


http://www.openwebglobe.org

jsts

https://github.com/bjornharrtell/jsts

osmbuildings.js

https://github.com/kekscom/osmbuildings

GIS formaadid veebis

XML ei ole moes
(sorri) OGC

Eesti haldusjaotus: omavalitsused

  • SHP: 15 MB / 6,8 MB (zip)
  • GeoJSON: 37 MB / 8,6 MB (gzip)
  • TopoJSON: 1,7 MB / 227 kB (gzip)

 

 

http://geoportaal.maaamet.ee/est/Andmed-ja-kaardid/Haldus-ja-asustusjaotus-p119.html

topo

Binaarsed formaadid

... veel JS georevolutsiooni tõestusi ...

 

Mapserver 7

JS kompleksete sümbolite konstrueerimiseks

ZOO-Project

JS WPS teenuste ahelad

Mõned tegijad, kes teevad kaarte õigesti...

  • Stamen
  • MapBox
  • CartoDB
  • Axismaps
  • New York Times
  • Azavea
  • Periscopic
“Possibly best moment in history to work doing geo”

 

Javier de la Torre
Vizzuality
(SIGLibre 2013)

Aitäh!

mihkel@sookoll.ee

@sookoll

 


 

 

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat



					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? 
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ?
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 0
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 0
{} + {} ? 
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 0
{} + {} ? NaN
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 0
{} + {} ? NaN

Array(16).join("wat" + 1) ?
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 0
{} + {} ? NaN

Array(16).join("wat" + 1) ?
"wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1"
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 0
{} + {} ? NaN

Array(16).join("wat" + 1) ?
"wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1"

Array(16).join("wat" - 1) ?
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 0
{} + {} ? NaN

Array(16).join("wat" + 1) ?
"wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1"

Array(16).join("wat" - 1) + " Batman!" ?
					

Aitäh!

mihkel@sookoll.ee

@sookoll

 


Ainult friikidele!

https://www.destroyallsoftware.com/talks/wat


[] + [] ? ""
[] + {} ? "[object Object]"
{} + [] ? 0
{} + {} ? NaN

Array(16).join("wat" + 1) ?
"wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1wat1"

Array(16).join("wat" - 1) + " Batman!" ?
"NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN Batman!"