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

  1. Skapa ett Azure Kartor konto i prisnivån Gen 1 (S1) eller Gen 2.
  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:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran.

  4. 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=3432
    

    Viktigt

    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.

  5. 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:

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:

  1. I Postman-appen väljer du Nytt igen.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran.

  4. 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.397
    
  5. Vä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
        }
    ]
    }
    
  6. 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.0
    
  7. I fältet Rubriker i POST-begäran anger du Content-Type till application/json .

  8. I fältet Brödtext anger du följande koordinatpunktsinformation:

    [
        {
            "lon": -73.998672,
            "lat": 40.714728
        },
        {
            "lon": 150.644,
            "lat": -34.397
        }
    ]
    
  9. 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:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn.

  4. 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=5
    
  5. Vä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
            }
        ]
    }
    
  6. 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 lines frågenyckeln.

        86.9797222, 27.775|86.9252778, 27.9880556 | 88.0444444, 27.6822222
    
  7. Ändra samples frågenyckelvärdet till 3 . Bilden nedan visar de nya värdena.

    Hämta tre exempel på elevation-data.

  8. 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
            }
        ]
    }
    
  9. 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=5
    
  10. I fältet Rubriker i POST-begäran anger du Content-Type till application/json .

  11. 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
        }
    ]
    
  12. 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.

Koordinater för begränsningsrutor vid NE och SE hörn.

Så här skapar du begäran:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn.

  4. 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=3
    
  5. Vä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: