Qlikview + Google Maps + USGS = Visualiza los sismos en Japón

En un artículo anterior vimos la facilidad de Qlikview para cargar datos fragmentados desde distintas fuentes de datos y también para integrarse con Google Maps. Utilizando esta última funcionalidad, construiremos una aplicación práctica para visualizar un mapa dinámico de los temblores en Japón desde Marzo 2011 a la fecha. Para ello, utilizaremos los datos de la USGS.

En este proyecto, aplicaremos los mismos conceptos mostrados en el artículo anterior de integración con Google Maps, por lo que lo resumiremos brevemente.

Manos a la obra

Partimos el proyecto bajando los datos históricos de los últimos sismos registrados por la USGS.

Luego, en Qlikview vamos a Archivo >> Editor de Script (o con la tecla abreviada CTRL+E) e ingresamos el siguiente código:

// Google Maps en QlikView
// Google Maps Key. Obten la tuya en http://code.google.com/apis/maps/signup.html
gmap_key = 'xx';
max_zoom_level = 10; //valor máximo = 17

// Variables requeridas para calcular mapa
var_pi180=		'=pi()/180';
var_lat_offset=	'0';
var_mc2=		'=256*pow(2,$(var_zoom))';
var_mc1=		'=256*pow(2,($(var_zoom)-1))';
var_mid_lat=	'=min(Latitude)+(1+var_lat_offset)*((max(Latitude)-min(Latitude))/2)';
var_mid_long=	'=min(Longitude)+(max(Longitude)-min(Longitude))/2';
var_zoom=		'=max(aggr(if(max( round(256*pow(2,(_zoom_level -1)))+( Longitude  *((256*pow(2,_zoom_level ))/360)) )-min( round(256*pow(2,(_zoom_level -1)))+( Longitude  *((256*pow(2,_zoom_level ))/360)) ) <map_size_x AND max((256*pow(2,(_zoom_level-1)))+((0.5*log((1+(sin((Latitude)*pi()/180)))/(1-(sin((Latitude)*pi()/180)))))*((-256*pow(2,_zoom_level))/(2*pi()))))-min((256*pow(2,(_zoom_level-1)))+((0.5*log((1+(sin((Latitude)*pi()/180)))/(1-(sin((Latitude)*pi()/180)))))*((-256*pow(2,_zoom_level))/(2*pi()))))<map_size_y,_zoom_level,1),_zoom_level))';
var_maptype=	'=if(isnull(only(maptype)),fieldvalue( '&chr(39)&'maptype'&chr(39)&', 1 ),maptype)';
map_size_x=	    '500';
map_size_y=     '500';

SET HidePrefix='_' ;
// Campo Requerido para calcular el mejor nivel de zoom
_zoom_level:
Load RecNo( ) as _zoom_level autogenerate(max_zoom_level);

maptype:
LOAD * INLINE [
    maptype
    roadmap
	mobile
	satellite
	terrain
	hybrid
];

Data:
LOAD Date,
     TimeUTC,
     Longitude,
     Latitude,
     Magnitude,
     Depth
FROM
C:\qed.asc
(txt, codepage is 1252, embedded labels, delimiter is ',', msq)
WHERE (Longitude>140 and Longitude<143 and Latitude>37 and Latitude<40 and Date>'2011/03/01');

Con la condición WHERE (Longitude>140 and Longitude<143 and Latitude>37 and Latitude<40 and Date>’2011/03/01′) le indicamos a Qlikview que delimitamos la zona geográfica a Japón y la fecha desde la cual queremos y consideraremos los datos.

El Resultado

Los otros parámetros tienen los mismos valores  que el proyecto de integración con Google Maps que anteriormente posteamos y el resultado es el siguiente:

Aplicación práctica para visualizaar los sismos en Japón con Qlikview y Google Maps

Aplicación práctica para visualizaar los sismos en Japón con Qlikview y Google Maps

En próximos artículos seguiremos entregando más tips y funcionalidades. Ojalá esta aplicación práctica haya sido de utilidad para ustedes. Desde ya quedan invitados a postear sus comentarios más abajo, ya que sus comentarios nos motivarán a seguir escribiendo más artículos.

Leave a reply