Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica como migrar a API de Fluxo de Dados do Geocódigo do Bing Mapas para o Lote de Geocodificação do Azure Mapas e a API do Lote de Geocodificação Reversa. A API do Lote de Geocodificação do Azure Mapas é usada para obter coordenadas de latitude e longitude de um endereço de rua ou nome de um local no modo de lote com uma única chamada à API. A API do Lote de Geocodificação do Azure Mapas é uma solicitação HTTP POST que envia lotes de consultas para a API de Geocodificação do Azure Mapas em uma única solicitação. A API do Lote de Geocodificação Reversa do Azure Mapas é usada para traduzir coordenadas de latitude e longitude em um endereço de rua compreensível por humanos. A API do Lote de Geocodificação Reversa do Azure Mapas é uma solicitação HTTP POST que envia lotes de consultas para o Azure Mapas Obter API de Geocodificação Reversa em uma única solicitação.
Pré-requisitos
- Uma conta do Azure
- Uma Conta do Azure Mapas
- Uma chave de assinatura ou outra forma de autenticação no Azure Mapas
Diferenças notáveis
- A API de Fluxo de Dados do Geocódigo do Bing Mapas dá suporte à geocodificação em lote reversa e de encaminhamento dentro da mesma API. O Azure Mapas tem API separada para geocodificação reversa e de encaminhamento.
- A API de Fluxo de Dados do Geocódigo do Bing Mapas requer o carregamento de seus dados de localização como um arquivo de dados XML ou texto (csv, pipe ou tab delimitado). O Lote de Geocodificação do Azure Mapas e a API do Lote de Geocodificação Reversa não usam uma abordagem de upload de arquivo de dados, mas sim uma solicitação HTTP POST com dados de localização no formato GeoJSON no corpo da solicitação.
- A API de Fluxo de Dados do Geocódigo do Bing Mapas dá suporte a até 200.000 entidades por upload. O Lote de Geocodificação do Azure Mapas e a API do Lote de Geocodificação Reversa dão suporte a até 100 consultas em lote em uma solicitação síncrona e até 200.000 em uma solicitação assíncrona.
- A API de Fluxo de Dados do Geocódigo do Bing Mapas requer uma série de chamadas de API após o upload de dados inicial para obter o status e baixar os resultados. O Lote de Geocodificação do Azure Mapas e a solicitação síncrona da API do Lote de Geocodificação Reversa não exigem chamadas de API adicionais. A solicitação assíncrona requer chamadas adicionais para obter o status do processo em lote e baixar os resultados.
- As coordenadas de fluxo de dados do Geocódigo do Bing Mapas estão em formato de latitude/longitude. As coordenadas da API do Lote de Geocodificação Do Azure Mapas e da API do Lote de Geocodificação Reversa estão em formato de longitude/latitude (devido ao formato GeoJSON).
- Ao contrário do Bing Mapas para Empresas, o Azure Mapas é um serviço global que dá suporte à especificação de um escopo geográfico, o que permite limitar a residência de dados às áreas geográficas de Europa (UE) ou América do Norte (EUA) (áreas geográficas). Todas as solicitações (incluindo dados de entrada) são processadas exclusivamente na área geográfica especificada. Para obter mais informações, confira Escopo geográfico do serviço do Azure Mapas.
Segurança e autenticação
O Bing Mapas para Empresas dá suporte somente à autenticação de chave de API. O Azure Mapas dá suporte a várias opções de autenticação de chamadas à API, como uma chave de assinatura, o Microsoft Entra ID ou o token SAS (assinatura de acesso compartilhado). Para obter mais informações sobre segurança e autenticação no Azure Mapas, consulte Autenticação com o Azure Mapas e a seção Segurança na documentação do Lote de Geocodificação do Azure Mapas.
Parâmetros da solicitação
A tabela a seguir lista os parâmetros de solicitação de Fluxo de dados do Geocódigo do Bing Mapas e o equivalente do Azure Mapas:
| Parâmetro Bing Mapas | Parâmetro do Azure Mapas | Descrição |
|---|---|---|
| dataLocation | Não é necessário | |
| input | Não é necessário | A API de Fluxo de Dados do Geocódigo do Bing Mapas dá suporte ao formato XML e Text (csv, tab e pipe delimitado) para o arquivo de dados de entrada de geocodificação em lote. O Azure Mapas dá suporte ao formato JSON para os dados de entrada de geocodificação em lote na solicitação HTTP POST. |
| output | Não é necessário | A API de Fluxo de Dados do Geocódigo do Bing Mapas dá suporte a JSON e XML para os dados de saída do código geográfico do lote. O Azure Mapas dá suporte ao formato JSON para os dados de saída de geocodificação em lote. |
Para obter mais informações sobre os parâmetros de URI do Azure Mapas e o corpo da solicitação, consulte a documentação do Lote de Geocodificação do Azure Mapas e do Lote de Geocodificação Reversa.
Comparação de entrada e saída do Esquema de Dados do Bing Mapas 2.0 com o Lote do Geocódigo do Azure Mapas e a API do Lote de Geocódigo Reverso:
| Campo Mapas do Bing | Operação Bing Mapas | Campo Azure Mapas | Tipo de dados do Azure Mapas | Descrição |
|---|---|---|---|---|
| Address.AddressLine | Solicitação de Geocódigo Resposta do Geocódigo |
addressLine | string | |
| Address.AdminDistrict | Solicitação de Geocódigo Resposta do Geocódigo |
adminDistrict | string | |
| Address.CountryRegion | Solicitação de Geocódigo Resposta do Geocódigo |
countryRegion | string | |
| Address.District | Solicitação de Geocódigo | adminDistrict2 | string | |
| Address.FormattedAddress | Resposta do Geocódigo | |||
| Address.Landmark | Resposta do Geocódigo | Sem suporte | Sem suporte | |
| Address.Locality | Solicitação de Geocódigo Resposta do Geocódigo |
localidade | string | |
| Address.Neighborhood | Resposta do Geocódigo | neighborhood | string | |
| Address.PostalCode | Solicitação de Geocódigo Resposta do Geocódigo |
postalCode | string | |
| Address.PostalTown | Solicitação de Geocódigo | adminDistrict3 | ||
| BoundingBox.SouthLatitude, BoundingBox.EastLongitude, BoundingBox.NorthLatitude, BoundingBox.EastLongitude | Resposta do Geocódigo | bbox | number[] | A projeção do Azure Mapas usada é EPSG:3857. Para obter mais informações, consulte RFC 7946. |
| Confiança | Resposta do Geocódigo | confidence | ConfidenceEnum | Para obter mais informações, consulte a documentação do Lote de Geocodificação do Azure Mapas e da API do Lote de Geocodificação Reversa. |
| ConfidenceFilter.MinimumConfidence | Solicitação de Geocódigo Solicitação de Geocódigo reverso |
Sem suporte | Sem suporte | |
| Cultura | Solicitação de Geocódigo Solicitação de Geocódigo reverso |
Cabeçalho da solicitação: Accept-Language | string | Para obter mais informações, consulte idiomas compatíveis com o Azure Mapas. |
| EntityType | Resposta do Geocódigo | type | string | Para obter mais informações, consulte a documentação do Lote de Geocodificação do Azure Mapas e da API do Lote de Geocodificação Reversa. |
| FaultReason | Resposta do Geocódigo | Sem suporte | Sem suporte | |
| GeocodeEntity | Contêiner XML | Não é necessário | Não é necessário | |
| GeocodeFeed | Contêiner XML | Não é necessário | Não é necessário | |
| GeocodePoint | Resposta do Geocódigo | geocodePoints | GeocodePoints[] | Para obter mais informações, consulte a documentação do Lote de Geocodificação do Azure Mapas e da API do Lote de Geocodificação Reversa. |
| GeocodeRequest | Contêiner XML | Não é necessário | Não é necessário | O Azure Mapas tem APIs separadas para geocodificação avançada e geocodificação reversa. |
| ID | Solicitação de Geocódigo | Não é necessário | Não é necessário | |
| IncludeEntityTypes | Solicitação de Geocódigo Solicitação de Geocódigo reverso |
Sem suporte | Sem suporte | |
| IncludeNeighborhood | Solicitação de Geocódigo Solicitação de Geocódigo reverso |
Não é necessário | Não é necessário | No Azure Mapas, as informações de bairro são retornadas na resposta por padrão quando disponíveis. |
| IncludeQueryParse | Solicitação de Geocódigo | Sem suporte | Sem suporte | |
| Location.Latitude Location.Longitude |
Solicitação de Geocódigo reverso | coordenadas | number[] | Necessário como entrada se estiver usando a API do Lote de Geocodificação Reversa do Azure Mapas para fazer geocodificação reversa. |
| MatchCodes | Resposta do Geocódigo | matchCodes | MatchCodesEnum | Para obter mais informações, consulte a documentação do Lote de Geocodificação do Azure Mapas e da API do Lote de Geocodificação Reversa. |
| MaxResults | Solicitação de Geocódigo Solicitação de Geocódigo reverso |
top | Número inteiro int32 |
No Azure Mapas, o número máximo de respostas retornadas. O padrão é 5, o mínimo é 1 e o máximo é 20. |
| Nome | Resposta do Geocódigo | Sem suporte | Sem suporte | |
| Point.Latitude, Point.Longitude | Resposta do Geocódigo | coordenadas | number[] | O Bing Mapas retorna as coordenadas no formato de latitude/longitude. O Azure Mapas retorna coordenadas no formato longitude/latitude (devido a estar no formato GeoJSON). |
| Consulta | Solicitação de Geocódigo | consulta | string | |
| QueryParseValue | Resposta do Geocódigo | Sem suporte | Sem suporte | |
| ReverseGeocodeRequest | Contêiner XML | Não é necessário | Não é necessário | O Azure Mapas tem APIs separadas para geocodificação avançada e geocodificação reversa. |
| StatusCode | Resposta do Geocódigo | Sem suporte | Sem suporte | |
| StrictMatch | Solicitação de Geocódigo | Sem suporte | Sem suporte | |
| TraceId | Resposta do Geocódigo | Sem suporte | Sem suporte | |
| Versão | Não é necessário | Não é necessário |
Para obter mais informações sobre os campos de resposta do Lote de Geocodificação do Azure Mapas, consulte a resposta Definições.
Exemplos de solicitação
Solicitação da API de Fluxo de Dados do Geocódigo do Bing Mapas:
http://spatial.virtualearth.net/REST/v1/Dataflows/Geocode?input=xml&key={BingMapsKey}
Para obter exemplos que mostram dados de entrada e saída de exemplo para a versão 2.0 do fluxo de dados do Geocódigo, consulte Dados de entrada e saída do Fluxo de Dados do Geocódigo Versão 2.0.
Solicitação da API do Lote de Geocodificação do Azure Mapas:
POST https://atlas.microsoft.com/geocode:batch?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Subscription-key}
Para enviar as consultas de geocodificação, use uma solicitação HTTP POST em que o corpo da solicitação contém a matriz batchItems no formato JSON e o cabeçalho Content-Type definido como application/json.
O JSON a seguir mostra uma solicitação de exemplo contendo duas consultas de geocodificação, com um local em formato não estruturado e um local em formato estruturado:
{
"batchItems": [
{
"addressLine": "One, Microsoft Way, Redmond, WA 98052",
"top": 2
},
{
"addressLine": "Pike Pl",
"adminDistrict": "WA",
"locality": "Seattle",
"top": 3
}
]
}
Solicitação de API do Lote de Geocodificação Reversa do Azure Mapas de exemplo:
POST https://atlas.microsoft.com/reverseGeocode:batch?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Subscription-key}
Para enviar as consultas de geocodificação reversa, use uma solicitação HTTP POST em que o corpo da solicitação contém uma matriz batchItems no formato JSON e o cabeçalho Content-Type está definido como application/json.
O JSON a seguir mostra uma solicitação de exemplo contendo duas consultas de geocodificação reversa:
{
"batchItems": [
{
"coordinates": [
-122.128275,
47.639429
],
"resultTypes": [
"Address",
"PopulatedPlace"
],
"optionalId": "4C3681A6C8AA4AC3441412763A2A25C81444DC8B"
},
{
"coordinates": [
-122.341979399674,
47.6095253501216
],
"optionalId": "6M9W39P12SNHGAIZ4JQ7F57NWJLV2BRYEQRD7OH7"
}
]
}
Exemplos de respostas
Uma URL para baixar os resultados do trabalho de Geocódigo é fornecida quando o trabalho do fluxo de dados do Geocode do Bing Mapas é processado com êxito, conforme mostrado pelo status do trabalho concluído. Para obter um exemplo de uma saída bem-sucedida do fluxo de dados do Geocódigo do Bing Mapas, consulte Dados de entrada e saída do Fluxo de Dados do Geocódigo Versão 2.0 na documentação do Bing Mapas.
O exemplo a seguir mostra o que é retornado no corpo da resposta HTTP ao executar uma solicitação da API do Lote de Geocodificação do Azure Mapas:
{
"summary": {
"successfulRequests": 1,
"totalRequests": 2
},
"batchItems": [
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"type": "Address",
"confidence": "High",
"matchCodes": [
"Good"
],
"address": {
"locality": "Redmond",
"adminDistricts": [
{
"shortName": "WA"
},
{
"shortName": "King"
}
],
"countryRegion": {
"ISO": "US",
"name": "United States"
},
"postalCode": "98052",
"formattedAddress": "1 Microsoft Way, Redmond, WA 98052",
"addressLine": "1 Microsoft Way"
},
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-122.128275,
47.639429
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Display",
"Route"
]
},
{
"geometry": {
"type": "Point",
"coordinates": [
-122.127028,
47.638545
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Route"
]
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
-122.128275,
47.639429
]
},
"bbox": [
-122.1359181505759,
47.63556628242932,
-122.1206318494241,
47.643291717570676
]
}
]
},
{
"error": {
"code": "Conflicting Parameters",
"message": "When 'query' is present, only the following parameters are valid: 'bbox, location, view, top'. 'addressLine' was passed"
}
}
]
}
O exemplo a seguir mostra o que é retornado no corpo da resposta HTTP ao executar uma solicitação da API do Lote de Geocodificação Reversa do Azure Mapas:
{
"batchItems": [
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.1294081,
47.6391325
]
},
"properties": {
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-122.1294081,
47.6391325
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Display"
]
}
],
"address": {
"addressLine": "15770 NE 31st St",
"adminDistricts": [
{
"shortName": "WA"
},
{
"shortName": "King Co."
}
],
"countryRegion": {
"name": "United States",
"iso": "US"
},
"locality": "Redmond",
"neighborhood": "Overlake",
"postalCode": "98052",
"formattedAddress": "15770 NE 31st St, Redmond, WA 98052, United States"
},
"confidence": "High",
"matchCodes": [
"Good"
],
"type": "Address"
},
"bbox": [
-122.13705120720665,
47.635269782429326,
-122.12176499279336,
47.64299521757068
]
}
]
},
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.341979399674,
47.6095253501216
]
},
"properties": {
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-122.341979399674,
47.6095253501216
]
},
"calculationMethod": "Interpolation",
"usageTypes": [
"Display",
"Route"
]
}
],
"address": {
"addressLine": "1736 Pike Pl",
"adminDistricts": [
{
"shortName": "WA"
},
{
"shortName": "King Co."
}
],
"countryRegion": {
"name": "United States",
"iso": "US"
},
"intersection": {
"baseStreet": "Pike Pl",
"displayName": "Pike Pl and Stewart St",
"intersectionType": "Near",
"secondaryStreet1": "Stewart St",
"secondaryStreet2": null
},
"locality": "Seattle",
"neighborhood": "Downtown Seattle",
"postalCode": "98101",
"formattedAddress": "1736 Pike Pl, Seattle, WA 98101, United States"
},
"confidence": "Medium",
"matchCodes": [
"Good"
],
"type": "Address"
},
"bbox": [
-122.34961817972945,
47.605662632550924,
-122.33434061961856,
47.61338806769228
]
}
]
}
],
"summary": {
"successfulRequests": 2,
"totalRequests": 2
}
}
Uso de transações
Semelhante à API de Fluxo de Dados do Bing Mapas, o Lote de Geocodificação do Azure Mapas e as APIs do Lote de Geocodificação Reversa registram uma transação faturável por item geocodificado. Por exemplo, 100 locais geocodificados na solicitação em lote resultam em 100 transações faturáveis. Para obter mais informações sobre transações do Azure Mapas, consulte Noções básicas sobre transações do Azure Mapas.
Informações adicionais
Mais APIs de Geocodificação do Azure Mapas
- Obter Geocodificação: use para obter coordenadas de latitude e longitude de um endereço de rua ou nome de um local.
- Obter Geocodificação Reversa: use para obter um endereço de rua e informações de localização de coordenadas de latitude e longitude.
Suporte