{"id":108,"date":"2022-09-07T05:39:08","date_gmt":"2022-09-07T05:39:08","guid":{"rendered":"http:\/\/34.172.140.203\/wordpress\/?p=108"},"modified":"2022-10-26T16:23:55","modified_gmt":"2022-10-26T16:23:55","slug":"elevation-api","status":"publish","type":"post","link":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/2022\/09\/07\/elevation-api\/","title":{"rendered":"Elevation API"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/storage.googleapis.com\/strapi_bucket-1\/Captura_de_Pantalla_2022_09_07_a_la_s_12_52_53_p_m_1d3563772b\/Captura_de_Pantalla_2022_09_07_a_la_s_12_52_53_p_m_1d3563772b.png\" alt=\"foto\"\/><\/figure>\n\n\n\n<p>La API de Elevaci\u00f3n proporciona una interfaz simple cuya funci\u00f3n es consultar una ubicaci\u00f3n para obtener sus datos de elevaci\u00f3n.&nbsp;<\/p>\n\n\n\n<p>Entendemos por elevaci\u00f3n de una ubicaci\u00f3n geogr\u00e1fica, a la altura por encima o por debajo de un punto de referencia fijo, el cual es el nivel del mar. Este t\u00e9rmino se usa principalmente cuando se hace referencia a puntos en la superficie de la Tierra y se diferencia de la altitud porque esta se utiliza para puntos que est\u00e1n en la atmosfera terrestre.&nbsp;<\/p>\n\n\n\n<p>Esta API es una buena herramienta para desarrollar aplicaciones de senderismo y ciclismo, aplicaciones de posicionamiento o aplicaciones topogr\u00e1ficas de baja resoluci\u00f3n, ya que permite solicitar datos de elevaci\u00f3n durante una ruta para calcular los cambios de elevaci\u00f3n.&nbsp;<\/p>\n\n\n\n<p>Los datos de elevaci\u00f3n est\u00e1n disponibles para cualquier ubicaci\u00f3n en la superficie de la Tierra, adem\u00e1s de ubicaciones de profundidad dentro del oc\u00e9ano. En los casos en los que Google no posee las medidas de elevaci\u00f3n exactas en la ubicaci\u00f3n solicitada, la API interpola y devuelve un valor promedio usando las cuatro ubicaciones m\u00e1s cercanas. Los valores de elevaci\u00f3n se expresan en relaci\u00f3n con el nivel medio del mar (LMSL).<\/p>\n\n\n\n<p>Se accede a la API de Elevation a trav\u00e9s de interfaz HTTP, a trav\u00e9s de URL, usando coordenadas (altitud\/longitud) para identificar las ubicaciones de la ruta solicitada. Esta solicitud ya debe incluir la API key. Aqu\u00ed un ejemplo de como se debe ver el URL:&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/maps.googleapis.com\/maps\/api\/elevation\/json?locations=19.4286157%2C-99.2067666\">https:\/\/maps.googleapis.com\/maps\/api\/elevation\/json?locations=19.4286157%2C-99.2067666<\/a><\/p>\n\n\n\n<p>&nbsp; &amp;key=YOUR_API_KEY<\/p>\n\n\n\n<p>En la&nbsp;<a href=\"https:\/\/developers.google.com\/maps\/documentation\/elevation\/start#maps_http_elevation_locations-txt\">p\u00e1gina de la documentacion<\/a>&nbsp;de esta API est\u00e1 el c\u00f3digo ejemplo para varios lenguajes de programaci\u00f3n<\/p>\n\n\n\n<p>Para probar este URL, ingr\u00e9selo en su navegador web. La respuesta va a incluir la elevaci\u00f3n en ese punto, en metros, junto con el valor de resoluci\u00f3n (la distancia m\u00e1xima entre los puntos de datos a partir de los cuales se interpol\u00f3 la elevaci\u00f3n, tambi\u00e9n en metros).&nbsp;<\/p>\n\n\n\n<p>Se deben especificar los datos de localizaci\u00f3n de dos formas: un set de una o m\u00e1s localizaciones o bien, una serie de puntos conectados a lo largo de una ruta. Cualquiera de los dos utiliza coordenadas de latitud y longitud para identificar un lugar, una l\u00ednea o un per\u00edmetro.&nbsp;<\/p>\n\n\n\n<p>Cuando se hace una solicitud de un solo punto, el resultado contiene la exactitud m\u00e1s alta posible; cuando la solicitud es de m\u00faltiples locaciones, los resultados podr\u00edan tener menos exactitud, especialmente si estas est\u00e1n muy separadas unas de otras.<\/p>\n\n\n\n<p>La URL para la solicitud tiene esta forma<\/p>\n\n\n\n<p><a href=\"https:\/\/maps.googleapis.com\/maps\/api\/elevation\/outputFormat?parameters\">https:\/\/maps.googleapis.com\/maps\/api\/elevation\/outputFormat?parameters<\/a><\/p>\n\n\n\n<p>Donde&nbsp;outputFormat&nbsp;puede ser alguno de estos dos valores:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>json (recomendado) el cual hace referencia al JavaScritp Object Notation, o bien,&nbsp;<\/li><li>xml, que indica una salida en este formato dentro de un nodo de &nbsp;&lt;ElevationResponse&gt;.<\/li><\/ul>\n\n\n\n<p>Par\u00e1metros<\/p>\n\n\n\n<p>Los par\u00e1metros se emplean en funci\u00f3n de si la solicitud es para ubicaciones puntuales donde devuelve datos espec\u00edficos para las mismas, o cuando es para una ruta, donde las solicitudes est\u00e1n \u201cmuestreadas\u201d a lo largo de esa l\u00ednea.&nbsp;<\/p>\n\n\n\n<p>Los par\u00e1metros se separan con el car\u00e1cter ampersand (&amp;amp;) como es est\u00e1ndar en las URL.&nbsp;<\/p>\n\n\n\n<p>Aqu\u00ed la lista de los diferentes par\u00e1metros y sus posibles valores:&nbsp;<\/p>\n\n\n\n<p>Para todas las solicitudes:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Key &#8211; (indispensable) es la API key de tu aplicativo, esta llave identifica tu aplicaci\u00f3n para temas de costos.&nbsp;<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Ubicaciones:&nbsp;<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Ubicaciones (locations), es indispensable y define el punto(s) en la Tierra de donde regresara la informaci\u00f3n de elevaci\u00f3n. Puede ser la coordenada de un solo punto, separado por coma (latitud, longitud), o m\u00faltiples coordenadas expresadas como una matriz o una polil\u00ednea codificada.&nbsp;<\/li><\/ul>\n\n\n\n<p>Muestreo a lo largo de una ruta:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Ruta (path), define la ruta en la superficie terrestre de la cual se quiere conocer las diferentes elevaciones. Este par\u00e1metro define un set de dos o m\u00e1s coordenadas y debe ser utilizado en conjunto con la cantidad de muestras a lo largo de la ruta.&nbsp;<\/li><li>Muestreo (samples), espec\u00edfica la cantidad de puntos muestra a lo largo de la ruta que se est\u00e1 solicitando. Este par\u00e1metro divide la ruta solicitada en puntos equidistantes a lo largo de la misma.<\/li><\/ul>\n\n\n\n<p>Especificando ubicaciones:&nbsp;<\/p>\n\n\n\n<p>Las solicitudes de posici\u00f3n se indican mediante el uso del par\u00e1metro de ubicaci\u00f3n, que indica la elevaci\u00f3n para coordenadas espec\u00edficas&nbsp;<\/p>\n\n\n\n<p>Este par\u00e1metro de ubicaci\u00f3n puede tomar alguno de las siguientes formas:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Una sola coordenada: locations=19.4286157,-99.2067666<\/li><li>Una matriz de coordenadas separadas por el car\u00e1cter de barra vertical, \u201c|\u201d&nbsp;(pipe character): locations=40.714728,-73.998672|-34.397,150.644<\/li><li>Un set de coordenadas codificadas utilizando el&nbsp;<a href=\"https:\/\/developers.google.com\/maps\/documentation\/utilities\/polylinealgorithm\">Algoritmo de Codificaci\u00f3n de Polil\u00edneas<\/a>: locations=enc:gfo}EtohhU<\/li><\/ul>\n\n\n\n<p>Las coordenadas deben estar definidas empleando las comas para separar los n\u00fameros dentro de la URL, debe ser un valor de ubicaci\u00f3n v\u00e1lido en la faz de la tierra. Las latitudes pueden tomar cualquier valor entre -90 y 90, mientras que los valores de longitud pueden tomar cualquier valor entre -180 y 180. Si introduce un valor de latitud o longitud no v\u00e1lido, su solicitud ser\u00e1 marcada como incorrecta.<\/p>\n\n\n\n<p>Es posible solicitar hasta 512 coordenadas dentro de una matriz o polil\u00ednea codificada; si supera esta cantidad, la solicitud devuelve la respuesta INVALID_REQUEST. C\u00f3mo lo dijimos anteriormente, en una matriz de coordenadas la precisi\u00f3n de los datos devueltos puede ser de menor resoluci\u00f3n que cuando se solicitan datos para una sola coordenada.&nbsp;<\/p>\n\n\n\n<p>Definiendo rutas:&nbsp;<\/p>\n\n\n\n<p>A diferencia de una solicitud posicional, cuando se define una ruta (path) se hace mediante un conjunto ordenado de v\u00e9rtices. En lugar de devolver datos de elevaci\u00f3n solo en los v\u00e9rtices, las solicitudes de ruta se muestrean a lo largo de la ruta, seg\u00fan la cantidad de muestras especificadas (incluidos los puntos finales).<\/p>\n\n\n\n<p>El par\u00e1metro de ruta (path) puede construirse con cualquiera de estas opciones:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Una matriz de dos o m\u00e1s coordenadas separadas con el caracter pipe, path=40.714728,-73.998672|-34.397,150.644<\/li><li>Un set de coordenadas codificadas utilizando el&nbsp;<a href=\"https:\/\/developers.google.com\/maps\/documentation\/utilities\/polylinealgorithm\">Algoritmo de Codificaci\u00f3n de Polil\u00edneas<\/a>: path=enc:gfo}EtohhUxD@bAxJmGF<\/li><\/ul>\n\n\n\n<p>Como hemos podido leer, esta API es una excelente opci\u00f3n para saber la ruta que ha seguido un transporte sin recurrir a otras APIs como Route Traveled. Tambi\u00e9n es utilizada como parte de los par\u00e1metros para crear algoritmos que infieren el consumo de gasolina en el rastreo de activos o de calor\u00edas, como ser\u00eda una aplicaci\u00f3n de ejercicio.&nbsp;<\/p>\n\n\n\n<p>El costo de la API Elevation, es de 5 USD por cada 1000 consultas, esto significa .005 centavos de d\u00f3lar por cada llamada, como todas las APIs tambi\u00e9n tiene descuentos escalonados dependiendo del consumo mensual.<\/p>\n\n\n\n<p>Bibliograf\u00eda<\/p>\n\n\n\n<p><a href=\"https:\/\/developers.google.com\/maps\/documentation\/elevation\/start\">https:\/\/developers.google.com\/maps\/documentation\/elevation\/start<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/developers.google.com\/maps\/documentation\/elevation\/usage-and-billing\">https:\/\/developers.google.com\/maps\/documentation\/elevation\/usage-and-billing<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/es.wikipedia.org\/wiki\/Elevaci%C3%B3n_(ubicaci%C3%B3n_geogr%C3%A1fica)#:~:text=El%20t%C3%A9rmino%20elevaci%C3%B3n%20se%20usa,para%20puntos%20debajo%20de%20la\">https:\/\/es.wikipedia.org\/wiki\/Elevaci%C3%B3n_(ubicaci%C3%B3n_geogr%C3%A1fica)#:~:text=El%20t%C3%A9rmino%20elevaci%C3%B3n%20se%20usa,para%20puntos%20debajo%20de%20la<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON\">https:\/\/en.wikipedia.org\/wiki\/JSON<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La API de Elevaci\u00f3n proporciona una interfaz simple cuya funci\u00f3n es consultar una ubicaci\u00f3n para obtener sus datos de elevaci\u00f3n.&nbsp; Entendemos por elevaci\u00f3n de una ubicaci\u00f3n geogr\u00e1fica, a la altura por encima o por debajo de un punto de referencia fijo, el cual es el nivel del mar. Este t\u00e9rmino se usa principalmente cuando se [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":177,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-108","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articulos-de-interes"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=108"}],"version-history":[{"count":2,"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/108\/revisions"}],"predecessor-version":[{"id":176,"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/108\/revisions\/176"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/media\/177"}],"wp:attachment":[{"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog-esource.daxosline.com.co\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}