Publicación de información geográfica en Layar mediante PorPOIse
1. Geoinquietos Cantabria
Publicación de información geográfica en Layar
mediante PorPOIse
Santander, 15 de julio de 2011
Emilio Gómez Fernández
emiliogf@altergeosistemas.com
Creative Commons Reconocimiento-NoComercial 3.0 España http://www.flickr.com/szlagor
2. Clientes de realidad aumentada
Layar (propietario) http://www.layar.com
http://www.flickr.com/photos/claudiarahanmetan http://www.flickr.com/photos/imefakultetet
3. Clientes de realidad aumentada
Wikitude (propietario) http://www.wikitude.com
http://www.flickr.com/photos/fstorr http://www.flickr.com/photos/wikitude
4. Clientes de realidad aumentada
Mixare (libre) http://www.mixare.org
http://code.google.com/p/mixare
5. Clientes de realidad aumentada
Kharma (libre) https://research.cc.gatech.edu/polaris/
https://research.cc.gatech.edu/kharma
6. Porpoise
Portable Point-of-Interest Server for Layar.
Licencia libre BSD.
Se ejecuta bajo cualquier servidor PHP estándar.
Permite servir PDI a clientes Layar.
Soporta archivos XML, BD como almacenes de
datos y archivos tabulados (← descontinuado).
Tres tipos de PDI: puntos, objetos 2D, objetos 3D.
Soporta el estándar de autoidentificación oAuth.
En 2011 el desarrollo pasa a Layar.
8. Instalando Porpoise
Descargamos Porpoise →http://code.google.com/p/porpoise
Lo descomprimimos y lo subimos al servidor.
Accedemos a: http://dominio.com/porpoise/web/porpoise.php
Si el archivo php devuelve el siguiente código JSON
todo va bien:
{"layer":"unspecified","errorCode":20,"errorString":"Missing parameter:
userId","hotspots":[],"nextPageKey":null,"morePages":false}
Si tira algunos de estos errores:
Error 404 → Verifica la ruta
Error 403 → Verifica los permisos
Fatal error: Cannot redeclare class HttpRequest → Abre httprequest.class.php y
web-app.class.php y renombra la clase HttpRequest a HttpRequest1.
9. Instalando Porpoise
Descargamos Porpoise →http://code.google.com/p/porpoise
Lo descomprimimos y lo subimos al servidor.
Accedemos a: http://dominio.com/porpoise/web/porpoise.php
Si el archivo php devuelve el siguiente código JSON
todo va bien:
{"layer":"unspecified","errorCode":20,"errorString":"Missing parameter:
userId","hotspots":[],"nextPageKey":null,"morePages":false}
Si tira algunos de estos errores:
Error 404 → Verifica la ruta
Error 403 → Verifica los permisos
Fatal error: Cannot redeclare class HttpRequest → Abre httprequest.class.php y
web-app.class.php y renombra la clase HttpRequest a HttpRequest1.
10. Configurando Porpoise
Crear un usuario en Porpoise:
Lo primero es encriptar la contraseña ya que esta no se guarda tal cual:
http://dominio.com/porpoise/web/dashboard/crypt.php?miusuario=micontraseña
Editamos el archivo:
http://dominio.com/porpoise/web/dashboard/users.inc.php
sustituyendo el código:
$_access["default"] = '';
por el que nos ha devuelto Porpoise, por ejemplo:
$_access["geoinquietos"] = '$1$la9Y1ce.$ISxHGIC4SbFE9FOiiPOiQ1';
12. Crear una nueva capa AR
Configurar con un editor de texto el archivo:
http://dominio.com/porpoise/config/config.xml
Aquí introduciremos:
1) usuario y contraseña de la cuenta de desarrollador Layar.
2) cómo se van almacenar los datos, mediante una BD y/o a través de un
archivo XML (descomentamos los conectores seleccionados).
Permite también configurar el protocolo OAuth de autentificación para restringir
al acceso a capas.
13. Crear una nueva capa AR
Registramos dos capas: una basada en
XML y la otra en BD. El nombre debe
ser en minúscula, sin espacios ni
caracteres raros.
Conexión a capa XML
Conexión a base de datos
14. Crear una nueva capa AR
Utilizamos el archivo XML de ejemplo que viene en
Porpoise como plantilla para la nueva capa.
Accede al directorio ”config” y crea una copia de ”example.xml” con el nombre
que pusiste en ”config.xml” a la capa XML.
Copia de example.xml
15. Crear una nueva capa AR
¡¡Muy importante!!
Estamos almacenando la clave y contraseña de nuestra BD sin encriptar.
Plan 9 from Outer Space (1958)
http://archive.org/details/Plan9FromOuterSpace1958
16. Crear una nueva capa AR
Hay que evitar que el archivo de configuración sea accesible a través de web:
1. Renombra o mueve el directorio ”config” a un lugar inaccesible.
2. Edita ”config.php” y modifica la constante PORPOISE_CONFIG_PATH para
registrar este cambio.
17. Crear una nueva capa AR
¿Cuándo utilizar XML?
Si nuestra capa es pequeña y no contiene gran cantidad de PDI.
Si es parte de una proceso encadenado de transformación XML/XSL.
Si estamos desarrollando un prototipo.
¿Qué ventajas tiene?
Fácil de crear, sin programar.
Fácil de mantener si el número de PDI es pequeño.
No es necesario configurar nada.
18. Crear una nueva capa AR
¿Cuándo utilizar una base de datos?
Si el número de PDI es elevado (cientos de ellos).
Si el proyecto es grande y necesitamos un buen rendimiento.
Si el contenido es dinámico o requiere de autentificación.
Si la capa requiere un proceso complejo de selección de elementos.
¿Qué ventajas tiene?
Es más robusto y seguro que XML.
Excelente redimiento a la hora de servir capas de cientos de PDI.
19. Crear una nueva capa AR
Accede al dashboard de Porpoise
http://dominio.com/porpoise/web/dashboard/index.php
Valídate con el nombre y usuario que añadistes en
users.inc.php.
Aparecerán las capas que registrastes en config.xml
Capa XML
Capa base datos
20. Crear una nueva capa AR
Archivo XML
Accede a tu capa XML.
Los parámetros de la capa los dejaremos por defecto y pulsaremos ”New POI”.
El parámetro ”Dimension” define en cuantas dimensiones estará representado el
POI en la pantalla de Layar:
1 (un punto, la habitual).
2 (una imagen).
3 (elemento en 3 dimensiones).
Escogeremos 1.
21. Crear una nueva capa AR
Selecciona el nuevo POI <no title> que se ha creado.
Completa los datos datos del POI:
ID autoincremental del POI. No se puede modificar.
Título del POI. 60 caracteres en dos líneas.
Coordenadas dec. del punto (WGS84 Lat Lon).
Información adicional sobre el punto.
35 caracteres max./línea sin retorno de carro.
Atribución.
URL de una imagen del POI (redimens. 100 x 75 px).
Tipo de POI para asignar un icono diferente.
Evitar la indexación de POI.
Mostrar el BIW reducido.
Mostrar el BIW al pulsar en la pantalla.
Dimensión del POI. En principio no modificar.
Altitud absoluta a la que se ubica el POI.*
Altitud relativa del POI respecto a la del usuario.*
Permite añadir una acción al POI.
Permite añadir una animación al POI.
*Solo funciona con el GPS activado.
22. Crear una nueva capa AR
Punto de Interés (POI)
Brief Info Widget (BIW) Título
Línea 2
Línea 3
Imagen Línea 4
Atribución
http://www.flickr.com/photos/bertboerland
23. Crear una nueva capa AR
http://layar.pbworks.com/w/page/28473525/GetPOIs-JSON%20Response
24. Crear una nueva capa AR
Base de datos
Accede a tu gestor web de base de datos.
Selecciona la base de datos e importa el archivo ”database.sql” que contiene el
script SQL para crear la estructura de tablas.
25. Crear una nueva capa AR
Vuelve al dashboard de Porpoise, selecciona la capa e introduce los POI uno a
uno como hemos visto.
¡¡¿Cientos de puntos a mano?!!
Panic in the Streets (1950)
http://archive.org/details/PanicIntheStreets1950RichardWidmark
26. Crear una nueva capa AR
¡¡Calma, calma, que no panda el cúnico!!
Vuelve al gestor web de bases de datos y accede a la bd.
Abre la estructura de la tabla 'POI' y apunta el nombre, orden y tipo de campo.
27. Crear una nueva capa AR
Créate un archivo CSV mediante una hoja de cálculo o un GIS con la lista de
POI. Las columnas deben coincidir con la estructura de la tabla de la bd.
Recuerda que el sistema de coordenadas debe ser EPSG:4326
28. Crear una nueva capa AR
Carga los datos en la tabla POI importando el CSV en el gestor web de la base
de datos.
29. Crear una nueva capa AR
Consejos:
Revisar las coordenadas en el CSV y sustituir coma por punto antes de importar
Campos terminados por | (pipe).
No delimitar los campos por comillas (”).
30. Configurar la capa en Layar
Crea una cuenta de desarrollador en Layar.
http://www.layar.com/development/
32. Configurar la capa en Layar
Configurar la capa en Layar:
Definir el bounding box de la capa (coverage).
33. Configurar la capa en Layar
Señalar un rango de búsqueda de puntos (filters).
34. Configurar la capa en Layar
Redactar un descripción detallada de la capa y definir etiquetas. Subir una
imagen o icono que la identifique (listing & indexing).
35. Configurar la capa en Layar
Finalmente testear la capa y solicitar su publicación (aprobación ca. 5 días).
Se puede probar sin publicar desde el cliente Layar en Capas → Desarrollador