Geocode Dataflow Data Schema - Version 1.0
Note
Bing Maps Spatial Data Service Geocode Dataflow API retirement
Bing Maps Spatial Data Service Geocode Dataflow API is deprecated and will be retired. Free (Basic) account customers can continue to use Bing Maps Spatial Data Service Geocode Dataflow API until June 30th, 2025. Enterprise account customers can continue to use Bing Maps Spatial Data Service Geocode Dataflow API until June 30th, 2028. To avoid service disruptions, all implementations using Bing Maps Spatial Data Service Geocode Dataflow API will need to be updated to use Azure Maps Get Geocoding Batch or Azure Maps Get Reverse Geocoding Batch API by the retirement date that applies to your Bing Maps for Enterprise account type. Azure Maps Geocoding Batch API and Azure Maps Reverse Geocode Batch API will be updated to support a larger number of locations per batch soon. For detailed migration guidance, see Migrate Bing Maps Geocode Dataflow API.
Azure Maps is Microsoft's next-generation maps and geospatial services for developers. Azure Maps has many of the same features as Bing Maps for Enterprise, and more. To get started with Azure Maps, create a free Azure subscription and an Azure Maps account. For more information about azure Maps, see Azure Maps Documentation. For migration guidance, see Bing Maps Migration Overview.
The Geocode Dataflow API supports the following formats for uploading and downloading spatial data:
- Text files with values separated by comma, tab, or pipe (|) characters.
- XML
Note
If you are a new user, use the latest version 2.0 of the data schema.
This topic describes the spatial data schema for version 1.0 the Geocode Dataflow API. Text file and the XML schema definitions are provided along with descriptions of the fields. For examples of input and output spatial data in all formats, see Sample Input and Output v1.0.
Text File Schema
The following text file schema shows how the input and output values for the Geocode Dataflow are organized in a text file. Note that there are GeocodeRequest, GeocodeResponse, and ReverseGeocodeRequest values. The Geocode Request fields define location information to geocode. The ReverseGeocodeRequest fields provide latitude and longitude information to reverse geocode. The GeocodeResponse fields are populated with the processed output data. Each item of data must provide information or a blank entry for each of these fields. Descriptions of the fields are provided in the Data Schema Definitions section below.
GeocodeEntity/@Id
GeocodeEntity/GeocodeRequest/@Culture
GeocodeEntity/GeocodeRequest/@Query
GeocodeEntity/GeocodeRequest/Address/@AddressLine
GeocodeEntity/GeocodeRequest/Address/@AdminDistrict
GeocodeEntity/GeocodeRequest/Address/@CountryRegion
GeocodeEntity/GeocodeRequest/Address/@District
GeocodeEntity/GeocodeRequest/Address/@FormattedAddress
GeocodeEntity/GeocodeRequest/Address/@Locality
GeocodeEntity/GeocodeRequest/Address/@PostalCode
GeocodeEntity/GeocodeRequest/Address/@PostalTown
GeocodeEntity/GeocodeRequest/ConfidenceFilter/@MinimumConfidence
GeocodeEntity/GeocodeResponse/Address/@AddressLine
GeocodeEntity/GeocodeResponse/Address/@AdminDistrict
GeocodeEntity/GeocodeResponse/Address/@CountryRegion
GeocodeEntity/GeocodeResponse/Address/@District
GeocodeEntity/GeocodeResponse/Address/@FormattedAddress
GeocodeEntity/GeocodeResponse/Address/@Locality
GeocodeEntity/GeocodeResponse/Address/@PostalCode
GeocodeEntity/GeocodeResponse/Address/@PostalTown
GeocodeEntity/GeocodeResponse/RooftopLocation/@Latitude
GeocodeEntity/GeocodeResponse/RooftopLocation/@Longitude
GeocodeEntity/GeocodeResponse/InterpolatedLocation/@Latitude
GeocodeEntity/GeocodeResponse/InterpolatedLocation/@Longitude
GeocodeEntity/GeocodeResponse/@Confidence
GeocodeEntity/GeocodeResponse/@DisplayName
GeocodeEntity/GeocodeResponse/@EntityType
GeocodeEntity/GeocodeResponse/@StatusCode
GeocodeEntity/GeocodeResponse/@FaultReason
GeocodeEntity/ReverseGeocodeRequest/Location/@Latitude
GeocodeEntity/ReverseGeocodeRequest/Location/@Longitude
The following two input values show an address to geocode and a latitude and longitude pair to reverse geocode. Note that both examples contain a value or blank space for each element in the text file schema.
1,en-US,,16630 Redmond Way,WA,,,,Redmond,98052,,,,,,,,,,,,,,,,,,,,,,,,
2,en-gb,,,,,,,,,,,,,,,,,,,,,,,,,,,,53.77848387,-1.719561517
XML Schema
The following schema is the XML schema for spatial data. Descriptions of the fields are provided in the Data Schema Definitions section below.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/search/local/2010/5/geocode" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="GeocodeFeed">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="GeocodeEntity">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="ReverseGeocodeRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Location">
<xs:complexType>
<xs:attribute name="Latitude" type="xs:decimal" use="required" />
<xs:attribute name="Longitude" type="xs:decimal" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ConfidenceFilter">
<xs:complexType>
<xs:attribute name="MinimumConfidence" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Culture" type="xs:string" use="optional" />
<xs:attribute name="IncludeEntityTypes" type="xs:string" use="optional" />
<xs:attribute name="IncludeNeighborhood" type="xs:boolean" use="optional" />
<xs:attribute name="MaxResults" type="xs:unsignedByte" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="GeocodeRequest">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element minOccurs="0" maxOccurs="1" name="Address">
<xs:complexType>
<xs:attribute name="AddressLine" type="xs:string" use="optional" />
<xs:attribute name="AdminDistrict" type="xs:string" use="optional" />
<xs:attribute name="Locality" type="xs:string" use="optional" />
<xs:attribute name="PostalCode" type="xs:string" use="optional" />
<xs:attribute name="CountryRegion" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ConfidenceFilter">
<xs:complexType>
<xs:attribute name="MinimumConfidence" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Culture" type="xs:string" use="optional" />
<xs:attribute name="IncludeQueryParse" type="xs:boolean" use="optional" />
<xs:attribute name="IncludeNeighborhood" type="xs:boolean" use="optional" />
<xs:attribute name="MaxResults" type="xs:unsignedByte" use="optional" />
<xs:attribute name="Query" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="GeocodeResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Address">
<xs:complexType>
<xs:attribute name="AddressLine" type="xs:string" use="optional" />
<xs:attribute name="AdminDistrict" type="xs:string" use="optional" />
<xs:attribute name="CountryRegion" type="xs:string" use="optional" />
<xs:attribute name="District" type="xs:string" use="optional" />
<xs:attribute name="FormattedAddress" type="xs:string" use="optional" />
<xs:attribute name="Locality" type="xs:string" use="optional" />
<xs:attribute name="PostalCode" type="xs:string" use="optional" />
<xs:attribute name="PostalTown" type="xs:string" use="optional" />
<xs:attribute name="Neighborhood" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="RooftopLocation">
<xs:complexType>
<xs:attribute name="Latitude" type="xs:decimal" use="required" />
<xs:attribute name="Longitude" type="xs:decimal" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="InterpolatedLocation">
<xs:complexType>
<xs:attribute name="Latitude" type="xs:decimal" use="required" />
<xs:attribute name="Longitude" type="xs:decimal" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="QueryParseValue">
<xs:complexType>
<xs:attribute name="Property" type="xs:string" use="required" />
<xs:attribute name="Value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="DisplayName" type="xs:string" use="optional" />
<xs:attribute name="EntityType" type="xs:string" use="optional" />
<xs:attribute name="Confidence" type="xs:string" use="optional" />
<xs:attribute name="StatusCode" type="xs:string" use="required" />
<xs:attribute name="FaultReason" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="DataQuality">
<xs:complexType>
<xs:attribute name="feedAlias" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
The following two input values show a location to geocode and a latitude and longitude pair to reverse geocode.
<GeocodeFeed>
<GeocodeEntity Id="001" xmlns="http://schemas.microsoft.com/search/local/2010/5/geocode">
<GeocodeRequest Culture="en-US">
<Address AddressLine="16630 Redmond Way" AdminDistrict="WA" Locality="Redmond" PostalCode="98052" />
</GeocodeRequest>
</GeocodeEntity>
<GeocodeEntity Id="012" xmlns="http://schemas.microsoft.com/search/local/2010/5/geocode">
<ReverseGeocodeRequest Culture="en-gb">
<Location Longitude="-1.71956151723862" Latitude="53.7784838676453"/>
</ReverseGeocodeRequest>
</GeocodeEntity>
</GeocodeFeed>
Data Schema Definitions
The following table provides descriptions of the fields in the spatial data schema. Field values are not case-sensitive.
Field | Operation | Values |
---|---|---|
Id | Geocode Request | A string that contains the ID of a spatial data input value. Example: 1 |
Culture | Geocode Request | A string specifying the culture. Example: en-us [default] |
Query | Geocode Request | A query string that contains address information to geocode. Example: 1600 Pennsylvania Ave NW Washington DC |
MaxResults | Geocode Request Geocode Response |
An integer from 1 to 20 specifying the maximum number of results to return. |
IncludeNeighborhood | Geocode Request Geocode Response |
A boolean value (true|false or1|0) that specifies whether to return neighborhood information in the address. Example: Kiniski Gardens |
IncludeQueryParse | Geocode Request Geocode Response |
A boolean value (true|false or1|0) that specifies whether to return parsing information. This option is available with XML requests only. |
QueryParseValue | Geocode Response | One or more property-value query-parse pairs. Example: <QueryParseValue Property="Landmark" Value="Space Needle" /> |
IncludeEntityTypes | Geocode Request Geocode Response |
A list of POI Entity Types to return. This parameter is only available when you are reverse-geocoding, and only returns a geocoded address if the entity type for that address is one of the entity types you specified.For a list of entity types, see Location and Area Types. |
EntityType | Geocode Response | A string specifying the entity type of the location.For a list of entity types, see Location and Area Types. Examples: Address RoadBlock |
Address.AddressLine | Geocode Request Geocode Response |
A string specifying the street line of an address. The AddressLine property is the most precise, official line for an address relative to the postal agency that services the area specified by the Locality, PostalTown, or PostalCode properties. Example: 1 Microsoft Way |
Address.AdminDistrict | Geocode Request Geocode Response |
A string specifying the subdivision name within the country or region for an address. This element is also commonly treated as the first order administrative subdivision; but in some cases, it is the second, third, or fourth order subdivision within a country, a dependency, or a region. Example: WA |
Address.CountryRegion | Geocode Request Geocode Response |
A string specifying the country or region name of an address. Example: US |
Address.District | Geocode Request | A string specifying the higher level administrative subdivision used in some countries or regions. |
Address.FormattedAddress | Geocode Response | A string that contains a full formatted address Note: Do not use this field as a geocode request value. This field is used in the response. |
Address.Locality | Geocode Request Geocode Response |
A string specifying the populated place for the address. This commonly refers to a city, but may refer to a suburb or a neighborhood in certain countries/regions. Example: Seattle |
Address.Neighborhood | Geocode Response | A string specifying the neighborhood for the address. |
Address.PostalCode | Geocode Request Geocode Response |
A string specifying the post code, postal code, or ZIP Code of an address. Example: 98178 |
Address.PostalTown | Geocode Request | A string specifying the postal city of an address. |
ConfidenceFilter.MinimumConfidence | Geocode Request | A string specifying the minimum confidence required for the result. The following are possible confidence values: - Low - Medium - High Example: High |
Location.Latitude Location.Longitude |
Reverse Geocode Request | A set of double values representing degrees of latitude and longitude. Valid range of latitude values: [-90, +90] Example: 47.673099 Valid range of longitude values: [-180, +180] Example: -122.11871 |
RooftopLocation.Latitude RooftopLocation.Longitude |
Geocode Response | A pair of double values representing degrees of latitude and longitude that are associated with an address. |
InterpolatedLocation.Latitude InterpolatedLocation.Longitude |
Geocode Response | A pair of double values representing degrees of latitude and longitude that are the result of interpolating between two points. |
Confidence | Geocode Response | A string specifying the confidence of the result. The following are possible confidence values: - Low - Medium - High |
DisplayName | Geocode Response | A string specifying the display name for the response. Example: 16552 NE 74th St, Redmond, WA 98052-7804 |
StatusCode | Geocode Response | A string that provides information about the success of the operation. Examples: Success BadRequest |
FaultReason | Geocode Response | Information about an error that occurred during the geocode dataflow job. This value is provided only for data that was not processed successfully. Example: The Address.FormattedAddress property must not be specified because it is an output-only property. |