HERE Maps & Location Services
Data Streams ARM Template
Technical Guide
Version 8.0.0.0
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Important Information
Notices
Topics:
• Legal Notices
• Document Information
2
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Legal Notices
3
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Document Information
Product
Name: HERE Location Services Data Streams ARM Template Technical Guide
Version: Version 8.0.0.0
Document
Name: HERE Location Services Data Streams ARM Template Technical Guide
Status: FINAL
Date: 2019-Apr-09, 12:00 (GMT)
4
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Contents
Notices ................................................................................................................................................................ 2
Legal Notices ....................................................................................................................................................... 3
Document Information ..................................................................................................................................... 4
Contents ............................................................................................................................................................. 5
Overview ............................................................................................................................................................. 6
Introduction ..........................................................................................................................................................7
Solution Template Overview ...........................................................................................................................7
Technical Guide ................................................................................................................................................ 9
Acquiring HERE Api Key .................................................................................................................................. 10
Technical Guide for using Solution Template on Azure Portal ......................................................... 10
5
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Chapter 1
Overview
Topics: This document introduces the technical steps for
HERE Maps & Location Services Data Streams ARM
• Introduction Template on Azure Marketplace. The HERE
• Solution Template Overview Location Services Data Streams ARM Template is a
Solution Template on Azure Marketplace which
deploys the HERE Maps & Location Services Data
Streams ARM Template into your resources.
6
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Introduction
HERE Maps and Location Services Data Streams ARM Template bring enterprise-grade, SLA
backed location services to Azure applications. HERE Maps and location services solve a
range of problems from map visualization, navigation and routing, geocoding, time zone look
ups to geofencing, custom locations and routing, route matching GPS traces, geospatial,
sequencing multiple waypoints, truck routing, positioning, etc.
Solution Template Overview
HERE Maps & Location Services Data Streams ARM Template deploys HERE's enterprise class
SLA backed Maps & Location Services for all your Azure Applications.
These services address a range of use cases like Fleet Utilization, Supply Chain Optimization,
Urban Movement, etc., and open up new location intelligence opportunities in diverse
industries like Automotive, Insurance, Internet and Media, Mobile Payments, Public Sector
and Infrastructure, Telecom and Utilities, and Transportation and Logistics.
The function app in this ARM Template consists of the following HERE Location Service APIs:
Geocoding and Search
• Geocoder: Forward and Reverse
• Batch Geocoder
• Geocoder Autocomplete
• Places
Maps
• Map Image
• Map Tile
Navigation and Routing
• Routing - Mode (car, truck, public transit, bicycle) and algorithm (matrix, isoline
routing)
• Public Transit
7
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Fleet Telematics
• Considering toll costs along a route
• Working with geofences
• Working with custom locations
• Building custom routes
• Integrating advanced HERE data sets
• Route matching GPS traces
• Calculating an optimal sequence of waypoints
More APIs
• Positioning - Provides positioning estimates based on global Wi-Fi and Cell
coverage, which includes the latitude and longitude of the position with accuracy.
Architecture Diagram of HERE Maps & Location Services for Data Streams:
8
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Chapter 2
Technical Guide
Topics:
• Acquiring HERE Api Key
• Technical Guide for using Solution Template on Azure Portal
9
HERE Maps & Location Services Data Streams ARM Template Technical Guide
►
Acquiring HERE Api Key
All users of HERE APIs must obtain authentication and authorization credentials and provide
them as values for the parameter HERE in the HERE Credentials section in Azure’s template
deployment page.
To obtain the credentials for the deployment of HERE Maps & Location Services Serverless
Functions, please visit https://developer.here.com to register for FREE with HERE.
Technical Guide for using Solution Template on Azure Portal
Data Streams backend ingest incoming message on Event Hub in JSON format , this message
internally converts to HERE Rest URL by underlying serverless functions and API response get
stored in COSMOS DB in JSON format.
HERE API URL to service-bus message mapping described as below
Sample HERE Api Key : {HERE_API_KEY}
Geocoder :
HERE API URL : https://geocode.search.hereapi.com/v1/geocode?apikey={HERE_API_KEY}&q=5
Rue Daunou, 75000 Paris, France
JSON message format:
"uid" : "<unique_id>",
"api" : "<geocoder | places | routing | positioning | map_image | map_tile/traffic,
map_tile/base | map_tile/aerial | map_tile/pano | fleet>",
"url" : "<part of the URL with server & apikey",
"method" : "<get/post>",
"body" : "<applicable when method is post>",
"contenttype" : "<type of post body>"
10
}
Translated JSON Message :
"uid" : "<unique_id>",
"api" : "geocoder",
"url" : " v1/geocode?q=5 Rue Daunou, 75000 Paris, France ",
"method" : "get",
}
Few more examples as below to show the mappings:
API Name HERE API URL Azure ServiceBus JSON Message
{
https://geocode.search.hereapi.com/v1/ge "uid" : "<unique_id>",
ocode?apikey={HERE_API_KEY}&q=5 Rue "api" : "geocoder",
Daunou, 75000 Paris, France "url" : " v1/geocode?q=5 Rue
Geocoder Daunou, 75000 Paris, France ",
"method" : "get",
}
{
https://geocode.search.hereapi.com/v1/g "uid" : "<unique_id>",
eocode?apikey={HERE_API_KEY}&searchtex "api" : "geocode",
t=200%20S%20Mathilda%20Sunnyvale%20 "url" :
CA&locationattributes=none&responseattr
"v1/geocode?searchtext=200%2
ibutes=none&gen=9
0S%20Mathilda%20Sunnyvale%
20CA&locationattributes=none&
responseattributes=none&gen=
9",
"method" : "get",
}
{
Reverse - https://revgeocode.search.hereapi.com/ "uid" : "<unique_id>",
Geocoder v1/revgeocode? "api" : "geocoder",
apikey={HERE_API_KEY}&at=48.2181679%2 "url" : "
C16.3899064&lang=en-US v1/revgeocode?at=48.2181679%
2C16.3899064&lang=en-US ",
"method" : "get",
11
{
https://revgeocode.search.hereapi.com/ "uid" : "<unique_id>",
v1/revgeocode? "api" : "geocoder",
apikey={HERE_API_KEY}&at=48.2181679%2 "url" :
C16.3899064&lang=en-US "v1/revgeocode?at=48.2181679
%2C16.3899064&lang=en-US ",
"method" : "get",
}
{
https://router.hereapi.com/routing/v8/ca "uid" : "<unique_id>",
lculateisoline.json?apikey={HERE_API_KEY} "api" : "routing",
&mode=fastest%3Bpedestrian&start=52.51 "url" :
60%2C13.3778&rangetype=distance&range "7.2/calculateisoline.json?mode=
=2000
fastest%3Bpedestrian&start=52.
5160%2C13.3778&rangetype=di
stance&range=2000”,
Routing "method" : "get",
}
{
https://matrix.route.ls.hereapi.com/routin "uid" : "<unique_id>",
g/7.2/calculatematrix.json?apikey={HERE_ "api" : "routing",
API_KEY}calculatematrix.json?mode=fastest "url" :
%3Btruck%3Btraffic%3Adisabled%3B&sta "7.2/calculatematrix.json?mode=
rt0=40.7790%2C-
fastest%3Btruck%3Btraffic%3A
73.9622&destination0=40.7482%2C-
disabled%3B&start0=40.7790%
73.9860&destination1=40.7558%2C-
73.9870&destination2=40.7054%2C- 2C-
73.9961 73.9622&destination0=40.7482
%2C-
73.9860&destination1=40.7558
%2C-
73.9870&destination2=40.7054
%2C-73.9961”,
"method" : "get",
}
curl -i -X POST -H 'Content-Type: {
application/json' -d '{"gsm": [ {"mcc": "uid" : "<unique_id>",
262,"mnc": 1,"lac": 5126,"cid": 16504,"nmr": "api" : "positioning",
[{"bsic": "6","bcch": "82"},{"bsic": "7","bcch": "url" : "/v1/locate”,
"85"},{"bsic": "12","bcch": "93"},{"bsic": "method" : "post",
"13","bcch": "88"},{"bsic": "19","bcch": "body" : {
"gsm": [
"88"}]}]}'
{
https://pos.ls.hereapi.com/positioning/v1 "mcc": 262,
/locate?apikey={HERE_API_KEY} "mnc": 1,
Positioning "lac": 5126,
12
"cid": 16504,
"nmr": [
{
"bsic": "6",
"bcch": "82"
},
{
"bsic": "7",
"bcch": "85"
},
{
"bsic": "12",
"bcch": "93"
},
{
"bsic": "13",
"bcch": "88"
},
{
"bsic": "19",
"bcch": "88"
}
]
}
]
},
"contenttype" :
"application/json"
}
This JSON message need to be posted using a client-app / device which connects to azure
event-hub, there is support for various languages for writing event-hub clients. Refer below
link for more details.
https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-standard-
getstarted-send
13