Está en la página 1de 9

Google Maps en Qlikview

Continuamos con nuestra revisin de algunas funcionalidades de Qlikview. En el artculo anterior vimos la facilidad que tiene Qlikview para cargar datos fragmentados desde distintas fuentes de datos, ya sean stos: archivos de texto plano, CSV o bases de datos. En este artculo revisaremos cmo integrar Google Maps a nuestro proyecto de Qlikview para visualizar nuestra informacin directamente en un mapa dinmico. Gracias a la combinacin de la tecnologa AJAX y el API de Google Maps, la visualizacin geogrfica de los datos contenidos en un documento QlikView es una tarea fcil y muy efectiva. Ejemplos de aplicacin de lo anterior son:
y y y y y

Visualizacin geogrfica de informacin de propiedades para el sector Inmobiliario. Geolocalizacin de clientes, ventas, productos o servicios y cmo de distrubuyen geogrficamente para el sector Retail o Banca. Puntos de inters turstico, hoteles, restoranes y otros para el sector Turismo. Visualizacin de ubicacin de contribuyentes para el sector Gobierno. Cualquier otra variable que se te ocurra y que se pueda localizar geogrficamente!

Ejemplo de Integracin
Para propsitos de demostracin de la integracin de Google Maps en Qlikview, hemos desarrollado el siguiente ejemplo: Supongamos que tenemos la informacin de la poblacin (cantidad de habitantes) de las principales ciudades de Chile y queremos desplegarla en un mapa. Tenemos entonces los siguientes datos (para cada ciudad hemos buscado las coordenadas de latitud y longitud en GMaps): 1 2 ciudad,poblacion,latitude,longitude 3 Arica,189692,-32.7648852,-71.1963079 4 Iquique,286105,-20.2440725,-70.1385651 5 Antofagasta,547933,-23.6239214,-70.4016127 Copiap,272402,-27.3753215,-70.3285281 6 La Serena,6773,-29.9069352,-71.2470754 7 Valparaso,1682005,-33.0504619,-71.6164515 8 Santiago,6607805,-33.4253598,-70.5664659 9 Rancagua,84912,-34.1620308,-70.7410124 10Talca,975244,-35.4227130,-71.6565138 Concepcin,1982649,-36.8148146,-73.0292574 11Temuco,937259,-38.7270296,-72.5989468 12Valdivia,373712,-39.8274322,-73.2512409 13Puerto Montt,794529,-41.4543039,-72.9925047 14Coihaique,100417,-45.5637560,-72.0646866 Punta Arenas,156502,-53.1478563,-70.9066254 15 16

Manos a la obra Partimos nuestro proyecto de GMap en Qlikview, vamos a Archivo >> Editor de Script (o con la tecla abreviada CTRL+E) e ingresamos el siguiente cdigo: 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2
SET DecimalSep=.; // 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 = 7; //valor mximo = 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_level1)))+((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_level1)))+((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_lev el)); var_maptype= =if(isnull(only(maptype)),fieldvalue( &chr(39)&maptype&chr(39)&, 1 ),maptype); map_size_x= 350; map_size_y= 350; 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 ];

6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9

Data: LOAD * INLINE [ ciudad,poblacion,latitude,longitude Arica,189692,-32.7648852,-71.1963079 Iquique,286105,-20.2440725,-70.1385651 Antofagasta,547933,-23.6239214,-70.4016127 Copiap,272402,-27.3753215,-70.3285281 La Serena,6773,-29.9069352,-71.2470754 Valparaso,1682005,-33.0504619,-71.6164515 Santiago,6607805,-33.4253598,-70.5664659 Rancagua,84912,-34.1620308,-70.7410124 Talca,975244,-35.4227130,-71.6565138 Concepcin,1982649,-36.8148146,-73.0292574 Temuco,937259,-38.7270296,-72.5989468 Valdivia,373712,-39.8274322,-73.2512409 Puerto Montt,794529,-41.4543039,-72.9925047 Coihaique,100417,-45.5637560,-72.0646866 Punta Arenas,156502,-53.1478563,-70.9066254 ] (delimiter is ,);

5 0 5 1 5 2 5 3 5 4 El cdigo anterior permite cargar las variables e instrucciones y los datos para generar el mapa. El resultado sera algo as como muestra la siguiente figura:

Editor de Script Grabamos y luego vamos a Archivo >> Ejecutar Script (o con la tecla abreviada CTRL+R) y cargamos los datos Agregaremos 3 objetos ahora: 1. Un objeto Cuadro de Lista, apuntando a la variable maptype, que define el tipo de mapa (satelital, calles, hbrido, etc.)

2. Un objeto Grfico, con tipo de grfico Tabla Simple, donde seleccionaremos las variables ciudad y poblacion. 3. Un objeto Grfico, con tipo de grfico Grfico de Dispersin, donde ir nuestro mapa. Vamos entonces a las propiedades del objeto Grfico de Dispersin, y seleccionamos la dimensin ciudad, como muestra la figura:

Grfico de Dispersin, Dimensiones Luego en la opcin Expresiones aadimos las siguientes 4 expresiones: 1. 2. 3. 4. longitude latitude poblacion ciudad

Las dos ltimas expresiones tiene como definicin la misma variable. Las expresiones longitude y latitude tienen las siguientes definiciones: 1. longitude o Definicin: =avg( round (256*pow(2,($(var_zoom)-1)))+( longitude *((256*pow(2,$(var_zoom)))/360)) ) o Color de fondo: =argb(180,round(550*poblacion/max(total poblacion)),0,80)

2. latitude o Definicin: =avg(((256*pow(2,($(var_zoom)1)))+((0.5*log((1+(sin((latitude)*pi()/180)))/(1(sin((latitude)*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi()))))) Estas definiciones se deben ingresar en la casilla Definicin como muestra la siguiente figura:

Grfico de Dispersin, Expresiones Por su parte, para darle formato a la escalas de los ejes X e Y, tambin debemos definir expresiones. Esto lo hacemos en la opcin Ejes, como muestra la siguiente figura, donde ingresamos cada una de las definiciones descritas a continuacin:
y

Escala Eje X Min Esttico: =((256*pow(2,($(var_zoom)-1)))+( var_mid_long *((256*pow(2,$(var_zoom)))/360)) -round(map_size_x/2)) Max Esttico: =((256*pow(2,($(var_zoom)-1)))+( var_mid_long *((256*pow(2,$(var_zoom)))/360)) + round(map_size_x/2)-15)

Escala Eje Y Min Esttico: =((256*pow(2,($(var_zoom)1)))+((0.5*log((1+(sin(var_mid_lat*pi()/180)))/(1(sin(var_mid_lat*pi()/180)))))*((256*pow(2,$(var_zoom)))/(2*pi())))+round(map_size_y/2)) Max Esttico: =((256*pow(2,($(var_zoom)1)))+((0.5*log((1+(sin(var_mid_lat*pi()/180)))/(1(sin(var_mid_lat*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))round(map_size_y/2)+15)

Grfico de Dispersin, Ejes Finalmente, y no menos importante, en la opcin Colores, debemos ingresar el cdigo que hace que Google Maps muestre el mapa. Esto lo hacemos en la seccin Formato de Marco, donde dice Imagen Dinmica, ingresamos la siguiente expresin :
y

Imagen Dinmica: =http://maps.google.com/staticmap?center= & num(var_mid_lat, ##############, ., , )

& , & num(var_mid_long, ##############, ., , ) & &zoom=$(var_zoom) & &maptype=&var_maptype & &size=&map_size_x&x&map_size_y & &key=&gmap_key & .jpg

El Resultado El resultado de todos los pasos anteriores se muestra en la siguiente figura, donde podemos ver la poblacin de las distintas ciudades de Chile dispuestas geogrficamente en un mapa dinmico:

Vista Principal, GMaps integrado en Qlikview

Notar que el tamao y gradiente de color de la burbja que aparece en el mapa indica el tamao de la poblacin de la ciudad. Esto se logra con las definiciones que hicimos anteriormente para latitude y longitude. Tambin podemos hacer clic en el cuadro de la ciudad, o en la burbja del mismo mapa, y se nos despliega la ciudad en cuestin. Por su parte, el Cuadro de Lista Tipo Mapa permite cambiar la vista a un mapa satelital, de calles o hbrido, como mencionamos anteriormente:

Detalle de Ciudad, GMaps integrado en Qlikview Bueno, con este ejemplo demostramos la potencialidad de Qlikview para desplegar nuestros datos usando Google Maps de una manera profesional y a prueba de gente del rea comercial. En prximos artculos seguiremos entregando ms tips y funcionalidades de esta poderosa herramienta. Ojal esta revisin haya sido de utilidad para ustedes. Desde ya quedan invitados a postear sus comentarios ms abajo, ya que sus comentarios nos motivarn a seguir escribiendo ms artculos. Reciban un cordial saludo y nos leemos en el prximo artculo!.

También podría gustarte