Bing Maps .NET Spatial Data Services Toolkit Made Open Source

Earlier this year we released the Bing Maps .NET REST Toolkit as an open source project on Github. Since then we have seen had a lot of positive feedback from developers and are seeing over 200M requests made each month to the REST services with this toolkit. Today we would like to announce the release of the Bing Maps .NET Spatial Data Services Toolkit on Github.

The Bing Maps Spatial Data Services (SDS) is another type of REST based service provided Bing Maps that provides the following key features:

  • Batch forward and reverse Geocoding of up to 200,000 rows of data in a single request.
  • Spatial data hosting and services: Upload a two-dimensional table of data as a data source and expose it as a spatial REST service.
    • Perform spatial queries against data sources using:
      • Find Nearby (radial)
      • Find in bounding box
      • Find by Property
      • Find along a route
      • Intersection search (i.e. search within a custom shape.)
  • Public Data sources: Access public data sources that contain information such as points of interest and census data.
  • Boundary Data: Access to administrative boundary data via the Geodata API. Boundary data types available vary from country to country. Supported boundary types; zip/postal codes, neighborhoods, cities, counties, states/provinces, countries, and continents.

The Bing Maps Spatial Data Services are very powerful and fast, however, using them from a .NET application used to require a decent amount of work. The Bing Maps .NET Spatial Data Services Toolkit aims to make it easy to use these services from your .NET application by providing a portable class library which wraps the Bing Maps Spatial Data Services and implements best practices to ensure good performance and the most accurate results are returned. In the past, uploading a data source using the APIs was a lot of work as you first needed to geocode it, then merge the geocoded results back into the data set before finally uploading. It could easily take several hours just to implement these services into your application. Now, with the aid of a NuGet package you can implement the Bing Maps Spatial Data Services in minutes. You can find this project on GitHub here.

Here are some of the key features this library provides:

Data Source API:

  • Easily geocode and upload a data source with just a few lines of code.
  • Automatically compresses data before uploading.
  • Supports uploading of delimited (pipe, tab, comma), XML (as per SDS schema), KML, KMZ and ESRI Shape files.
  • Local data source validation. Reduces the number of invalid data sources that are uploaded, thus reduce the number of wasted SDS jobs that are created.

Geocode Data Flow API:

  • Easily forward or reverse geocode up to 200,000 entities in a single request.
  • Combines like addresses as a single request. This allows rows with the same addresses to only create a single row in the geocode process. This helps to maximize the 1M free batch geocode limit.

Geodata API:

  • Easily access the boundary data from the GeoData API and search for zip/postal codes, neighborhoods, cities, counties, states/provinces, countries, and continent boundaries.
  • Provides compression tools for handling the encoded polygon data.

Query API:

  • Classes for easily creating queries for a data source.
  • Parses response from any data source into a common QueryResult object.
  • Support for multiple distance units (km, miles, feet, meters, yards)
  • Support for filters.
  • Handles encoding filter values, and escapes single quotes by using the OData convention of using two single quotes side by side.

How to add the .NET Spatial Data Services Toolkit to your project

In Visual Studio, open the NuGet Package Manager, select the Browse tab and search for "Bing Maps SDS". This will reduce the list of results enough to find the "BingMapsSDSToolkit" package. If you want to verify that you have the correct package, the listed owner of the package is bingmaps and the author is Microsoft. Install the package into your project.

Alternatively, if you are using the NuGet command line:

PM> Install-Package BingMapsSDSToolkit

Bing Maps and Open Source

The Bing Maps team has been working towards being more involved in the Open Source community. Here are a few other open source projects released by the Bing Maps team that you may be interested in.

We also have many other open source projects planned, so stay tuned.