Fictizia / Curso-JS-para-desarrolladores-web_ed5

FICTIZIA » Curso de JavaScript para desarrolladores web — 5ª Edición
4 stars 11 forks source link

Proyecto (tiempo/EMT) de Stelair #7

Open UlisesGascon opened 8 years ago

UlisesGascon commented 8 years ago

Hola @Stelair

Puedes abrir un repositorio nuevo en GitHub para trabajar en el proyecto.

Sobre lo que hablamos del proyecto... he podido investigar un poco. Te comparto algunos recursos y enlaces útiles.

OpenWeatherMap

Otros datos:

El primer paso es conseguir un APIKEY usando este formulario

Estructura del API:

Otros datos interesantes:

He encontrado un repositorio muy interesante de Alvaro Reig con una petición AJAX... puede ser un interesante punto de partida.

Un abrazo!

UlisesGascon commented 8 years ago

Hola @Stelair!

He encontrado algunas API interesantes para trabajar con información de terremotos.

United States Geological Survey’s (USGS)

Openhazards

Permite consultar datos históricos y previsiones sísmicas.

Un abrazo!

Stelair commented 8 years ago

Hola @UlisesGascon,

Información que podría ser interesante para mostrar:

Puede ser interesante la Api de Google Earthquake data para el posicionamiento en el mapa.

El Centro Nacional de Información Geográfica tiene información interesante además de una aplicación móvil IGN Pro

UlisesGascon commented 8 years ago

Hola!

Genial, va tomando forma el proyecto! Google crea la capa de datos partiendo de los datos compartidos por el USGS. Google Maps es fácil de usar, tienes una guía y muchos ejemplos.

Por otro lado el Centro Nacional de Información Geográfica no comparte su API... pero haciendo un poco de ingeniería inversa he podido entender como cargan los datos en su aplicación. Utilizan este Script que se genera dinámicamente desde el servidor, así los datos se mantienen actualizados.

Puedes incluir este script en tu aplicación y llamar a los datos usando las variables dias3, dias10, dias30. Las propiedades de estos objetos contienen toda la información que querías.

var dias3 = {
        "type": "FeatureCollection",
        "features": [{
                    "type": "Feature",
                    "geometry": {
                        "type": "Point",
                        "coordinates": [-3.7512, 35.3278]
                    },
                    "properties": {
                        "evid": "ign2016febs",
                        "typeplot": 1,
                        "mag": "3.0",
                        "magtype": "mbLg",
                        "intensidad": "        ",
                        "depth": "10",
                        "fecha": "2016/03/14 09:05:06",
                        "fechalocal": "2016/03/14 10:05:06",
                        "loc": "NE ALHUCEMAS.MAC",
                        "tipoint": " "
                    }
                }, {
                    "type": "Feature",
                    "geometry": {
                        "type": "Point",
                        "coordinates": [-6.7852, 35.6491]
                    },
                    "properties": {
                        "evid": "ign2016fean",
                        "typeplot": 1,
                        "mag": "2.3",
                        "magtype": "mbLg",
                        "intensidad": "        ",
                        "depth": "22",
                        "fecha": "2016/03/14 08:29:24",
                        "fechalocal": "2016/03/14 09:29:24",
                        "loc": "GOLFO DE CÁDIZ",
                        "tipoint": " "
                    }
                },
// ...

Nos vemos en un rato!

Stelair commented 8 years ago

Ulises, ¿es posible que la API de USGS solo proporcione datos de sismos de EEUU? No sé como indicarle en la query la forma de realizar una búsqueda en tiempo real por zona La url que devuelve datos en tiempo real http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson

UlisesGascon commented 8 years ago

En principio es mundial, Hace poco hubo un terremoto en Japón y lo veo aquí. No he visto en la documentación métodos o rutas específicas para filtrar por geografía... pero siempre podrás hacerlo desde JavaScript ;-)

Stelair commented 8 years ago

Buenos días Ulises, he podido sacar algo de tiempo y he trabajado esta semana un poco en el proyecto personal. No es gran cosa, pero es que tengo hasta ahora. Estoy mostrando en tiempo real cada minuto los terremotos activos usando la API de USGS de donde extraigo las coordenadas Lath y Long para pintar en la API de Google el epicentro de cada terremoto con su respectivo mapa de calor según su magnitud, aunque no se si lo estoy haciendo correctamente. Ya me comentarás como lo ves y si tienes alguna sugerencia.

Un saludo

UlisesGascon commented 8 years ago

Hola @Stelair !

El proyecto esta genial. Has integrado muy bien AJAX, yo te recomendaría intentar manejar las actualizaciones a otro ritmo, ahora mismo estas actualizando la web cada minuto cuando realmente la fuente de datos original se actualiza cada hora.

El mapa de calor es un gran acierto! Me ha gustado mucho la idea.

Por otro lado se me ocurre que podría ser interesante mostrar la información de los seísmos en el mapa aprovechando las ventanas de información del API de Google Maps.

Incluso podrías ofrecer algún sistema de filtrado de seísmos basado en la intensidad, se puede hacer algo sencillo añadiendo y quitando clases dinamicamente. Al estilo .addClass() y .removeClass() de Jquery pero con js. Te dejo un poco de ayuda

Un abrazo!