Agenda
- Bakgrunn
- Teknologi
- Muligheter
Google Maps
- Lansert 2005
- Mashups
- "Slippy maps"
- APIer
Kjennetegn
- Hele verden
- "Tiles"
- Enkelt grensesnitt
Andre webkart
"Kartstack"
Romlig Database
- Vektordata
- Spørringer
- Rask tilgang sammenlignet med fil
- Romlige operasjoner
Kartserver
- Rendrer vektordata til "bilde"
- Tegneregler
- Leverer WMS, WFS
Klient
- Kjører i nettleseren
- Håndterer logikk for zoom/pan
- Annen funksjonalitet
Et WMS-kall
- Brukerspesifiserte utsnitt
- Forskjellige koordinatsystem
- Mange muligheter
WMS-kall
http://openwms.statkart.no/skwms1/wms.kartdata2
?LAYERS=Kartdata2_WMS
&FORMAT=image/png
&SERVICE=WMS
&VERSION=1.1.1
&REQUEST=GetMap
&STYLES=
&SRS=EPSG:3A32633
&WIDTH=800
&HEIGHT=800
&BBOX=270387.13671875,7040177.7880859,270916.04296875,7040706.6943359
Hva skjer?
- Hent data fra database
- Transformer til riktig koordsys
- klipp vekk unødvendige data
- Tegn data vha tegneregler
- Gjenta 1-2 for hvert lag
- Kombiner og send til klient
WMS - fordeler
- Egendefinert:
- utsnitt
- størrelse
- målestokk
- koordinatsystem
- Alltid “ferskeste” data
Hva kan forbedres?
- Lagre kartutsnitt på server:
- Lever dette hvis det finnes!
- Sparer databasehenting og rendring
- Kartfliser / tiles
WMS-C / WMTS
- WMS-Cached (gammel)
- Web Map Tile Service – ny OGC standard
- Gitte utsnitt
- Ett koordinatsystem
- Gitte målestokker (halvering)
WMTS-kall
Flere kall av typen
http://opencache.statkart.no/gatekeeper/gk/gk.open?
LAYERS=topo2
&FORMAT=image/png
&SERVICE=WMS
&VERSION=1.1.1
&REQUEST=GetMap
&STYLES=
&SRS=EPSG:3A32633
&WIDTH=256
&HEIGHT=256
&BBOX=270453.25,7040202.25,270622.5,7040371.5
Kan vi gjøre det enklere?
Google
http://mt1.google.com/vt/lyrs=m@205175871
&x=138649
&y=70868
&z=18
OpenStreetMap
http://b.tile.openstreetmap.org/17/69326/35435.png
Dvs /z/x/y.png
Tile-oppdeling
- Del opp verden I rutenett (x,y)
- Z angir målestokk
- Z=1 gir:

- Enkelt å hente fra disk
Hvordan lage tilesets?
- Hente fra WMS-server
- Egne programmer
Ulemper med Tilesets
- "Dyrt" å lage tiles
- Låst til et koordinatsystem
- Dobbeltlagring
- Må re-generere når nye data
Når burde jeg tile?
- Du har mye statiske data
- Bakgrunnskart, nye hver måned/halvår?
- Som brukes mye
- Bruken er en kartklient på web
- Dette burde leverandør ha kontroll på!
Når burde jeg IKKE tile?
- Dataene oppdateres ofte
- Værkart (daglig, hver time)
- Dataene aggregeres på mange måter
- Dataene skal leveres på mange format
- Krav til spesielle målestokker
Noen begreper
- EPSG-kode:
- Identifikator for koordinatsystem
- European Petroleum Survey Group
- http://epsg-registry.org/ / http://spatialreference.org/
- Web Mercator
- "Google-projeksjon" / Pseudo Mercator / Sperical Mercator
- EPSG:900913 / EPSG: 3857
Stilsetting av kart - SLD
- Bruker et kodespråk for å beskrive stiler
- SLD (Styled Layer Descriptor) er OGC-standard
- XML-basert
- Ganske “tungt”
CartoCSS
- CSS brukes for å stile websider
- CartoCSS brukes av TileMill for kartografi
Kan vi gjøre det ENDA bedre?
- Ja, vi kan levere vektordata direkte!
- Disse kan også tiles
- Og forenkles på noen målestokker
- Dette stiller store krav til klienten!
- Begynner å komme!
- Google Maps Android
Vektorformater for web
GML
XML-basert, OGC:
<position>
<gml:Point srsDimension="2"
srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
<gml:pos>49.40 -123.26</gml:pos>
</gml:Point>
</position>
GeoJSON
JSON-basert
{ "type": "Point", "coordinates": [100.0, 0.0] }
KML
XML, Google
<Point>
<coordinates>-74.006393,40.714172,0</coordinates>
</Point>
Turkompisen.no
TileMill eksempel
Maps.stamen.com
Leaflet
Polymaps
Cesium
Nokia Here