Compartilhar via


Migrar a API de Fluxo de Dados do Geocódigo do Bing Mapas

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

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