rapport kartläggning av öppna...
TRANSCRIPT
RAPPORT
Kartläggning av öppna karttjänster
2
Dokumenttitel: Kartläggning av öppna karttjänster
Skapat av: Klas Germunder
Dokumentdatum: 2012-03-12
Dokumenttyp: Rapport
DokumentID:
Ärendenummer:
Projektnummer:
Version: 0.0
Publiceringsdatum:
Utgivare: Trafikverket
Kontaktperson:
Uppdragsansvarig:
Tryck:
Distributör: Trafikverket, Adress, Post nr Ort, telefon: 0771-921 921
3
Innehåll
Inledning ................................................................................................................ 5
Översikt över tjänsterna ........................................................................................ 5
Google Maps ....................................................................................................... 5
Bing Maps........................................................................................................... 5
Yahoo Maps ........................................................................................................ 5
Nokia Maps ........................................................................................................ 5
OpenStreetMap .................................................................................................. 5
Användningsvillkor ................................................................................................ 6
Google Maps ....................................................................................................... 6
Begränsningar i Map API ............................................................................... 7
Bing Maps........................................................................................................... 7
Yahoo Maps ........................................................................................................ 7
Nokia Maps ..................................................................................................... 8
OpenStreetMap .................................................................................................. 8
CloudMade ......................................................................................................... 8
Datakällor .............................................................................................................. 9
Google Maps ....................................................................................................... 9
Bing Maps........................................................................................................... 9
Yahoo Maps ........................................................................................................ 9
Nokia Maps ........................................................................................................ 9
OpenStreetMap .................................................................................................. 9
CloudMade ......................................................................................................... 9
Utvecklarstöd ......................................................................................................... 9
Google Maps ....................................................................................................... 9
Bing Maps......................................................................................................... 10
OpenStreetMap ................................................................................................ 10
Yahoo Maps API ............................................................................................... 10
CloudMade ........................................................................................................ 11
Opensoure APIer ............................................................................................... 11
Webbklienter ................................................................................................. 11
Desktop klienter ............................................................................................ 11
4
Redering av data ............................................................................................ 11
Utvecklingsplaner ................................................................................................. 11
Google Maps ...................................................................................................... 11
OpenStreetMap ................................................................................................ 12
Exempel på tillämpningar ................................................................................... 12
Google Maps ..................................................................................................... 12
OpenStreetMap ................................................................................................ 12
Datainnehåll ......................................................................................................... 12
Jämförelse Karesuando .................................................................................... 13
Jämförelse Leksand ......................................................................................... 13
Jämförelse Hagfors .......................................................................................... 14
Jämförelse Stockholm ...................................................................................... 14
5
Inledning
Trafikverket planerar att använda externa tjänster som t.ex. Google Maps för
bakgrundskartor i olika applikationer. För att underlätta detta behöver man ett underlag
som beskriver förutsättningarna för hur de tillgängliga tjänsterna kan utnyttjas. Triona
har därför fått i uppdrag att göra en inventering av de främsta karttjänsterna.
I denna rapport beskrivs karttjänsterna Google Maps, BingMaps, Yahoo Maps, Nokia
Maps och OpenStreetMap1 avseende användarvillkor, utvecklarstöd, datakällor och
innehåll för respektive tjänst.
Översikt över tjänsterna
Google Maps
Google Maps har funnits som webbtjänst sedan 2005 och har sedan dess varit ledande
och fått stor spridning tack vare att tjänsten varit gratis (med vissa begränsningar) och
haft ett kraftfullt API för utvecklare, samt att man efter hand introducerat funktioner
som navigering, gatuvy etc.
Bing Maps
Bing Maps från Microsoft hette från början Virtual Earth och släpptes 2005. Bing Maps
erbjuder i stort sett samma funktioner som Google Maps.
Yahoo Maps
Yahoo Maps har funnits sedan 2005, men 2010 påbörjades ett samarbete med Nokia,
vilket innebär att även om Yahoo Maps finns kvar så kommer tekniken bakom att vara
Nokias.
Nokia Maps
Nokia Maps (tidigare Ovi Maps) har sitt ursprung i karttjänster för mobiltelefoner i
början av 2000-talet. 2009 släppte Nokia sitt webb-API för utvecklare.
OpenStreetMap
OpenStreetMap är ett fritt kartunderlag som kan redigeras av vem som helst.
OpenStreetMap grundades 2004 och har sedan dess fått en mycket stor spridning. För
att använda OpenStreetMap kan man antingen ladda ned kartunderlaget och bygga egna
kartor eller utnyttja någon publik webbtjänst, t.ex. CloudMade.
1 OpenStreepMap är inte någon karttjänst, men kan användas som dataunderlag och finns även
tillgängligt via tjänster.
6
I nedanstående tabell beskrivs de olika karttjänsterna sammanfattningsvis.
Tjänst Användningsvillkor Datakällor Utvecklarstöd
Google Maps 1. Gratis med begränsningar.
2. Avgiftsbelagt.
Teleatlas/
Lantmäteriet/
Trafikverket
API:er för JavaScript och
Flash
Bing Maps 1. Gratis med begränsningar.
2. Avgiftsbelagt.
Navteq/
Pictometry
JavaScript och kontroller
för .Net och iOS samt ett
antal webbtjänster (SOAP
och REST) .
Yahoo Maps Gratis Nokia (Navteq)/
DigitalGlobe
JavaScript
Nokia Maps 1. Gratis med begränsningar.
2. Avgiftsbelagt.
Nokia (Navteq)/
DigitalGlobe
JavaScript
OpenStreetMaps/
CloudMade
1. Gratis med begränsningar.
2. Avgiftsbelagt.
Diverse öppna
datakällor/
Allmänheten
Olika, se Utvecklarstöd
nedan.
Användningsvillkor
Generellt för alla tjänsterna ar att det krävs ett användarkonto hos respektive
kartleverantör innan man kan använda dem i egna tillämpningar. Alla tjänster finns i
gratisversioner, men oftast med begränsningar i t.ex. antal anrop.
Google Maps
Google Maps finns i två varianter Maps API och Maps API for Business, där Maps API är
öppen med vissa begränsningar och Maps API for Business är för avtalskunder. Båda
varianterna har tillgång till samma tjänster men med olika begränsningar i de olika
tjänsterna. Vilket betyder att även avtalskunder har vissa begränsningar.
Maps API är öppet och får användas utan avgift upp till 25 000 request/dag för varje
kart typ. Dock gäller följande tre regler.
1. Om tillämpningen endast är tillgänglig för betalande kunder får inte Maps API
användas.
2. Om tillämpningen endast är tillgänglig inom företaget eller via intranät får inte
Maps API användas.
3. Om tillämpningen har något att göra med transportledning, Fleet managment
Tracking av enheter/bilar eller liknande får inte Maps API användas.
Om något av dessa tre villkor uppfylls har man inte rätt att använda ”Maps API” och då
behöver man teckna ett ”Maps API for Business” avtal med Google.
7
Begränsningar i Map API
Tjänst Begränsning (per dag) Pris per 1000 överskjutande
förfrågningar.
Static Maps API 25000 4$
Street View Image API 25000 4$
Styled maps 2500 4$(2500-25000)
8$(över 25000)
JS Maps API v3 25000 4$
JS Maps API v2 2500 10$
Geocoding Web Service 2500 *
Directions Web Service 2500(med max 10 via
punkter)
*
Distance Matrix Web Service 2500 *
Elevation Web Service 2500 (förfrågningar) *
Street view 1000 unika förfrågningar
per användare.
*
*Endast möjligt med avtal.
För att teckna ett avtal med Google tar man kontakt med Google här2 och får en partner-
ansvarig tilldelad.
Bing Maps
Bing Maps har flera olika licenser beroende på vilket scenario tillämningen skall
användas till. Den variant av Bing Maps som är gratis kallas ”Not-for-Profit” och kravet
för att denna licens skall kunna användas är att applikationen är öppen för allmänheten,
d.v.s. inga lösenord och publicerad på Internet.
Sedan finns även en begränsning på 125´ transaktioner av typen session eller
500´transaktioner av vilken typ som helst per år.
Bing Maps har också bland annat en licensens som heter ”Government”. Priset för
denna licens är ca 4500 Euro för 100 kända användare per år. Detta pris kan dock
förhandlas med den lokala Microsoft återförsäljaren i Sverige.
För att teckna avtal med Bing Maps kontaktar man dem via detta3 kontaktformulär och
får kontakt med en säljare inom ett dygn.
Yahoo Maps
Yahoo Maps är idag gratis att använda men de har samma upplägg som Google hade
tidigare d.v.s. gratis för tillfället men behåller sig rätten att ändra prismodellen och
meddela detta till alla användare en tid före.
Då Yahoo idag inte har någon begränsning eller avtalsvariant (kan dock ändras) så finns
ingen som behöver kontaktas för ett avtal utan man skaffar bara en användare direkt på
yahoo.com.
2 http://support.google.com/enterprisehelp/bin/request.py?&contact_type=gme
3 http://www.microsoft.com/maps/product/licensing.aspx
8
Nokia Maps
Nokia tillämpar en prismodell i tre nivåer enligt nedan:
Man kan alltså utnyttja en gratislicens (trial) så länge tillämpningen inte överskrider
vissa volymer under sin livstid. Sedan finns det en ”standardlicens” med vissa månatliga
begränsningar och en ”premiumlicens” om standardlicensen inte räcker.
För att få tillgång till Nokia Maps API anmäler man sig här4.
OpenStreetMap
OpenStreetMap är egentligen data som släpps under licensen Creative Commons v2.0
http://creativecommons.org/licenses/by-sa/2.0/. Men OpenStreetMap håller för
tillfället på att går över till licensen Open Database License 1.0
(http://opendatacommons.org/licenses/odbl/).
Detta innebär att man kan kopiera, distribuera, överföra och anpassa data så länge man
hänvisar till OpenStreetMap och deras bidragsgivare. Om man ändrar eller bygger på
data kan man endast distribuera med samma licens.
Hela idén med OpenStreetMap är att den skall fungera som en Wiki och alla skall kunna
bidra med data till kartan, vilket man kan göra väldigt enkelt via OpenStreetMap.org.
CloudMade
CloudMade tillhandahåller OpenStreetMap data och olika API:er liknande de Google
har och är gratis med vissa begränsningar.
Tjänst Transaktioner/
månad
Begränsning IP
Nummer och dag
Tile 250 000/månad
Static Maps 25 000/månad 2500
Navigation 25 000/ månad 2500
Geocode/Reverse Geocode 25 000/ månad 2500
Om dessa nivåer överskrids kan man teckna avtal med CloudMade och betala för varje
1000 extra förfrågningar, priserna då beror på vilka tjänster man väljer att använda.
För att teckna avtal med CloudMade kontaktar man dem på epost-adressen:
Ett alternativ till CloudMade är MapQuest (http://developer.mapquest.com/).
4 http://api.maps.nokia.com/
9
Datakällor
Google Maps
Google Maps använder Tele Atlas som leverantör av data för sina vanliga kartor och för
satellitbilder används Tele Atlas och Lantmäteriet/Metria. Google håller för närvarande
även på att införa vägnät, vägklasser, hastighetsgränser, förbjuden fartriktning, förbud
mot trafik, planskilda korsningar och cykelvägnät från NVDB.
Bing Maps
Bing Maps data till vanliga kartor kommer från Navteq, för satellitbilder används
Navteq och för Birds eye används Pictometry.
Yahoo Maps
Yahoo maps använder Nokia (Navteq)/DigitalGlobe för sina vanliga kartor och
satellitbilder.
Nokia Maps
Yahoo maps använder Nokia (Navteq)/DigitalGlobe för sina vanliga kartor och
satellitbilder.
OpenStreetMap
OpenStreetMap data kommer huvudsakligen från användarna, då hela tanken med
OpenStreetMap är att den skall vara som en wiki. Men kartan baserar sig i vissa fall på
öppen data som finns tillgänglig i respektive land, datakällor per land finns listade här
http://wiki.OpenStreetMap.org/wiki/Potential_Datasources. Dock är det inte säkert att
hela dataset används från dessa källor då det kan vara så att man redan har en bättre
täckning med sitt eget data.
CloudMade
CloudeMades kartor är baserade på OpenStreetMap så därför har de samma datakälla
som OpenStreetMap.
Utvecklarstöd
Google Maps
Google Maps har fyra olika kart API:er ”Maps JavaScript API”, ”Maps API for Flash”,
”Google Earth API” och “Maps Image APIs” sedan finns även deras webservice API där
följande tjänster finns.
Directions API
Distance Matrix API
Elevation API
Geocoding API
Places API
10
Maps JavaScript API är ett moget och välutvecklat API som har många bra funktioner
för text autocomplete via (place och geocode), funktioner för street view o.s.v. För mer
information om API:et hänvisar vi till http://code.google.com/intl/sv-
SE/APIs/maps/documentation/javascript/reference.html.
Maps API for Flash finns fortfarande kvar men är under avveckling.
Google Earth API är ett JavaScript API för att integrera Google Earth i
webbtillämpningar. Med API:et kan du rita linjer och sätta ut markörer samt importera
KML för att bygga 3D modeller.
Bing Maps
Bing Maps har nio olika API:er där en del kan integreras i Visual Studio som en dll eller
länkas in via webben samt användas som rena webbtjänster.
Bing Maps AJAX Control (Bing Maps JavaScript API som går mot REST API)
Bing Maps iOSControl (Objective c kontroll för iPhone-utveckling)
Bing Maps Silverlight Control (Silverlight API för Windows Phone)
Bing Maps SOAP Service (SOAP API för körinstruktioner, avståndsberäkningar
m.m.)
Bing Maps REST Service (Samma API som SOAP fast som REST)
Bing Maps Spatial data Services (REST API för Geocoding och reverse
Geocoding)
Bing Maps APP SDK Beta(För utveckling av appar/plugin till Bing Maps)
Bing Maps WPF Control (WPF API för Bing Maps)
OpenStreetMap
Då OpenStreetMap i grunden egentligen bara är data så finns inget API, men en lösning
för att använda OpenStreetMap data skulle kunna vara att sätta upp en WMS server t.ex.
MapServer som renderar kartor från data så som man själv vill och uppe på dessa
tjänster använda antingen OpenLayers eller SharpMap eller något annat öppet API i
sina applikationer.
För att editera/bidra med data till OpenStreetMap kan man antingen importera GPS-
spår eller redigera in ny information direkt i kartan på OpenStreetMap.org. Ändringarna
man gör blir oftast tillgängliga inom 15 minuter men kan ibland ta upp till ett dygn.
Därför är det viktigt att uppdatera den lokala OpenStreetMap-databasen med jämna
mellanrum för att få ner den senaste data.
Yahoo Maps API
Yahoo håller på att stänga sitt egna API och hänvisar till Nokia OVI Maps API som är ett
JavaScripts API innehållande metoder för Points of Interest, Geocoding, Routing och
sökning.
11
CloudMade
CloudMade har ett litet annat upplägg på sitt utvecklarstöd. För iPhone och iPad har
man ett SDK att jobba emot. Utvecklar man för webben så kan man skapa klientsidan
med hjälp av Web Maps Studio eller använda Web Maps API.
Sedan har man även något som heter Navi Studio som används för att skapa navigations
applikationer.
Opensoure APIer
Webbklienter
För webbklienter kan med fördel JavaScript biblioteket OpenLayers användas som API
mot kartorna. OpenLayers är släppt under licensen ”BSD”. Fördelen med att använda
OpenLayers API är att man är oberoende av vilken karta man använder, då det har stöd
för alla de nämnda kartorna. Mer information om OpenLayers finns på
http://openlayers.org/
Desktop klienter
För C# desktop klienter kan SharpMap användas som API för att hantera kartor i
applikationen. SharpMap projektet är släppt under licensen ”GNU Lesser General
Public License”. Även SharpMap är ett oberoende API som ger möjligheten att på ett
enkelt sätt byta bakgrunds karta.
Redering av data
De två största open source projekten för rendering av GIS-data är MapServer
(http://mapserver.org/) och Mapnik (http://mapnik.org/). Både MapServer och
Mapnik kan köras på Linux och Windows. Dock bygger båda projekten på c-bibliotek för
bildrendering, vilket gör att man får en betydligt högre prestanda på Linux.
Utvecklingsplaner
Google Maps
Google har lite olika funktioner som först dyker upp i ”Google Map Lab” som default
inte är aktiverat för användare utan man måste själv välja in dessa verktyg/funktioner.
Just nu ligger följande i Google Map Labs
Avståndsmätare (Avståndsmätning för Google Earth)
Visa det här (Med hjälp av högerklick kan du zooma in på den punkten så långt
det går)
Dra zooma(Ett verktyg där du kan marker en yta och zooma till)
Lat/Long-knapp beskrivning (Ger en label med lat long där muspekaren är)
Lat/Long-Markör (Med hjälp av högerklick kan man sätta ut en etikett som visar
lat/long)
Smart zoom (Lösning för att undvika zoomnivåer som saknar bilder i kartan)
12
OpenStreetMap
OpenStreetMap tar hela tiden emot förslag på data utökningar och förändringar som går
vidare till votering och implementering. Alla features som kommer in och går igenom
processen kan ses och följas på OpenStreetMaps wiki.
Förutom data så jobbar man med att utveckla verktyg så som t.ex. mobilappar för att
underlätta datainsamling.
Exempel på tillämpningar
Google Maps
http://www.trafikfarligamiljoer.se/ använder Google Maps kartan för att positionera en
trafikfarlig miljö.
OpenStreetMap
https://foursquare.com/ har nyligen migrerat från Google Maps till OpenStreetMap för
sin karttjänst.
Datainnehåll
Generellt om datainnehållet i Google Maps, Bing Maps och OpenStreetMap kan man
säga att Google och Bing har i dagsläget bättre data i små orter som t.ex. Karesuando
men är samtidigt mycket trögare vad det gäller uppdateringa av data då de inte bygger
på principen att vem som helts kan bidra med data.
Nedan jämförs några exempel från OpenStreetMap, Google Maps, Bing Maps och Yahoo
Maps (vilket också motsvarar Nokia Maps) med hjälp av sidan
http://geotribu.net/applications/baselayers/index.php. Man kan konstatera att
OpenStreetMap ofta har väldigt detaljerade data, men i övrigt är det svårt att uttala sig
om generella skillnader – man behöver jämföra de olika tjänsterna för relevanta
områden och zoomnivåer och bedöma vad som passar bäst för den aktuella
tillämpningen.
13
Jämförelse Karesuando
Jämförelse Leksand
14
Jämförelse Hagfors
Jämförelse Stockholm