Gegevens over bevoegdheden aanvragen met behulp van de Azure Kaarten Elevation-service
De Azure Kaarten Elevation-service api's voor het opvragen van gegevens over verhogingen op een plek op aarde. U kunt voorbeeldgegevens over verhogingen aanvragen langs paden, binnen een gedefinieerd begrenzingsvak of op specifieke coördinaten. U kunt ook de API Render V2 - Kaarttegel ophalen gebruiken om hoogte-/hoogte-gegevens op te halen in tegelindeling. De tegels worden geleverd in GeoTIFF-rasterindeling. In dit artikel wordt beschreven hoe u Azure Kaarten Elevation-service en de TEgel-API Kaart op halen gebruikt om gegevens over bevoegdheden aan te vragen. De gegevens over de verhoging kunnen worden aangevraagd in de indelingen GeoJSON en GeoTiff.
Vereisten
- Maak een Azure Kaarten-account in de prijscategorie Gen 1 (S1) of Gen 2.
- Een primaire sleutel voor een abonnement verkrijgen, ook wel bekend als de primaire sleutel of de abonnementssleutel.
Zie Verificatie beheren in Azure Kaarten voor meer informatie over verificatie in Azure Kaarten.
In dit artikel wordt de Postman-toepassing gebruikt, maar u kunt een andere API-ontwikkelomgeving gebruiken.
Verhogingsgegevens aanvragen in rastertegelindeling
Als u verhogingsgegevens wilt aanvragen in de rastertegelindeling, gebruikt u de API V2-Get Map Tile. Als de tegel kan worden gevonden, retourneert de API de tegel als een GeoTIFF. Anders retourneert de API 0. Alle rasterDEM-tegels maken gebruik van de geoide (zeeniveau) Earth-modus. In dit voorbeeld vragen we gegevens over bevoegdheden aan voor Mt. Everest.
Tip
Als u een tegel op een specifiek gebied op de wereldkaart wilt ophalen, moet u de juiste tegel op het juiste zoomniveau vinden. Houd er ook rekening mee dat WorldDEM betrekking heeft op de hele globale landmaskers, maar niet op oceanen. Zie Zoomniveaus en tegelraster voor meer informatie.
Verhogingsgegevens aanvragen in rastertegelindeling met behulp van de Postman-app:
Selecteer In de Postman-app de optie Nieuw.
Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag.
Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer op het tabblad Builder de HTTP-methode GET en voer vervolgens de volgende URL in om de rastertegel aan te vragen.
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=3432Belangrijk
Voor deze aanvraag en andere aanvragen die in dit artikel worden vermeld, vervangt u
{Azure-Maps-Primary-Subscription-key}door uw primaire abonnementssleutel.Selecteer de knop Verzenden.
U ontvangt de rastertegel met de gegevens over bevoegdheden in GeoTIFF-indeling. Elke pixel in de onbewerkte gegevens van de rastertegel is van het type
float. De waarde van elke pixel vertegenwoordigt de hoogte van de verhoging in meters.
Vragen om gegevens over bevoegdheden in GeoJSON-indeling
Als u gegevens over bevoegdheden in GeoJSON-indeling wilt aanvragen, gebruikt u de Elevation-service API's. In deze sectie worden deze API's beschreven:
- Gegevens voor punten op halen
- Gegevens posten voor punten
- Gegevens voor Polyline op halen
- Gegevens posten voor Polyline
- Gegevens voor begrenzesvak op halen
Belangrijk
Wanneer er geen gegevens kunnen worden geretourneerd, retourneren alle API's 0.
Verhogingsgegevens voor punten aanvragen
In dit voorbeeld gebruiken we de API Gegevens voor punten op halen om gegevens over bevoegdheden op MT aan te vragen. Het is een goed teken voor DenJek en DenJeklang. Vervolgens gebruiken we de API Post Data for Points om gegevens over de verhoging aan te vragen met behulp van dezelfde twee punten. Breedtegraden en lengtegraden in de URL hebben naar verwachting de decimale graad WGS84 (World Geodetic System).
Belangrijk
De lengtelimiet voor URL-tekens is 2048, dus het is niet mogelijk om meer dan 100 coördinaten door te geven als een pijplijntekenreeks met scheidingstekens in een URL GET-aanvraag. Als u meer dan 100 coördinaten wilt doorgeven als een door pijplijn scheidingstekenreeks, gebruikt u de API Post Data for Points.
De aanvraag maken:
Selecteer in de Postman-app opnieuw Nieuw.
Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag.
Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer op het tabblad Builder de HTTP-methode GET en voer de volgende URL in (vervang door uw primaire
{Azure-Maps-Primary-Subscription-key}abonnementssleutel):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.397Selecteer de knop Verzenden. U ontvangt het volgende JSON-antwoord:
{ "data": [ { "coordinate": { "latitude": 40.714728, "longitude": -73.998672 }, "elevationInMeter": 12.142355447638208 }, { "coordinate": { "latitude": -34.397, "longitude": 150.644 }, "elevationInMeter": 384.47041445517846 } ] }Nu gaan we de API Gegevens voor punten posten aanroepen om gegevens over de bevoegdheden voor dezelfde twee punten op te halen. Selecteer op het tabblad Builder de HTTP-methode POST en voer de volgende URL in (vervang door uw primaire
{Azure-Maps-Primary-Subscription-key}abonnementssleutel):https://atlas.microsoft.com/elevation/point/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0Stel in het veld Headers van de POST-aanvraag in
Content-Typeopapplication/json.Geef in het veld Body de volgende coördinatenpuntinformatie op:
[ { "lon": -73.998672, "lat": 40.714728 }, { "lon": 150.644, "lat": -34.397 } ]Selecteer Verzenden.
Voorbeelden van verhogingsgegevens aanvragen langs een Polyline
In dit voorbeeld gebruiken we de API Gegevens verzamelen voor Polyline om vijf steekproeven met gelijke ruimte van gegevens over bevoegdheden aan te vragen langs een rechte lijn tussen coördinaten in Mt. Het is een goed teken voor DenJek en DenJeklang. Beide coördinaten moeten worden gedefinieerd in lengtegraad/breedtegraad. Als u geen waarde opgeeft voor de parameter, wordt het aantal samples voorbeelden standaard ingesteld op 10. Het maximum aantal voorbeelden is 2000.
Vervolgens gebruiken we de API Gegevens voor Polyline op te halen om drie voorbeelden van gelijke ruimte aan te vragen voor verhogingsgegevens langs een pad. We definiëren de precieze locatie voor de voorbeelden door drie coördinatenparen voor lengtegraad/breedtegraad door te geven.
Ten slotte gebruiken we de Post Data For Polyline-API om gegevens over bevoegdheden aan te vragen in dezelfde drie voorbeelden met gelijke spatie.
Breedtegraden en lengtegraden in de URL hebben naar verwachting de decimale graad WGS84 (World Geodetic System).
Belangrijk
De lengtelimiet voor URL-tekens is 2048, dus het is niet mogelijk om meer dan 100 coördinaten door te geven als een pijplijntekenreeks met scheidingstekens in een URL GET-aanvraag. Als u meer dan 100 coördinaten wilt doorgeven als een door pijplijn scheidingstekenreeks, gebruikt u de POST Data For Points-API.
De aanvraag maken:
Selecteer In de Postman-app de optie Nieuw.
Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag.
Voer een aanvraagnaam in.
Selecteer op het tabblad Builder de HTTP-methode GET en voer de volgende URL in (vervang door uw primaire
{Azure-Maps-Primary-Subscription-key}abonnementssleutel):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=5Selecteer de knop Verzenden. U ontvangt het volgende JSON-antwoord:
{ "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 vragen we drie voorbeelden van gegevens over bevoegdheden aan langs een pad tussen coördinaten op de mount Mount, Zoulang en Jannu-eilanden. Voer in het veld Params de volgende coördinatenmatrice in voor de waarde van de
linesquerysleutel.86.9797222, 27.775|86.9252778, 27.9880556 | 88.0444444, 27.6822222Wijzig de
sampleswaarde van de querysleutel in3. In de onderstaande afbeelding ziet u de nieuwe waarden.
Selecteer Verzenden. U ontvangt het volgende JSON-antwoord:
{ "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 gaan we de POST Data For Polyline-API aanroepen om gegevens over de bevoegdheden voor dezelfde drie punten op te halen. Selecteer op het tabblad Builder de HTTP-methode POST en voer de volgende URL in (vervang door uw primaire
{Azure-Maps-Primary-Subscription-key}abonnementssleutel):https://atlas.microsoft.com/elevation/line/json?api-version=1.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}&samples=5Stel in het veld Headers van de POST-aanvraag in
Content-Typeopapplication/json.Geef in het veld Body de volgende coördinatenpuntinformatie op.
[ { "lon": 86.9797222, "lat": 27.775 }, { "lon": 86.9252778, "lat": 27.9880556 }, { "lon": 88.0444444, "lat": 27.6822222 } ]Selecteer Verzenden.
Verhogingsgegevens aanvragen via Begrens box
Nu gebruiken we het vak Gegevens voor het begrenten van het vak gegevens over bevoegdheden in de buurt van Mt op te vragen. Regener in de staat Washington. De gegevens over de verhoging worden geretourneerd op locaties met gelijke ruimte binnen een begrensingsvak. Het begrensingsgebied wordt gedefinieerd door twee sets coördinaten voor breedtegraad/lengtegraad (zuid- en west-lengtegraad | noordergraad, oostlengte) en is onderverdeeld in rijen en kolommen. De randen van het begrensingsvak zijn verantwoordelijk voor twee van de rijen en twee kolommen. Verhogingen worden geretourneerd voor de rasterpunten die zijn gemaakt op rij- en kolomkruispunten. Er kunnen maximaal 2000 verhogingen worden geretourneerd in één aanvraag.
In dit voorbeeld geven we rows=3 en columns=6 op. Het antwoord retourneert 18 verhogingswaarden. In het volgende diagram worden de verhogingswaarden geordend vanaf de zuidoosthoek en vervolgens doorgaan van west naar oost en van zuid naar noord. De verhogingspunten worden genummerd in de volgorde waarin ze worden geretourneerd.
De aanvraag maken:
Selecteer In de Postman-app de optie Nieuw.
Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag.
Voer een aanvraagnaam in.
Selecteer op het tabblad Builder de HTTP-methode GET en voer de volgende URL in (vervang door uw primaire
{Azure-Maps-Primary-Subscription-key}abonnementssleutel):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=3Selecteer Verzenden. Het antwoord retourneert 18 voorbeelden van verhogingsgegevens, één voor elk hoekpunt van het raster.
{ "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 } ] }
Voorbeelden: Gebruik Elevation-service API's in Azure Kaarten Control
Gegevens over verhogingen op coördinatenpositie
In de volgende voorbeeldpagina wordt beschreven hoe u het kaartbesturingselement gebruikt om gegevens over de bevoegdheden op een coördinaatpunt weer te geven. Wanneer de gebruiker de markering sleept, worden op de kaart de gegevens over de verhoging weergegeven in een pop-upvenster.
Gegevens over verhogingen op halen via het begrensingsvak
In de volgende voorbeeldpagina wordt beschreven hoe u het kaartbesturingselement gebruikt om gegevens over de bevoegdheden in een begrensingsvak weer te geven. De gebruiker definieert het begrenzeggingsvak door het pictogram in de linkerbovenhoek te selecteren en vervolgens het vierkant ergens op de square kaart te tekenen. Het kaartbesturingselement geeft vervolgens de hoogte-gegevens weer in overeenstemming met de kleuren die zijn opgegeven in de sleutel in de rechterbovenhoek.
Gegevens over bevoegdheden op halen via Polyline-pad
Op de volgende voorbeeldpagina wordt beschreven hoe u het kaartbesturingselement gebruikt om gegevens over de bevoegdheden van een pad weer te geven. De gebruiker definieert het pad door het pictogram in de linkerbovenhoek te selecteren en vervolgens de Polyline op Polyline de kaart te tekenen. Het kaartbesturingselement geeft vervolgens de hoogte-gegevens weer in kleuren die zijn opgegeven in de sleutel in de rechterbovenhoek.
Volgende stappen
Zie voor meer informatie over de Azure Kaarten ElevationAPIs:
Voor een volledige lijst van Azure Maps REST API's, bekijk: