tile server

16

Click here to load reader

Upload: federico-russo

Post on 02-Jul-2015

100 views

Category:

Software


8 download

DESCRIPTION

Antea's new tileserver.

TRANSCRIPT

Page 1: Tile server

THE NEW MAPSERVERAKA, the TileServer

Page 2: Tile server

CASO D’USO

Page 3: Tile server

STATO ATTUALE

• Esiste un client web basato su OpenLayers (WMS).

• Esiste un MapServer scritto in Java che genera le tile 256*256 al volo da bitmap molto più grandi.

• Esiste un convertitore che crea queste bitmap molto grandi (mosaic).

Page 4: Tile server

ARCHITETTURA

Server BBox

Server di mappe (Mosaic)Convertitore di P&I

Client Browser

Page 5: Tile server

MA ADESSO…

+

Si possono richiedere le tile direttamente per numero.

Page 6: Tile server

STATO FUTURO

• In BBox: un client web basato su Leaflet in Vaadin 7.

• Un MapServer che fornirà le tile 256*256 già tagliate e salvate su filesystem.

• Un convertitore che crea direttamente le tile.

Page 7: Tile server

MAPCLIENT• Il Navigator in Leaflet fa parte della migrazione verso Vaadin 7.

• Sarà più semplice e snello del Navigator basato su OpenLayers.

• Permetterà le mappe offline.

• Supporto per display Retina. !

OpenLayers is a big pile of… well, JavaScript with a history. (Matti Tahvonen)

Page 8: Tile server

MAPCLIENT

http://maps.antea.bogus/layers/pid?WIDTH=256&HEIGHT=256 &FORMAT=image%2Fpng&TRANSPARENT=true&SERVICE=WMS &VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&LAYERS=123456789&BBOX=-29.814917938907,38.890182365863,-28.694133744422,40.010966560349

!

http://maps.antea.bogus/tile/123456789/lod_1/layer_2_3.png

Page 9: Tile server

MAPCONVERTER

• Il convertitore crea già le tile nel formato giusto.

Page 10: Tile server

MAPSERVER

• Completamente reimplementato in Go.

• Fornisce Tile già salvate su filesystem.

• Ha una certa intelligenza per trovare la directory do ciascun PID.

• Ha pagine di diagnostica e servizi REST di utility.

Page 11: Tile server

GO WHAT?

• Linguaggio del 2009 specializzato in applicazioni di rete al alta concorrenza.

• Creato da Ken Thompson (C, Unix, UTF-8) e altri, come progetto 20% in Google.

• Obiettivi: meno codice, compilazione veloce, esecuzione veloce.

Page 12: Tile server

GO

• Completamente Open source (BSD).

• Sintassi simile a C.

• Interfacce come in Java.

• Package come C# e Java.

• Ereditarietà senza polimorfismo, come JavaScript, Ruby.

Page 13: Tile server

GO• Compilato. Cross-compila. Non compila risorse. Solo link statico.

• Imperativo (non descrittivo).

• Non object-oriented (non ha l’ereditarietà OO). Funzionale.

• Statico, ma ha alcune caratteristiche dei linguaggi dinamici.

• Fortemente tipizzato.

• Garbage collected.

Page 14: Tile server

GO

• Bravo nella concorrenza: funzioni asincrone, green thread e canali.

• Orientato alle applicazioni di rete.

• Server HTTP integrato.

• Engine di templating integrata.

Page 15: Tile server

CONFRONTO

SLOC 14616 223

File sorgente 61 1

RAM 1750 MiB 16 MiB

Response time 600 ms 1 ms

CPU 360 267

Throughput 52 tps 19660 tps

Page 16: Tile server