Begära data om utökade privilegier med hjälp av Azure-Kartor tjänsten Elevation
Azure Kartor tjänsten Elevation API:er för att fråga efter elevation-data var som helst på jordens yta. Du kan begära sampla data om utökade privilegier längs sökvägar, inom en definierad begränsningsruta eller vid specifika koordinater. Du kan också använda API:et Render V2 – Hämta kartpanel för att hämta höjddata i panelformat. Panelerna levereras i GeoTIFF-textformat. I den här artikeln beskrivs hur du använder Azure Kartor tjänsten Elevation API:et Hämta kartpanel för att begära utökade data. Data om utökade privilegier kan begäras i både GeoJSON- och GeoTiff-format.
Förutsättningar
- Skapa ett Azure Kartor konto i prisnivån Gen 1 (S1) eller Gen 2.
- Skaffa en primär prenumerationsnyckel, som även kallas primärnyckel eller prenumerationsnyckel.
Mer information om autentisering i Azure Kartor finns i Hantera autentisering i Azure Kartor.
Den här artikeln använder Postman-programmet, men du kan använda en annan API-utvecklingsmiljö.
Begära data om utökade privilegier i textr-panelformat
Om du vill begära utökade data i textrutans format använder du API:et Render V2-Get Map Tile. Om panelen hittas returnerar API:et panelen som en GeoTIFF. Annars returnerar API:et 0. Alla panelerna i demeter använder geooid (havsnivå) i earth-läget. I det här exemplet begär vi data om utökade privilegier för Mt. Everest.
Tips
Om du vill hämta en panel i ett visst område på världskartan hittar du rätt panel på lämplig zoomnivå. Observera också att WorldDEM omfattar hela globala landområden, men den omfattar inte oceaner. Mer information finns i Zoomningsnivåer och rutnät.
Så här begär du data om utökade privilegier i textrutans panelformat med hjälp av Postman-appen:
I Postman-appen väljer du Nytt.
I fönstret Skapa ny väljer du HTTP-begäran.
Ange ett begärandenamn för begäran.
På fliken Builder väljer du metoden GET HTTP (HÄMTA HTTP) och anger sedan följande URL för att begära textrutan.
https://atlas.microsoft.com/map/tile?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=2.0&tilesetId=microsoft.dem&zoom=13&x=6074&y=3432Viktigt
För den här begäran och andra begäranden som nämns i den här artikeln ersätter du
{Azure-Maps-Primary-Subscription-key}med din primära prenumerationsnyckel.Välj knappen Skicka.
Du bör få den rasterpanel som innehåller elevation-data i GeoTIFF-format. Varje pixel i textrutans rådata är av typen
float. Värdet för varje pixel representerar höjd i meter.
Begära data om utökade privilegier i GeoJSON-format
Om du vill begära data om utökade privilegier i GeoJSON-format använder tjänsten Elevation API:er. I det här avsnittet beskrivs var och en av dessa API:er:
- Hämta data för punkter
- Publicera data för punkter
- Hämta data för Polyline
- Publicera data för Polyline
- Hämta data för Bounding Box
Viktigt
När inga data kan returneras returnerar alla API:er 0.
Begära data om höjd behörighet för punkter
I det här exemplet använder vi API:et Hämta data för punkter för att begära utökade data på Mt. Mount och Mountlang- berg. Sedan använder vi API:et Post Data for Points för att begära utökade data med samma två punkter. Latitud och longitud i URL:en förväntas vara i decimalgraden WGS84 (World Geodetic System).
Viktigt
Längdgränsen för URL-tecken är 2 048, så det går inte att skicka fler än 100 koordinater som en pipelineavgränsad sträng i en URL GET-begäran. Om du tänker skicka fler än 100 koordinater som en pipelineavgränsad sträng använder du API:et Post Data for Points .
Så här skapar du begäran:
I Postman-appen väljer du Nytt igen.
I fönstret Skapa ny väljer du HTTP-begäran.
Ange ett begärandenamn för begäran.
På fliken Builder väljer du metoden GET HTTP och anger sedan följande URL (ersätt med
{Azure-Maps-Primary-Subscription-key}din primära prenumerationsnyckel):https://atlas.microsoft.com/elevation/point/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&points=-73.998672,40.714728|150.644,-34.397Välj knappen Skicka. Du får följande JSON-svar:
{ "data": [ { "coordinate": { "latitude": 40.714728, "longitude": -73.998672 }, "elevationInMeter": 12.142355447638208 }, { "coordinate": { "latitude": -34.397, "longitude": 150.644 }, "elevationInMeter": 384.47041445517846 } ] }Nu anropar vi API:et Post Data for Points för att hämta elevation-data för samma två punkter. På fliken Builder väljer du METODEN POST HTTP och anger sedan följande URL (ersätt
{Azure-Maps-Primary-Subscription-key}med din primära prenumerationsnyckel):https://atlas.microsoft.com/elevation/point/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0I fältet Rubriker i POST-begäran anger du
Content-Typetillapplication/json.I fältet Brödtext anger du följande koordinatpunktsinformation:
[ { "lon": -73.998672, "lat": 40.714728 }, { "lon": 150.644, "lat": -34.397 } ]Välj Skicka.
Begära dataexempel för utökade privilegier längs en Polyline
I det här exemplet använder vi API:et Hämta data för Polyline för att begära fem lika stora urval av elevation-data längs en rät linje mellan koordinaterna vid Mt. Mount och Mountlang- berg. Båda koordinaterna måste definieras i longitud-/latitudformat. Om du inte anger något värde för samples parametern får antalet exempel standardvärdet 10. Det maximala antalet urval är 2 000.
Sedan använder vi API:et Hämta data för Polyline för att begära tre lika stora urval av utökade data längs en sökväg. Vi definierar den exakta platsen för exemplen genom att skicka tre longitud/latitudkoordinatpar.
Slutligen använder vi API:et Post Data for Polyline för att begära utökade data med samma tre lika stora urval.
Latitud och longitud i URL:en förväntas vara i decimalgraden WGS84 (World Geodetic System).
Viktigt
Längdgränsen för URL-tecken är 2 048, så det går inte att skicka fler än 100 koordinater som en pipelineavgränsad sträng i en URL GET-begäran. Om du tänker skicka fler än 100 koordinater som en pipelineavgränsad sträng använder du API:et Post Data For Points.
Så här skapar du begäran:
I Postman-appen väljer du Nytt.
I fönstret Skapa ny väljer du HTTP-begäran.
Ange ett begärandenamn.
På fliken Builder väljer du metoden GET HTTP och anger sedan följande URL (ersätt med
{Azure-Maps-Primary-Subscription-key}din primära prenumerationsnyckel):https://atlas.microsoft.com/elevation/line/json?api-version=1.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}&lines=-73.998672,40.714728|150.644,-34.397&samples=5Välj knappen Skicka. Du får följande JSON-svar:
{ "data": [ { "coordinate": { "latitude": 40.714728, "longitude": -73.998672 }, "elevationInMeter": 12.14236 }, { "coordinate": { "latitude": 21.936796000000001, "longitude": -17.838003999999998 }, "elevationInMeter": 0.0 }, { "coordinate": { "latitude": 3.1588640000000012, "longitude": 38.322664000000003 }, "elevationInMeter": 598.66943 }, { "coordinate": { "latitude": -15.619067999999999, "longitude": 94.483332000000019 }, "elevationInMeter": 0.0 }, { "coordinate": { "latitude": -34.397, "longitude": 150.644 }, "elevationInMeter": 384.47041 } ] }Nu ska vi begära tre exempel på elevation-data längs en väg mellan koordinaterna vid Mount Script, Elevationlang och Jannu-berg. I fältet Params anger du följande koordinatmatris för värdet för
linesfrågenyckeln.86.9797222, 27.775|86.9252778, 27.9880556 | 88.0444444, 27.6822222Ändra
samplesfrågenyckelvärdet till3. Bilden nedan visar de nya värdena.
Välj Skicka. Du får följande JSON-svar:
{ "data": [ { "coordinate": { "latitude": 27.775, "longitude": 86.9797222 }, "elevationInMeter": 7116.0348851572589 }, { "coordinate": { "latitude": 27.737403546316028, "longitude": 87.411180791156454 }, "elevationInMeter": 1798.6945512521534 }, { "coordinate": { "latitude": 27.682222199999998, "longitude": 88.0444444 }, "elevationInMeter": 7016.9372013588072 } ] }Nu anropar vi API:et Post Data for Polyline för att hämta elevation-data för samma tre punkter. På fliken Builder väljer du METODEN POST HTTP och anger sedan följande URL (ersätt med din
{Azure-Maps-Primary-Subscription-key}primära prenumerationsnyckel):https://atlas.microsoft.com/elevation/line/json?api-version=1.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}&samples=5I fältet Rubriker i POST-begäran anger du
Content-Typetillapplication/json.I fältet Brödtext anger du följande koordinatpunktsinformation.
[ { "lon": 86.9797222, "lat": 27.775 }, { "lon": 86.9252778, "lat": 27.9880556 }, { "lon": 88.0444444, "lat": 27.6822222 } ]Välj Skicka.
Begära data om utökade privilegier genom att begränsa boxen
Nu ska vi använda Hämta data för Bounding Box för att begära höjddata nära Mt. Rainier i delstaten Washington. Data om utökade privilegier returneras på lika stora platser inom en begränsningsruta. Det avgränsade området definieras av två uppsättningar latitud-/longitudkoordinater (södra latitud, west longitude | north latitude, east longitude) och är indelat i rader och kolumner. Kanterna i begränsningsrutan står för två av raderna och två av kolumnerna. Höjder returneras för rutnätshörnen som skapats vid rad- och kolumnskärningspunkter. Upp till 2 000 höjningar kan returneras i en enskild begäran.
I det här exemplet anger vi rader = 3 och kolumner = 6. Svaret returnerar 18 utökade värden. I följande diagram sorteras värdena för höjning från det västra hörnet och fortsätter sedan från väst till öst och syd till nord. Höjdpunkterna numreras i den ordning som de returneras.
Så här skapar du begäran:
I Postman-appen väljer du Nytt.
I fönstret Skapa ny väljer du HTTP-begäran.
Ange ett begärandenamn.
På fliken Builder (Byggare) väljer du metoden GET HTTP (HÄMTA HTTP) och anger sedan följande URL (ersätt
{Azure-Maps-Primary-Subscription-key}med din primära prenumerationsnyckel):https://atlas.microsoft.com/elevation/lattice/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&bounds=-121.66853362143818, 46.84646479863713,-121.65853362143818, 46.85646479863713&rows=2&columns=3Välj Skicka. Svaret returnerar 18 upphöjda dataexempel, ett för varje hörn i rutnätet.
{ "data": [ { "coordinate": { "latitude": 46.846464798637129, "longitude": -121.66853362143819 }, "elevationInMeter": 2298.6581875651746 }, { "coordinate": { "latitude": 46.846464798637129, "longitude": -121.66653362143819 }, "elevationInMeter": 2306.3980756609963 }, { "coordinate": { "latitude": 46.846464798637129, "longitude": -121.66453362143818 }, "elevationInMeter": 2279.3385479564113 }, { "coordinate": { "latitude": 46.846464798637129, "longitude": -121.66253362143819 }, "elevationInMeter": 2233.1549264690366 }, { "coordinate": { "latitude": 46.846464798637129, "longitude": -121.66053362143818 }, "elevationInMeter": 2196.4485923541492 }, { "coordinate": { "latitude": 46.846464798637129, "longitude": -121.65853362143818 }, "elevationInMeter": 2133.1756767157253 }, { "coordinate": { "latitude": 46.849798131970459, "longitude": -121.66853362143819 }, "elevationInMeter": 2345.3227848228803 }, { "coordinate": { "latitude": 46.849798131970459, "longitude": -121.66653362143819 }, "elevationInMeter": 2292.2449195443587 }, { "coordinate": { "latitude": 46.849798131970459, "longitude": -121.66453362143818 }, "elevationInMeter": 2270.5867788258074 }, { "coordinate": { "latitude": 46.849798131970459, "longitude": -121.66253362143819 }, "elevationInMeter": 2296.8311427390604 }, { "coordinate": { "latitude": 46.849798131970459, "longitude": -121.66053362143818 }, "elevationInMeter": 2266.0729430891065 }, { "coordinate": { "latitude": 46.849798131970459, "longitude": -121.65853362143818 }, "elevationInMeter": 2242.216346631234 }, { "coordinate": { "latitude": 46.8531314653038, "longitude": -121.66853362143819 }, "elevationInMeter": 2378.460838833359 }, { "coordinate": { "latitude": 46.8531314653038, "longitude": -121.66653362143819 }, "elevationInMeter": 2327.6761137260387 }, { "coordinate": { "latitude": 46.8531314653038, "longitude": -121.66453362143818 }, "elevationInMeter": 2208.3782743402949 }, { "coordinate": { "latitude": 46.8531314653038, "longitude": -121.66253362143819 }, "elevationInMeter": 2106.9526472760981 }, { "coordinate": { "latitude": 46.8531314653038, "longitude": -121.66053362143818 }, "elevationInMeter": 2054.3270174034078 }, { "coordinate": { "latitude": 46.8531314653038, "longitude": -121.65853362143818 }, "elevationInMeter": 2030.6438331110671 }, { "coordinate": { "latitude": 46.856464798637127, "longitude": -121.66853362143819 }, "elevationInMeter": 2318.753153399402 }, { "coordinate": { "latitude": 46.856464798637127, "longitude": -121.66653362143819 }, "elevationInMeter": 2253.88875188271 }, { "coordinate": { "latitude": 46.856464798637127, "longitude": -121.66453362143818 }, "elevationInMeter": 2136.6145845357587 }, { "coordinate": { "latitude": 46.856464798637127, "longitude": -121.66253362143819 }, "elevationInMeter": 2073.6734467948486 }, { "coordinate": { "latitude": 46.856464798637127, "longitude": -121.66053362143818 }, "elevationInMeter": 2042.994055784251 }, { "coordinate": { "latitude": 46.856464798637127, "longitude": -121.65853362143818 }, "elevationInMeter": 1988.3631481900356 } ] }
Exempel: Använda tjänsten Elevation-API:er i Azure Kartor Control
Hämta elevation-data efter koordinatposition
Följande exempelsida beskriver hur du använder kartkontrollen för att visa elevation-data vid en koordinatpunkt. När användaren drar markören visar kartan upphöjningsdata i ett popup-fönster.
Hämta data om höjd behörighet genom att begränsa rutan
Följande exempelsida beskriver hur du använder kartkontrollen för att visa elevation-data som finns i en begränsningsruta. Användaren definierar avgränsarrutan genom att välja ikonen i det övre vänstra hörnet och sedan rita square kvadraten var som helst på kartan. Kartkontrollen återger sedan upphöjningsdata i enlighet med de färger som anges i nyckeln som finns i det övre högra hörnet.
Hämta elevation-data efter Polyline-sökväg
Följande exempelsida beskriver hur du använder kartkontrollen för att visa elevation-data längs en sökväg. Användaren definierar sökvägen genom att välja ikonen i det övre Polyline vänstra hörnet och sedan rita Polyline på kartan. Kartkontrollen återger sedan upphöjningsdata i färger som anges i nyckeln i det övre högra hörnet.
Nästa steg
Mer information om Azure Kartor ElevationAPIs finns i:
En fullständig lista över Azure Kartor REST-API:er finns i: