Dela via


Migrera API:et för Bing-Kartor Geocode-dataflöde

Den här artikeln beskriver hur du migrerar API Kartor:et för geokoddataflöde i Bing till Azure Kartor Geocoding Batch och Batch-API för omvänd geokodning. Azure Kartor Geocoding Batch API används för att hämta latitud- och longitudkoordinater för en gatuadress eller ett namn på en plats i batchläge med ett enda API-anrop. Azure Kartor Geocoding Batch API är en HTTP POST-begäran som skickar batchar med frågor till Azure Kartor Geocoding API i en enda begäran. Azure Kartor Batch-API för omvänd geokodning används för att översätta latitud- och longitudkoordinater till en mänsklig begriplig gatuadress. Azure Kartor Batch-API för omvänd geokodning är en HTTP POST-begäran som skickar batchar med frågor till Azure Kartor Hämta API för omvänd geokodning i en enda begäran.

Förutsättningar

Anmärkningsvärda skillnader

  • Bing Kartor Geocode Dataflow API stöder vidarebefordran och omvänd batch-geokodning inom samma API. Azure Kartor har ett separat API för framåtriktad och omvänd geokodning.
  • Bing Kartor Geocode Dataflow API kräver att du laddar upp dina platsdata som en XML- eller textdatafil (csv, pipe eller tabbavgränsad). Azure Kartor Geocoding Batch och Batch API för omvänd geokodning använder inte någon datafiluppladdningsmetod, utan snarare en HTTP POST-begäran med platsdata i GeoJSON-format i brödtexten i begäran.
  • Bing Kartor Geocode Dataflow API stöder upp till 200 000 entiteter per uppladdning. Azure Kartor Geocoding Batch och Batch-API:et för omvänd geokodning stöder upp till 100 batchbaserade frågor i en synkron begäran och upp till 200 000 i en asynkron begäran.
  • Bing Kartor Geocode Dataflow API kräver en serie API-anrop efter den första datauppladdningen för att få status och ladda ned resultat. Den synkrona Begäran om Azure Kartor Geocoding Batch och Batch API för omvänd geokodning kräver inte ytterligare API-anrop. Den asynkrona begäran kräver ytterligare anrop för att hämta batchprocessstatusen och ladda ned resultat.
  • Bing-Kartor Geocode-dataflödeskoordinater är i latitud/longitudformat. Api-koordinaterna för Azure Kartor Geocoding Batch och Batch API för omvänd geokodning är i longitud-/latitudformat (på grund av att de är i GeoJSON-format).
  • Till skillnad från Bing Kartor för Enterprise är Azure Kartor en global tjänst som har stöd för att ange ett geografiskt omfång, vilket gör att du kan begränsa datahemvist till geografiska områden i Europa (EU) eller USA (USA). Alla begäranden (inklusive indata) bearbetas uteslutande i det angivna geografiska området. Mer information finns i Azure Kartor tjänstens geografiska omfång.

Säkerhet och autentisering

Bing Kartor för Enterprise stöder endast API-nyckelautentisering. Azure Kartor stöder flera sätt att autentisera dina API-anrop, till exempel en prenumerationsnyckel, Microsoft Entra-ID eller SAS-token (Signatur för delad åtkomst). Mer information om säkerhet och autentisering i Azure Kartor finns i Autentisering med Azure Kartor och avsnittet Säkerhet i Dokumentation om Azure Kartor Geocoding Batch.

Parametrar för begäran

I följande tabell visas parametrarna för begärandeparametrarna för Bing Kartor Geocode Dataflow och Motsvarande Azure Kartor:

Parametern Bing Kartor Azure Kartor-parameter beskrivning
dataLocation Behövs inte
Input Behövs inte Bing Kartor Geocode Dataflow API stöder XML- och textformat (csv, tab och pipe delimited) för indatafilen för batchgeokodning. Azure Kartor stöder JSON-format för batch-geokodning av indata i HTTP POST-begäran.
Produktionen Behövs inte Bing Kartor Geocode Dataflow API stöder JSON och XML för batch geocode-utdata. Azure Kartor stöder JSON-format för batch-geokodning av utdata.

Mer information om Azure Kartor URI-parametrar och begärandetext finns i dokumentationen om Azure Kartor Geocoding Batch och Batch för omvänd geokodning.

Indata och utdata i Bing Kartor Data Schema 2.0 jämfört med Azure Kartor Geocode Batch och Batch-API för omvänd geokod:

Bing Kartor fält Bing Kartor åtgärd Azure Kartor-fält Azure Kartor datatyp beskrivning
Address.AddressLine Geocode-begäran
Geocode-svar
addressLine Sträng
Address.AdminDistrict Geocode-begäran
Geocode-svar
adminDistrict sträng
Address.CountryRegion Geocode-begäran
Geocode-svar
countryRegion sträng
Adress.Distrikt Geocode-begäran adminDistrict2 sträng
Address.FormattedAddress Geocode-svar
Address.Landmark Geocode-svar Stöds inte Stöds inte
Address.Locality Geocode-begäran
Geocode-svar
Localityen Sträng
Address.Neighborhood Geocode-svar Kvarter Sträng
Address.PostalCode Geocode-begäran
Geocode-svar
Postnummer Sträng
Adress.PostalTown Geocode-begäran adminDistrict3
BoundingBox.SouthLatitude, BoundingBox.EastLongitude, BoundingBox.NorthLatitude, BoundingBox.EastLongitude Geocode-svar Centrera number[] Azure Kartor projektion som används är EPSG:3857. Mer information finns i RFC 7946.
Förtroende Geocode-svar Förtroende ConfidenceEnum Mer information finns i dokumentationen om Azure Kartor Geocoding Batch och Batch API för omvänd geokodning. 
ConfidenceFilter.MinimumConfidence Geocode-begäran
Omvänd Geocode-begäran
Stöds inte Stöds inte
Kultur Geocode-begäran
Omvänd Geocode-begäran
Begärandehuvud: Accept-Language Sträng Mer information finns i Språk som stöds i Azure Kartor.
EntityType Geocode-svar Typ Sträng Mer information finns i dokumentationen om Azure Kartor Geocoding Batch och Batch API för omvänd geokodning. 
FaultReason Geocode-svar Stöds inte Stöds inte
GeocodeEntity XML-container Behövs inte Behövs inte
GeocodeFeed XML-container Behövs inte Behövs inte
GeocodePoint Geocode-svar geocodePoints GeocodePoints[] Mer information finns i dokumentationen om Azure Kartor Geocoding Batch och Batch API för omvänd geokodning. 
GeocodeRequest XML-container Behövs inte Behövs inte Azure Kartor har separata API:er för framåtriktad geokodning och omvänd geokodning.
Id Geocode-begäran Behövs inte Behövs inte
IncludeEntityTypes Geocode-begäran
Omvänd Geocode-begäran
Stöds inte Stöds inte
IncludeNeighborhood Geocode-begäran
Omvänd Geocode-begäran
Behövs inte Behövs inte I Azure Kartor returneras grannskapsinformation som standard i svaret när det är tillgängligt. 
IncludeQueryParse Geocode-begäran Stöds inte Stöds inte
Location.Latitude
Location.Longitude
Omvänd Geocode-begäran Koordinater number[] Krävs som indata om du använder Azure Kartor Batch-API för omvänd geokodning för att utföra omvänd geokodning.
MatchCodes Geocode-svar matchCodes MatchCodesEnum Mer information finns i dokumentationen om Azure Kartor Geocoding Batch och Batch API för omvänd geokodning. 
MaxResults Geocode-begäran
Omvänd Geocode-begäran
Topp integer
int32
I Azure Kartor returneras det maximala antalet svar. Standardvärdet är 5, minimum är 1 och max 20. 
Namn Geocode-svar Stöds inte Stöds inte
Point.Latitude, Point.Longitude Geocode-svar Koordinater number[] Bing-Kartor returnerar koordinaterna i latitud/longitudformat. Azure Kartor returnerar koordinater i longitud-/latitudformat (på grund av geoJSON-format).
Fråga Geocode-begäran Fråga Sträng
QueryParseValue Geocode-svar Stöds inte Stöds inte
ReverseGeocodeRequest XML-container Behövs inte Behövs inte Azure Kartor har separata API:er för framåtriktad geokodning och omvänd geokodning.
StatusKod Geocode-svar Stöds inte Stöds inte
StrictMatch Geocode-begäran Stöds inte Stöds inte
TraceId Geocode-svar Stöds inte Stöds inte
Version Behövs inte Behövs inte

Mer information om svarsfälten för Azure Kartor Geocoding Batch finns i svarsdefinitioner.

Exempel på begäran

Api-begäran för Bing Kartor Geocode Dataflow:

http://spatial.virtualearth.net/REST/v1/Dataflows/Geocode?input=xml&key={BingMapsKey}

Exempel som visar exempel på indata och utdata för version 2.0 av Geocode-dataflödet finns i Geocode Dataflow Sample Input and Output Data Version 2.0.

Begäran om Azure Kartor Geocoding Batch API:

POST https://atlas.microsoft.com/geocode:batch?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Subscription-key}

Om du vill skicka geokodningsfrågor använder du en HTTP POST-begäran där brödtexten i begäran innehåller batchItems-matrisen i JSON-format och innehållstyprubriken inställd på application/json.

Följande JSON visar en exempelbegäran som innehåller två geokodningsfrågor, med en plats i ostrukturerat format och en plats i strukturerat format:

{ 
  "batchItems": [ 
    { 
      "addressLine": "One, Microsoft Way, Redmond, WA 98052", 
      "top": 2 
    }, 
    { 
      "addressLine": "Pike Pl", 
      "adminDistrict": "WA", 
      "locality": "Seattle", 
      "top": 3 
    } 
  ] 
} 

Exempel på En Batch API-begäran för omvänd geokodning i Azure Kartor:

POST https://atlas.microsoft.com/reverseGeocode:batch?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Subscription-key}

Om du vill skicka omvända geokodningsfrågor använder du en HTTP POST-begäran där brödtexten i begäran innehåller en batchItems-matris i JSON-format och rubriken Content-Type är inställd på application/json.

Följande JSON visar en exempelbegäran som innehåller två omvända geokodningsfrågor:

{ 
  "batchItems": [ 
    { 
      "coordinates": [ 
        -122.128275, 
        47.639429 
      ], 
      "resultTypes": [ 
        "Address", 
        "PopulatedPlace" 
      ], 
      "optionalId": "4C3681A6C8AA4AC3441412763A2A25C81444DC8B" 
    }, 
    { 
      "coordinates": [ 
        -122.341979399674, 
        47.6095253501216 
      ], 
      "optionalId": "6M9W39P12SNHGAIZ4JQ7F57NWJLV2BRYEQRD7OH7" 
    } 
  ] 
} 

Svarsexempel

En URL för att ladda ned geocode-jobbresultatet tillhandahålls när batchjobbet Bing Kartor Geocode Dataflow har bearbetats, enligt statusen för slutfört jobb. Ett exempel på en lyckad Bing-Kartor Geocode Dataflow-utdata finns i Geocode Dataflow Sample Input and Output Data Version 2.0 i dokumentationen för Bing Kartor.

Följande exempel visar vad som returneras i brödtexten i HTTP-svaret när du kör en Azure Kartor Batch API-begäran för geokodning:

{ 
  "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"
      }
    }
  ]
}

Följande exempel visar vad som returneras i http-svarets brödtext när du kör en Azure Kartor Batch API-begäran för omvänd geokodning:

{ 
    "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 
    } 
} 

Användning av transaktioner

Precis som I Bing Kartor Geocode Dataflow API loggar Azure Kartor Geocoding Batch- och Batch-API:er för omvänd geokodning en fakturerbar transaktion per geokodat objekt. Till exempel resulterar 100 platser geokodade i batchbegäran i 100 fakturerbara transaktioner. Mer information om Azure Kartor-transaktioner finns i Förstå Azure Kartor-transaktioner.

Ytterligare information

Fler API:er för Geocoding i Azure Kartor

  • Hämta geokodning: Använd för att hämta latitud- och longitudkoordinater för en gatuadress eller ett namn på en plats.
  • Hämta omvänd geokodning: Använd för att hämta en gatuadress och platsinformation från latitud- och longitudkoordinater.

Support