Geocoding Addresses

  • Comments 3

This is Part 1 of a 2 part article where I supplement the “Client-inception” PoC that I developed in my previous article with geocoding functionality.

 

·         Geocoding is the process of finding geographic coordinates (often expressed as latitude and longitude) from other geographic data, such as street addresses or ZIP/Postal codes. With geographic coordinates, the features can be mapped and entered into Geographic Information Systems, or the coordinates can be embedded into media such as digital photographs [http://en.wikipedia.org/wiki/Geocoding].

 
Dynamics AX has latitude and longitude placeholders for addresses stored against entities within the gobal-address-book. Storing this information allows clients to be located easily on maps … but geocoding has more business uses than just fundamentals like that:
 

·         Event organisers can create targeted marketing campaigns for conferences/exhibitions (proximity searches for clients within radius of event).

·         Sales administrators can identify demographics for market-saturation or market-dominance graphs.

·         Delivery managers can establish distances from distribution centres and allocate clients into “catchment-zones”. This will facilitate planning of optimal delivery routes for multiple recipients within these zones.

·         BI analysts can analyse based on “point-proximity”, allowing you to analyse data that crosses geographic or political boundaries.

 
The CRM and BI features are useful for all industries, but you’ll find that it’s the “just-in-time” ordering systems and the “service-call-out” systems that have the greatest reliance on geocoding. You can reduce costs by moving people and resources the least amount of distance.
 
Microsoft offers a geocoding via their onine “Bing” Mapping Service. An overview of the service can be found here: [http://msdn.microsoft.com/en-us/library/dd877180.aspx]. It can be used natively within the Dynamics-rich-client or Sharepoint-web-portal if you decide to host it within a “web-browser-control”. For the purposes of this article I will be considering only the WPF implementation: [http://msdn.microsoft.com/en-us/library/hh750210.aspx].
 
Before we can do anything we need an API key to use the service. This is quite important so I’ll dedicate the remainder of this article to this procedure and cover the fun stuff in the next article.
 

1.)   Navigate to the following Url: https://www.bingmapsportal.com/. Click the “Create a Bing Maps Account” button.

 
 

2.)   Everyone in the Dynamics Community should have a Windows Live Id, so just go ahead and click the “Continue” button:

 
 

3.)   Fill in your personal details accurately so that they match your main Windows Live Id account. It doesn’t really matter what you name your “Account”.

 
 

4.)   Click the “Create or view keys” option in the left navigation pane. Select the options as below (making sure you use the same “Account” name as above) and click the “Submit” button:

 
 

5.)   This will create a “Basic” key for you. Scroll the page up to see your new key:

 
 
Copy this key as we will be using it within the API calls in the next article.
 
The account you’ve created is a “Basic” account which allows for a limited amount of free use for “non-profit” purposes (i.e. development/evaluation). Take a minute to peruse the TOU as you will need to return back to this agreement if you wish to place your solution into a high volume production environment.
 
 
In the next article I will supplement the Client Inception PoC with mapping and geocoding functionality.
 
REGARDS
 
 
  • I guess both the new map view in Power View and Geoflow in Excel would render the need for geocoding addresses void.

  • Hi Frederik, if you are using the geocode information for things other than graphical BI then you still need to use some sort of API to geocode your addresses and store that information back into Dynamics. I've not used Geoflow, but I'm pretty sure that PowerView simply displays the information on a Bing map. It doesn't provide any geocoding information back.

  • I read this and second posts. Excelent desribed.