190 likes | 311 Views
iTIXI Version 2.0. Historie. The Google Maps Alternatives Open Street Map (OSM). iTIXI Architecture and routing iTIXI Version 2.0. BUSPRO: Buchhaltung. Provider: Email, VOIP. Mandant: TIXIZUG. Google: Geocode API. Homeoffice. Provider. Provider. (Home)Office. Support. Fahrer.
E N D
iTIXIVersion 2.0 Historie The Google Maps Alternatives Open Street Map (OSM)
iTIXI Architecture and routingiTIXI Version 2.0 BUSPRO: Buchhaltung Provider: Email, VOIP Mandant: TIXIZUG Google: Geocode API Homeoffice Provider Provider (Home)Office Support Fahrer Firewall Firewall iTIXI app iTIXI db Disponent Manager Apache Symfony2 PHP (C++) MySQL dev-server Linux production-server Mandant: TIXIZUG Provider in 6300 Zug, Schweiz
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 Landhausstrasse 15 6340 Baar Schweiz 47.194824, 8.518801 request iTIXI app map interface map server response transformation iTIXI SIZING … transactions/ day response request use case: GEOCODING coordinate 47.173601, 8.453111 few, <100/ day addresse Seemattstrasse 38, 6333 Hünenberg See Schweiz use case: ROUTING origin / destination 47.173601, 8.453111/ 47.194824, 8.518801 many, >2‘900 / day distance / duration 8.2 km / 12 min use case: MAPPING addresse Landhausstrasse 15 6340 Baar Schweiz few, <100 / day
Vehicle routing problem (sizing)iTIXI Version 2.0 2’884 customers • 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 m-VRPwT 115 13’225/shift 115
Route calculations, load sizingiTIXI Version 2.0 Only mapquest (licenced data) covers the average basic load. Only mapquest (open data) is free and (reasonally) unlimited. mapquest (OSM data) bing google nokia mapquest (licenced data) 19’838 average initial load (degression) 2’884 basic load (average)
Architectural requirementsiTIXI Version 2.0 response distance/time 8.2 km / 12 min request origin/destination 47.173601, 8.453111/ 47.194824, 8.518801 • 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) Vendor1 Vendor2 Vendor3 local fail-safe 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*) Bounding Box plus Zone Plan 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).
Example: fail-safe grid (OSM-CH-DIDOK)iTIXI Version 2.0 All bus-stops in Kanton Zug and communities bordering on Kanton Zug (see zone plan). Addresses outside this area can be routed «on the fly» using web services or linear approximations, whennot available. Source: didok_bus_stops.xlsm
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. origin / destination 47.173601, 8.453111/ 47.194824, 8.518801 distance / duration 8.2 km / 12 min persistant routes
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 3 GEOCODING , 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 response e.g. 47.173601, 8.453111 request e.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz
Webservice OSM - MapquestiTIXI Version 2.0 OSM – Mapquest Geocoding Webservice GEOCODING , 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 response e.g. 47.173601, 8.453111 request e.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz
Webservice Nokia - HEREiTIXI Version 2.0 Nokia – HERE Maps for life GEOCODING , 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 response e.g. 47.173601, 8.453111 request e.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz
Webservice – MS - Bing MapsiTIXI Version 2.0 response e.g. 47.173601, 8.453111 request e.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz Microsoft – Bing Maps Mapping Solution Built for the Enterprise GEOCODING , 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)
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) API GEOCODING , ROUTING , MAPPING , MAP-NODES DIDOK • Swiss version of the OSM Overpass API: http://overpass.osm.ch/api/ • An XAPI interfaceis 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. response e.g. 47.173601, 8.453111 request e.g. Seemattstrasse 38, 6333 Hünenberg See Schweiz