|
| 1 | +# coding=utf-8 |
| 2 | +# -------------------------------------------------------------------------- |
| 3 | +# Copyright (c) Microsoft Corporation. All rights reserved. |
| 4 | +# Licensed under the MIT License. See License.txt in the project root for license information. |
| 5 | +# Code generated by Microsoft (R) AutoRest Code Generator. |
| 6 | +# Changes may cause incorrect behavior and will be lost if the code is regenerated. |
| 7 | +# -------------------------------------------------------------------------- |
| 8 | + |
| 9 | +from typing import TYPE_CHECKING |
| 10 | + |
| 11 | +from azure.core import PipelineClient |
| 12 | +from msrest import Deserializer, Serializer |
| 13 | + |
| 14 | +if TYPE_CHECKING: |
| 15 | + # pylint: disable=unused-import,ungrouped-imports |
| 16 | + from typing import Any, Optional |
| 17 | + |
| 18 | + from azure.core.credentials import TokenCredential |
| 19 | + from azure.core.pipeline.transport import HttpRequest, HttpResponse |
| 20 | + |
| 21 | +from ._configuration import ElevationClientConfiguration |
| 22 | +from .operations import ElevationClientOperationsMixin |
| 23 | +from . import models |
| 24 | + |
| 25 | + |
| 26 | +class ElevationClient(ElevationClientOperationsMixin): |
| 27 | + """The Azure Maps Elevation API provides an HTTP interface to query elevation data on the surface of the Earth. Elevation data can be retrieved at specific locations by sending lat/lon coordinates, by defining an ordered set of vertices that form a Polyline and a number of sample points along the length of a Polyline, or by defining a bounding box that consists of equally spaced vertices as rows and columns. The vertical datum is EPSG:3855. This datum uses the EGM2008 geoid model applied to the WGS84 ellipsoid as its zero height reference surface. The vertical unit is measured in meters, the spatial resolution of the elevation data is 0.8 arc-second for global coverage (~24 meters). |
| 28 | +
|
| 29 | + :param credential: Credential needed for the client to connect to Azure. |
| 30 | + :type credential: ~azure.core.credentials.TokenCredential |
| 31 | + :param client_id: Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following `articles <https://aka.ms/amauthdetails>`_ for guidance. |
| 32 | + :type client_id: str |
| 33 | + :param str base_url: Service URL |
| 34 | + """ |
| 35 | + |
| 36 | + def __init__( |
| 37 | + self, |
| 38 | + credential, # type: "TokenCredential" |
| 39 | + client_id=None, # type: Optional[str] |
| 40 | + base_url=None, # type: Optional[str] |
| 41 | + **kwargs # type: Any |
| 42 | + ): |
| 43 | + # type: (...) -> None |
| 44 | + if not base_url: |
| 45 | + base_url = 'https://atlas.microsoft.com' |
| 46 | + self._config = ElevationClientConfiguration(credential, client_id, **kwargs) |
| 47 | + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) |
| 48 | + |
| 49 | + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} |
| 50 | + self._serialize = Serializer(client_models) |
| 51 | + self._serialize.client_side_validation = False |
| 52 | + self._deserialize = Deserializer(client_models) |
| 53 | + |
| 54 | + |
| 55 | + def _send_request(self, http_request, **kwargs): |
| 56 | + # type: (HttpRequest, Any) -> HttpResponse |
| 57 | + """Runs the network request through the client's chained policies. |
| 58 | +
|
| 59 | + :param http_request: The network request you want to make. Required. |
| 60 | + :type http_request: ~azure.core.pipeline.transport.HttpRequest |
| 61 | + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. |
| 62 | + :return: The response of your network call. Does not do error handling on your response. |
| 63 | + :rtype: ~azure.core.pipeline.transport.HttpResponse |
| 64 | + """ |
| 65 | + http_request.url = self._client.format_url(http_request.url) |
| 66 | + stream = kwargs.pop("stream", True) |
| 67 | + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) |
| 68 | + return pipeline_response.http_response |
| 69 | + |
| 70 | + def close(self): |
| 71 | + # type: () -> None |
| 72 | + self._client.close() |
| 73 | + |
| 74 | + def __enter__(self): |
| 75 | + # type: () -> ElevationClient |
| 76 | + self._client.__enter__() |
| 77 | + return self |
| 78 | + |
| 79 | + def __exit__(self, *exc_details): |
| 80 | + # type: (Any) -> None |
| 81 | + self._client.__exit__(*exc_details) |
0 commit comments