itixi version 2.0 the google maps alternatives open street map (osm)...
TRANSCRIPT
iTIXIVersion 2.0The Google Maps AlternativesOpen Street Map (OSM)
Version Datum Author Status Kommentar
1.0 31.03.2014 Martin Jonasse Review Initial-Dokument
1.1 05.04.2014 Martin Jonasse Draft Updated Architecture, file extension (pptx), updates, quality of service
Historie
iTIXI Architecture and routingiTIXI Version 2.0
Provider
iTIXI app iTIXI db
Symfony2PHP (C++) MySQL
Linux
Apac
he
production-server
FirewallFirewall
Provider
Disponent
Provider in 6300 Zug, SchweizMandant: TIXIZUG
BUSPRO: Buchhaltung Google: Geocode APIProvider: Email, VOIP
(Home)OfficeSupport
dev-server
Manager
HomeofficeFahrer
Mandant: TIXIZUG
Geocoding Risk StatementiTIXI Version 2.0• Providers of Geocoding Services can change the Terms of Use at any time:
– Google Maps API updated to v3, causing much pain at dependent websites .– Some Providers (like OSRM in Karlsruhe) even forbid «Distance Table Computation», this
is considered as excessive use.
• Webservices have SLA typically stating 99.9%, however this is probably a marketing statement for «best effort». Who knows the better?
• The Terms of Use usually contain a lot of legal mumbo-jumbo leaving a «normal» person utterly confused. HOWEVER, ONE THING IS CLEAR: PROVIDERS NEVER TAKE RESPONSIBILITY FOR SERVICES / CONTENTS.
• THEREFORE A MULTIVENDOR FAIL-SAFE CONCEPT IS A PARADIGM FOR THE iTIXI APPLICATION. THIS WILL ENSURE iTIXI OPERATIONS, EVEN IF OR WHEN PROVIDERS OR TERMS OF USE CHANGE.
Black box use cases in TIXI ZUGiTIXI Version 2.0
iTIXI app mapinterface
mapserver
request
response
request response
transformation
use case: GEOCODING
use case: ROUTING
use case: MAPPING
addresseSeemattstrasse 38,6333 Hünenberg SeeSchweiz
coordinate47.173601, 8.453111
Landhausstrasse 156340 BaarSchweiz47.194824, 8.518801
origin / destination47.173601, 8.453111/47.194824, 8.518801
distance / duration8.2 km / 12 min
addresseLandhausstrasse 156340 BaarSchweiz
iTIXI SIZING …transactions/ day
few, <100/ day
many, >2‘900 / day
few, <100 / day
Vehicle routing problem (sizing)iTIXI Version 2.0• TIXI ZUG: 53813 rides/year,
144 .. 288 rides per day, in 3 shifts with 19 vehicles.
• Per shift: (288/3 + 19) 2 = 13’225 route candidates per shift.
• Per day: 288 rides ≅ 39’675 route calculations per day (max = 2x avg).
• Initial load: Each route calculation is persistent (stored to the database). In due time calculations degress and all possible routes are persistent.
• Base load = fluctuation of customer memberships ≅ 12% ≅ 1 member per day ≅ 2’884 route calculations per day.
2’884 customers
115
115
13’225/shift
2
m-VRPwT
Route calculations, load sizingiTIXI Version 2.0
19’838 average initial load (degression) 2’884 basic load (average)
nokiagoogle
mapquest (licenced data)
Only mapquest (licenced data) covers the average basic load.Only mapquest (open data) is free and (reasonally) unlimited.
bing
mapquest (OSM data)
Architectural requirementsiTIXI Version 2.0• Multivendor design
– with individual load management– with vendor load balancing– minimum 2 vendors, having a
common (free) or business licence– buying a business licence is an
commercial decision (not technical, use non-commercial interfaces only)
– licences must be registered to a iTIXI customer (g: Mandant-Ebene)
• Local fail-safe for for non-persistant routes mitigates for
– peak loads and – service outages
• Keep routes persistant (database)
requestorigin/destination47.173601, 8.453111/47.194824, 8.518801
responsedistance/time8.2 km / 12 min
local fail-safe
Vendor3
Vendor2
Vendor1
persistant routes
Local fail-safe requirementsiTIXI Version 2.0• No internet routing access needed• Predefined grid of way points and
distance/duration between each• Caculate distances to way points
nearest to origin and destination• Read distances between these
nearest way points from predefined grid
• Sum the distance distance/duration pairs
• Granularity of the grid defines the accuracy (<5% is good enough*)
Footnote: each trip is calculated with a reserve of 5 minutes. 5% is less than 2.5 minutes for trips up to 50 Kilometers (inside Kanton Zug).
Bounding Box plus Zone Plan
Example: fail-safe grid (OSM-CH-DIDOK)iTIXI Version 2.0
Source: didok_bus_stops.xlsm
All bus-stops in KantonZug and communitiesbordering on Kanton Zug (see zone plan).
Addresses outside thisarea can be routed «on the fly» using web services or linear approximations, whennot available.
Persistant routes requirementsiTIXI Version 2.0• Size: approx. 10 mio routes (TIXI ZUG).
– Each route inherits the isActive property from all referring nodes (passengers, POI)
– Passengers may share addresses and routes (e.g. home for the elderly)
• Auto-refresh routes in the evening, using open vendor quotas.
• Store distance/duration totals.• Do not store route legs, waypoints,
narratives, these are currently not considered as being usefull for the application.
persistant routes
origin / destination47.173601, 8.453111/47.194824, 8.518801
distance / duration8.2 km / 12 min
Q&A
See also: iTIXI_Quality_Of_Webservices.pptx
Appendix
• Webservice Google Maps• Webservice – OSM – Mapquest• Webservice – Nokia - HERE• Webservice – MS – Bing Maps• OpenStreetMap Schweiz• Bus stops in Zug (OSM-CH-DIDOK)
Webservice Google MapsiTIXI Version 2.0
Google Maps API, Hyperlink zu Version 3GEOCODING , ROUTING , MAPPING Nutzungsbeschränkungen• Die Verwendung des Google Geocoding APIs unterliegt einer Anfragebegrenzung von 2500 Geolokalisierungsanfragen pro Tag. • Nutzer mit dem Google Maps API für Unternehmen können maximal 100.000 Anfragen pro Tag senden. Darüber hinaus gilt eine Anfragebegrenzung (<10 requests/sec) , um einen Missbrauch des Diensts zu verhindern. • Hinweis: Das Geocoding API darf nur in Verbindung mit einer Google-Karte verwendet werden, das heißt, das Abrufen von Geocodierungsergebnissen, die nicht auf einer Karte angezeigt werden, ist nicht zulässig. • Server: Mountain View / CA / USA• Pricing Enterprize Edition: Euro 8‘700.- (mündliche Auskunft) entspricht USD 10‘000 / Jahr
requeste.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz
responsee.g. 47.173601, 8.453111
Webservice OSM - MapquestiTIXI Version 2.0
OSM – Mapquest Geocoding WebserviceGEOCODING , ROUTING , MAPPING Nutzungsbeschränkungen• Geocoding is the process of matching addresses with geographic coordinates. The MapQuest Geocoding API allows you to easily access the MapQuest geocoder through a simple HTTP request. The Geocoding API supports three major geocoding functions: address, reverse, and batch (100 locations per request). • Community Edition (Licenced Data) users can make up to 5,000 free geocode requests per day and there is no preset limit for Enterprise Edition users nor for Community Edition (Open Data).• Server: Denver, Colorado / USA• Pricing Enterprise Edition (Licenced Data): 2’500 USD annually
requeste.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz
responsee.g. 47.173601, 8.453111
Webservice Nokia - HEREiTIXI Version 2.0
Nokia – HERE Maps for lifeGEOCODING , ROUTING , MAPPING Nutzungsbeschränkungen• HERE Base plan allows users free access to a set of APIs, subject to a maximum daily request usage limit. • Users opting for a Base Web Key can make unlimited 2D Map Tile transactions, and up to 2,500 daily calls for each additional feature category:
– Maps : unlimited 2D Map Tiles, 2500 / day 2D Static Map images– Directions: 2500 / day– Places and Geocoding: 2500 / day
• Server: Dublin / Ireland• Commercial licence: tdb
requeste.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz
responsee.g. 47.173601, 8.453111
Webservice – MS - Bing MapsiTIXI Version 2.0
Microsoft – Bing Maps Mapping Solution Built for the EnterpriseGEOCODING , ROUTING , MAPPING Nutzungsbeschränkungen• Type of Licence needed: “Light Known User”• Free: 125’000 transactions / year = avg 340 transactions / day• Interface: REST Services / Locations API & Routes API (one transaction)• Server: Redmond / USA• Price (“Light Known User” Licence): USD 8’000 for 1’000’000 Transactions (source)
requeste.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz
responsee.g. 47.173601, 8.453111
Webservice – Price TagsiTIXI Version 2.0• Google USD 10’000/y
– 100’000 Transactions/day
• Mapquest USD 2’500/year– Unlimited Transactions
• BING USD 8’000– 1’000’000 Transactions
• HERE tbd
• USD 1 = 3’650 Transactions
• USD 1 = unlimited Transactions
• USD 1 = 125 Transactions
Open Street Map SchweiziTIXI Version 2.0
OpenStreetMap Schweiz (Hyperlink) APIGEOCODING , ROUTING , MAPPING , MAP-NODES DIDOK• Swiss version of the OSM Overpass API: http://overpass.osm.ch/api/• An XAPI interface is available at: http://overpass.osm.ch/xapi/
Nutzungsbegrenzungen• Overpass API is optimized for data consumers that need a few elements within a glimpse or up to roughly 100 million
elements in some minutes, both selected by search criteria like e.g. location, type of objects, tag properties, proximity, or combinations of them
• To support small and well scaling OSM main services, Overpass API is run as a third party service. You can use the public visible instances:
• http://overpass-api.de/ with query base address http://overpass-api.de/api/ (4 physical cores, 32 GB RAM, Nürnberg).• http://overpass.osm.rambler.ru/ with query base address http://overpass.osm.rambler.ru/cgi/ (8 cores, 64 GB RAM).• Overpass API on openstreetmap.fr (Limoges)• Both servers have a total capacity of about 1.000.000 requests per day. You can safely assume that you don't disturb other
users when you do less than 10.000 queries per day or download less than 5 GB data per day.
requeste.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz
responsee.g. 47.173601, 8.453111
Availability!