Watch videos with subtitles in your language, upload your videos, create your own subtitles! Click here to learn more on "how to Dotsub"

Geografía en Wolfram Language

0 (0 Likes / 0 Dislikes)
Hola me llamo Jose Martín García, y soy uno de los desarrolladores de las nuevas funciones para geografía en el Lenguaje Wolfram que les vamos a presentar aquí. Esta charla se compone de cuatro partes; en primer lugar, una breve introducción a la función principal GeoGraphics, luego presentaré como se han implementado los conceptos básicos de Geodesia en el Lenguaje Wolfram. En el tercer lugar veremos como construir mapas, y finalmente mostraré varios ejemplos de uso. Vamos con la introducción. El Lenguaje Wolfram combina su enorme poder con una gran sencillez de uso, y el comando GeoGraphics es un buen ejemplo de ello, por defecto nos devuelve un mapa de la zona local en la que nos encontramos en mi caso Champaign, donde se encuentra la sede central de Wolfram Research. Si queremos cualquier otra zona podemos utilizar Control + equal, escribo Control + equal y aquí la zona en la que estoy interesado, el sistema lo interpreta como el país de Ecuador, pero esta anotación nos indica que existen interpretaciones alternativas. En este caso el volcán de Ecuador de las Islas Galápagos. Nosotros estamos interesados en esta interpretación, así que la aceptamos y evaluamos esta línea. GeoGraphics escoge todos los parámetros del mapa por nosotros, y nos devuelve un mapa de Ecuador. Podemos nosotros mismos escoger los parámetros que queremos, utilizando la anotación de opciones de GeoGraphics. Aquí vamos a producir un mapa dentro del mundo con un tamaño de imagen de 600 pixeles. Por ejemplo, supongamos que estamos interesados en este rango de latitudes y de longitudes, que ese corresponde con esta región en el mundo. Entonces GeoGraphics va a producir este mapa, en el cual a escogido la proyección más adecuada para disminuir la distorsión, comparen este mapa con este de aquí. Esta proyección cartográfica es en este caso LambertAzimuthal centrada en este punto. Ahora queremos poner elementos geográficos en un mapa concreto, por ejemplo, supongamos que estamos interesados en esta zona. Vamos a dibujar una geodésica desde este punto hasta este punto, y luego un disco rojo semitransparente centrado en este punto, con un radio de 1000 kilómetros, aquí lo tenemos. Otra vez GeoGraphics ha escogido una proyección cartográfica que hace que la geodésica se vea rectilínea y el disco se vea circular. Si hubiésemos escogido por ejemplo la proyección equirrectangular en la cual el eje vertical es exactamente latitud, y el eje horizontal es exactamente longitud, veríamos como la geodésica no se ve rectilínea y el disco no se ve circular. En la proyección de Mercator, la más común en mapas de internet, por ejemplo: Google Maps, el disco sigue viéndose circular pero la línea, la geodésica, no se ve rectilínea ahora. ¿Cómo funciona GeoGraphics? básicamente en tres pasos. Primero, analiza localmente la entrada y decide rangos, proyección, estilo y varios otros parámetros, luego se conecta con el servidor Wolfram de datos geográficos y descarga la información necesaria para producir el mapa. Y finalmente construye el mapa y lo presenta en la pantalla. Ahora permítanme que repasemos que otros conceptos básicos de geodesia. Existen cuatro niveles en los cuales podemos modelar las superficies de la Tierra. Podemos asumir que la tierra es una esfera de unos 6370 Km de radio. Pero eso es hoy en día una mal aproximación. El segundo nivel describe la Tierra como un elipsoide de revolución. Existen múltiples elecciones de elipsoides adaptados a los diferentes países, o que han mejorado con el tiempo. La función GeodesyData conoce mucha de esta posibilidades y sus parámetros. El Lenguaje Wolfram usa por defecto el Sistema de Referencia Terrestre Internacional del año 2000 y estos son sus parámetros, los semiejes mayor y menor. La diferencia es de unos 20 kilómetros y aún así el achatamiento definido de esta forma es pequeño es una parte en 300. Una cosa fundamental del uso de un elipsoide es que el concepto de latitud no es tan obvio como cabría esperar, pero en la esfera la latitud es clara, pero cuando la excentricidad crece tenemos varias posibilidades. Aquí, por ejemplo, estamos en el caso de una esfera, en el cual los semiejes mayor y menor son iguales, pero si disminuimos el semieje menor vemos como ahora tenemos estos dos ángulos. Esto es lo que llamaríamos la latitud geocéntrica, y esto es la latitud geodética o elipsoidal. Esta es la que se utiliza habitualmente. A partir de ahora, cada vez que hablemos de latitud estaremos pensando siempre en esta latitud, en la latitud geodetica. El tercer nivel de descripción de la Tierra utiliza el geoide la superficie equipontencial del campo gravitatorio terrestre que coincide con el promedio de los océanos lo que se suele llamar el nivel del mar. Este mapa muestra las diferencias entre el elipsoide promedio que utilizamos en el Lenguaje Wolfram y el geoide. Vemos que geoide está por encima del elipsoide en el Atlántico norte, pero por debajo cerca de la India. En cualquier caso las variaciones no superan los 100 metros así que son pequeñas. Finalmente, la cuarta superficie que nos interesa es la topografía, la superficie real de la Tierra. El comando GeoElevationData, conoce las elevaciones de cualquier punto de la Tierra con respecto a geoide; por ejemplo, la elevación de Quito es esta. Podemos también obtener la matriz de elevaciones de una zona concreta. Aquí por ejemplo sería una matriz de 587.529, y GeoGraphics también es capaz de acceder directamente también a esos datos y, por ejemplo, podemos así construir un mapa de relieve de elevaciones, en el cual hemos puesto también un marcador geográfico en la posición de la ciudad de Quito. Hablemos ahora de formas de posicionamiento en la Tierra. La forma más simple es mediante un par latitud y longitud. GeoPosition es capaz de consultar la base de datos en Wolfram Alpha y obtener esos datos para nosotros a partir de entidades. Podemos también utilizar un vector coordenado tridimensional en metros con origen en el centro de la Tierra, sería este. Existe también otra posibilidad dada por la función GeoPositionENU que consiste en un vector tridimensional de un cierto punto con respecto a cualquier otro. Por ejemplo, este es el vector de París con respecto a Londres. Aquí tenemos por ejemplo, una representación de ese trihedro de coordenadas de referencia. Este eje está apuntando a la dirección Este. Este está apuntando a la dirección Norte y el eje azul está en la dirección arriba. Este vector es siempre un vector con respecto a este punto y fíjense cómo cualquier otro punto esta siempre por debajo del plano tangente al punto de referencia, por ejemplo, París esta unos 9 kilómetros por debajo de Londres, o por ejemplo, Loja esta aproximádamente unos 14 kilómetros por debajo plano tangente de elipsoide en la ciudad de Quito. El Lenguaje Wolfram permite también describir ángulos de múltiples formas como cantidades, también en forma, grados, minutos, segundos. Podemos también interpretarlos en dirección inversa, o podemos mezclar estas notaciones. Las funciones geodéticas de Wolfram Mathematica son muy precisas con errores inferiores al milímetro sobre todo la superficie. En geodesia existen dos problemas básicos de cálculo. El llamando problema directo, consiste en calcular el destino de moverse desde un cierto punto a lo largo de una geodésica determinada por una distancia, y el rumbo inicial. En este caso 25 grados. El rumbo es siempre medido en la dirección de las agujas del reloj con respecto al Norte. Así que este es nuestro desplazamiento. Si nos desplazamos desde la ciudad de Quito a lo largo de este desplazamiento terminaríamos en este punto, por ejemplo, podemos representar eso en este mapa. Podemos utilizar otra proyección cartográfica, en la cual vemos como la geodésica se representa en forma rectilínea. Un efecto curioso del carácter no esférico de la Tierra es que las geodésicas no focalizan exactamente sobre la antípoda. Tomemos esta colección de 90 geodésicas que parten del punto {0,180} y tienen una longitud de 20.000 kilómetros. Si las dibujamos, vemos que parecen focalizar todas sobre el punto 00; sin embargo, si aumentamos el zoom, y nos concentramos en esta región muy pequeña alrededor de esta zona, entonces obtenemos este resultado. En el cual vemos cómo a lo largo de una región de aproximadamente 50 a 100 kilómetros las geodésicas no focalizan exactamente. Esto como decía es debido al carácter elipsoidal de la Tierra. El problema inverso consiste en: dadas dos posiciones, por ejemplo, las posiciones de las ciudades de Nueva York y Sydney, queremos encontrar tanto la distancia como la dirección, el rumbo, que tendríamos que tomar para ir de una a la otra. Fíjense que por defecto en mi sistema las unidades se vuelven en millas, lo habitual en Estados Unidos; pero, si escojo el sistema métrico, puedo obtener los resultados en kilómetros. Fíjense también que la dirección para ir desde Nueva York a Sydney, no coincide necesariamente con el negativo de la dirección para ir de una ciudad a otra en sentido inverso, esta sería la geodésica de la que estaríamos hablando. Finalmente, quisiera mencionar que cuando trabajamos con entidades extendidas, es decir entidades no puntales, en ese caso la distancia se mide entre fronteras. Por ejemplo, Ecuador y Perú tienen fronteras contiguas, así que la distancia entre los dos países se consideran cero sin embargo por ejemplo, entre Ecuador y Brasil no es cero como vemos en este mapa. Una función muy interesante para trabajar con distancias entre entidades es GeoNearest es capaz de decirnos, por ejemplo, en este caso, cuales son los países que se encuentran a una distancia de 100 Km o menos de Alemania, que sería esta lista. Existen varias funciones relacionadas con GeoNearest como: GeoIdentify, GeoEntities, GeoWithinQ, pero son básicamente casos particulares de GeoNearest. Vamos con la segunda parte de esta charla en la cual hablaremos sobre mapas. Como decíamos uno de los elementos fundamentales a la hora de construir un mapa, es la elección de proyección cartográfica. El lenguaje Wolfram contiene una de las conexiones más extensas de proyecciones aquí tenemos, por ejemplo, un subconjunto de las que podemos utilizar. La manera concreta de trabajar con proyecciones para un punto concreto es como sigue. Supongamos que tenemos este punto que es la posición geográfica en la que yo me encuentro. La función GeoGridPosition es capaz de cambiar las coordenadas de este punto a esta proyección. La proyección de Albers y, GeoPosition es capaz de devolvernos otra vez la latitud y longitud geodéticas correspondientes a este punto, podemos construir el mapa correspondiente a esta proyección, y aquí podemos ver utilizando las herramientas de coordenadas que se obtienen, primero pulso aquí, y ahora pulso en el punto, vemos como el punto en el que yo me encuentro tiene latitud y longitud las que vemos arriba, y luego x si está marcado las coordenadas en la proyección de Albers, es decir x es -0.9 aproximadamente y es 1.1. La proyección de Albers tiene ciertos parámetros por defecto, escogidos por GeoProjectionData, nosotros podemos cambiar esos parámetros, por ejemplo, imaginemos que queremos cambiar el Centering a otro punto de la Tierra. Ahora las coordenadas son diferentes, porque el mapa es diferente. Existen también realizaciones concretas de proyecciones cartográficas que son las recomendaciones de los diversos países para los mapas de sus correspondientes zonas. Por ejemplo, aquí tenemos la colección de las proyecciones recomendadas para las diversas zonas de los Estados Unidos. Por ejemplo, este es uno de los sistemas de coordenadas para una de las áreas de Alaska. También tenemos la familia UTM (Mercator Transverso Universal), que divide el mundo en 60 zonas. Este es un ejemplo de como se vería un seccionamiento similar en ocho zonas, como digo la familia UTM tiene 60. Veamos ahora una galería de proyecciones, con este comando podemos dibujar mapas en las diferentes proyecciones, por ejemplo, esta es la proyección equirectangular que mencione antes en la cual el eje vertical coincide exáctamente con latitud, y el eje horizontal con longitud. Las proyecciones cilíndricas se caracterizan por tener paralelos que son líneas rectilíneas, así como los Meridianos también líneas rectilíneas, eso provoca que la distorsión cerca de los polos sea siempre muy grande. Aquí tenemos otra proyección cilíndrica, en la cual estos rectángulos pequeños tienen todos la misma área. La famosa proyección de Mercator, la más utilizada en los mapas de internet, que manda los polos al infinito, de hecho esta línea por aquí es aproximadamente más 85 grados de latitud, y aquí también menos 85 grados. Otra proyección que es un compromiso entre Mercator y la proyección equirectangular. Las proyecciones pseudo-cilíndricas todavía tienen paralelos que son líneas rectilíneas, pero los Meridianos son ahora líneas curvas. La proyección de Mollweide es una de las más famosas, se utiliza mucho en mapas del cielo por ejemplo, el fondo del microondas. Aquí tenemos la sexta proyección de Eckert, en la cual el polo es otra vez una línea rectilínea pero mas corta. La proyección de Robinson, que fue utilizada por National Geographics durante muchos años, pero recientemente han cambiado a la proyección WinkelTripel, que es está de aquí. Proyecciones azimutales son aquellas en las que el mapa se proyecta sobre un plano tangente a un punto, aquí tenemos la proyección ortográfica, que consiste en mirar la Tierra desde el infinito básicamente, y también tenemos la proyección LambertAzimuthal en la cual podemos proyectar todo el mundo. Esta linea que rodea es el punto antipodal a este de aquí. Tenemos proyecciones cónicas en las cuales la superficie terrestre esta proyectada sobre un cono. Y tenemos las llamadas proyecciones pseudo-cónicas, como por ejemplo la proyección de Bonne. Y luego otras como la proyección Armadillo, la proyección Craig, que es una proyección Retroazimuthal esto es útil, por ejemplo, para encontrar la dirección en la que hay que orientarse con respecto a un cierto punto, por ejemplo, la Meca. O la proyección policónica que no tiene mucha distorsión en esta zona, y tampoco mucha en las zonas polares. Veamos ahora las primitivas geográficas, hemos visto antes GeoPath. GeoPath representa cualquier tipo de trayectoria sobre la Tierra, hay varios tipos. En este caso vemos aquí en rojo la llamada loxodroma o línea de rumbo constante, que cruza todos los Meridianos con el mismo ángulo, y, en verde, la geodésica. Es difícil quizás creerlo, pero la geodésica es más corta que la loxodroma, esto se aprecia mucho mejor si mostramos este mapa en una proyección azimutal, como la proyección ortográfica. Esta es la geodésica, esta es la loxodroma que cruza todos los Meridianos con el mismo ángulo. Tenemos líneas geográficas de nombres concretos el Ecuador, Greenwich, etc. O, por ejemplo, también la línea de cambio de fecha. Otra primitiva es un disco geográfico y, en este caso, vamos a mostrar un ejemplo interactivo utilizando Manipulate, en el cual podemos mover el disco, el centro del disco arriba y abajo la longitud podemos hacerlo más grande, vemos como cubre casi toda la Tierra, O incluso podemos abrirlo por un lado o por el otro. Otra interesante primitiva es la región visible desde cierta altura, por ejemplo, La región visible en este instante desde la Estación Espacial Internacional, que sería esta zona. O, por ejemplo, el hemisferio nocturno en este instante, digamos que es la zona no visible por el sol. Un marcador geográfico podemos obtener cualquier objeto, y colocarlo en el mapa en la posición que queramos. Hablemos ahora de Estilos. El Estilo por defecto al mapa es el llamado Estilo StreetMap que presenta calles, carreteras y fronteras y más cosas dependiendo de la escala que estemos utilizando, existe una variante sin nombres. También podemos, como vimos antes, representar datos de elevación como mapas de relieve, en este caso mapa de Francia, o podemos utilizar los mismos mapas como un mapa de niveles de contorno. Aquí vemos que Francia es más o menos plana, en comparación con los Alpes y los Pirineos. Podemos también cambiar el estilo del interior de una cierta primitiva, por ejemplo, aquí tenemos un caso en el cual el interior del polígono de Francia tiene estilo de mapa de relieve, mientras que el exterior tienen el estilo de StreetMap sin nombres, podemos hacer que el fondo sea simplemente un color, o podemos incluso no tener un fondo y, en este caso, tenemos un mapa de relieve dentro de un disco centrado en Tours. Podemos también poner cualquier imagen la de una persona, una bandera lo que sea dentro de un polígono. Finalmente, otros elementos que podemos utilizar para el estilo de un mapa, son cosas como colores, añadir la frontera, una gratícula de líneas paralelos y meridianos de en este caso, separación un grado. Podemos añadir una barra escala en unidades métricas o imperiales, podemos añadir Padding, extensiones a los lados, por ejemplo, ninguna en latitudes, 300 Km a la izquierda 50 Km a la derecha. La funcionalidad de GeoGraphics se puede extender con otras funciones asociadas, por ejemplo, tenemos DynamicGeoGraphics, que es una función dinámica que permite mover el mapa a otra zonas o cambiar el nivel de zoom, por ejemplo, desde nivel 1 que mostraría todo el mapa, hasta nivel 18, en el cual la distancia entre pixeles es inferior a un metro. Tenemos también GeoListPlot, que permite de forma muy sencilla mostrar una lista de entidades. GeoRegionValuePlot, que permite representar datos asociados a diferentes zonas, en este caso ediciones de gases de efecto invernadero para los países de Europa. Los datos son obtenidos a través de la base de datos de Wolfram Alpha y, en aquellos casos en los que no tenemos datos, podemos escoger como representarlos, por ejemplo, en blanco en este caso. Si queremos utilizar datos provenientes de otros servidores de imágenes, utilizamos la opción GeoServer. El valor Automatic representa los mapas obtenidos desde el servidor Wolfram, pero aquí, por ejemplo, estamos conectándonos a la base de datos de openstreetmap o aquí podemos obtener una imagen Google satélite. Finalmente, déjenme mostrarles ejemplos de aplicaciones; en este caso, queremos encontrar la ruta más corta entre las capitales del mundo, aquí lo que hacemos, no lo voy a evaluar, utilizamos EntityValue para obtener las capitales de todas naciones de todos los países de las Naciones Unidas, y luego otra vez encontramos sus posiciones. La función FindShortestTour á la distancia necesaria para recorrer todas las capitales, así como la permutación que nos ordena esta lista en el orden correcto, y este es el mapa que obtenemos. Si queremos representarlo en otra proyección es muy fácil cambiarlo. También podemos trabajar con cuerpos distintos a la Tierra por ejemplo en este caso la Luna. Aquí obtenemos la colección de los mares lunares, obtenemos su posición, su tamaño, lo combinamos todo, y podemos construir este mapa en el cual utilizamos Tooltips, indicaciones que aparecen cuando ponemos el ratón encima de las diferentes zonas. Podemos utilizar también las poderosas funciones de procesamiento de imágenes en el Lenguaje Wolfram para tomar un mapa antiguo de 1775 de París y, mediante varias de estas funciones, como decía, así como algunos cálculos geodéticos, escogemos tres puntos que coinciden en ambos mapas, buscamos la transformación que nos lleva un conjunto al otro, y finalmente lo aplicamos a uno de los mapas, y los podemos super poner y vemos que coinciden muy bien. Aquí los campos de Marte, los campos Elíseos, etc. Por ejemplo, también podemos hacer un pequeño ejercicio para encontrar de forma mas o menos manual cuál es el estado de los Estados Unidos mas alejado de la frontera. Aquí otra vez descargamos el polígono de Estados Unidos, estos son los puntos de este polígono, construimos una función que interpola en distancia a través de todos esos puntos y, finalmente, colocamos 300 discos de 650 millas de radio a cada uno de esos puntos. 
Aquí en distancias equivalentes colocamos esos 300 discos, y vemos como hay una pequeña zona aquí que no está cubierta, esta zona está dentro de la zona de Kansas que es está de aquí. Finalmente, otro ejemplo, podemos utilizar la proyección Gnomonic, una de las proyecciones de GeoProjectionData, para proyectar la superficie de la Tierra sobre poliedros, en este caso un decaedro o un cubo, podría ser cualquier poliedro, tetraedro, lo que sea. Voy a terminar con unas conclusiones: La versión 10 de Wolfram Language incluye un sistema completo para geodesia y geografía. Contiene funciones gráficas y precisas para cálculos geodéticos, y múltiples formas de expresar una posición en el globo. El comando GeoGraphics con múltiples opciones y un extenso número de primitivas geográficas, permite construir mapas de todo tipo en muy pocas líneas. Entity permite el acceso a una enorme colección de datos, organizados y clasificados de forma sistemática en la base de datos de Wolfram Alpha. El Lenguaje Wolfram también ofrece acceso a una gran variedad de funciones adicionales, de estadística, de cálculo númerico, de teoría de grafos, y muchas otras cosas que se pueden combinar con las funcionalidades de geografía, y mucho más. Importación de formatos de datos geográficos, disponibilidad del Lenguaje Wolfram en otras plataformas, como por ejemplo en la nube Wolfram, una activa comunidad de usuarios y desarrolladores, múltiples formas de documentación etc. Aquí termino, muchas gracias.

Video Details

Duration: 30 minutes and 27 seconds
Country:
Language: English
License: Dotsub - Standard License
Genre: None
Views: 72
Posted by: wolfram on Jun 1, 2015

Geografía en Wolfram Language

Caption and Translate

    Sign In/Register for Dotsub above to caption this video.