The Value of Spatial Data Services (SDS)

The end of life for MapPoint Web Service and Multimap is quickly approaching (November 18, to be exact), so it’s a good time to start considering migrating to Bing Maps. This blog focuses on why the use of the Bing Maps Spatial Data Services (SDS) should be considered as your migration solution.

With MapPoint Web Service there are customer data sources and FindNearby queries. You may have considered spatial features found in SQL Server (or SQL Azure). SQL Spatial provides a robust spatial database and is a great solution for complex queries, like find near a route, find in a polygon, etc. If you are using MapPoint Web Service polygon features, SQL Spatial is a good way to go. For those of you with simple queries, SQL Spatial can certainly be used, but it comes at an additional cost and solution complexity (for example, you need to create an API to query data).
 


 
The Bing Maps SDS APIs provide the ability to upload and query your point data, like buildings or stores. Here are some significant reasons to migrate from MapPoint Web Service to Bing Maps SDS.

1)    SDS is a RESTful API. It’s easy to understand and use without WSDLs and SOAP parsing. Like other Bing Maps APIs, the REST APIs support JSONP, thus they can easily be used client side without cross-domain issues.

2)    SDS runs on the Bing Maps Content Delivery Network (CDN) (see figure 1.) When you upload your data using the Data Source Management APIs your data gets automatically replicated to the 19 CDN nodes. When using a client-side query, the request gets routed to the nearest CDN node, which reduces latency and significantly increases performance while adding the reliability that comes with such massive data replication.

Figure 1 – Bing Maps Content Delivery Network nodes

3)    SDS Supports Bounding Boxes. In many applications (store locators, for instance), organizations will often use a FindNearby query (“Give me all the locations within a certain radius”). This is fine for initial queries, but what if the user wants to pan around? FindNearby queries typically don’t work well. Does the user really care about what was nearby their initial query? And does the user really care about all the locations within 20 miles if they have zoomed in to a very specific area? In addition to a FindNearby query, the SDS Query API also supports bounding box queries. This means that as the user pans/zooms the map, you can query based on the user’s new view and load data for the precise area they want to see.