Publicación de información geográfica en Layar mediante PorPOIse

8,882 views

Published on

Cómo publicar capas de realidad aumentada en Layar mediante el servidor Porpoise 1.1.

Published in: Technology, Business

Publicación de información geográfica en Layar mediante PorPOIse

  1. 1. Geoinquietos Cantabria Publicación de información geográfica en Layar mediante PorPOIse Santander, 15 de julio de 2011Emilio Gómez Fernándezemiliogf@altergeosistemas.com Creative Commons Reconocimiento-NoComercial 3.0 España http://www.flickr.com/szlagor
  2. 2. Clientes de realidad aumentadaLayar (propietario) http://www.layar.com http://www.flickr.com/photos/claudiarahanmetan http://www.flickr.com/photos/imefakultetet
  3. 3. Clientes de realidad aumentadaWikitude (propietario) http://www.wikitude.comhttp://www.flickr.com/photos/fstorr http://www.flickr.com/photos/wikitude
  4. 4. Clientes de realidad aumentadaMixare (libre) http://www.mixare.org http://code.google.com/p/mixare
  5. 5. Clientes de realidad aumentadaKharma (libre) https://research.cc.gatech.edu/polaris/ https://research.cc.gatech.edu/kharma
  6. 6. PorpoisePortable 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.
  7. 7. Instalando PorpoiseCreamos una cuenta de usuario en Layar.http://www.layar.com
  8. 8. Instalando PorpoiseDescargamos Porpoise →http://code.google.com/p/porpoiseLo descomprimimos y lo subimos al servidor.Accedemos a: http://dominio.com/porpoise/web/porpoise.phpSi 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 rutaError 403 → Verifica los permisosFatal error: Cannot redeclare class HttpRequest → Abre httprequest.class.php y web-app.class.php y renombra la clase HttpRequest a HttpRequest1.
  9. 9. Instalando PorpoiseDescargamos Porpoise →http://code.google.com/p/porpoiseLo descomprimimos y lo subimos al servidor.Accedemos a: http://dominio.com/porpoise/web/porpoise.phpSi 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 rutaError 403 → Verifica los permisosFatal error: Cannot redeclare class HttpRequest → Abre httprequest.class.php y web-app.class.php y renombra la clase HttpRequest a HttpRequest1.
  10. 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;
  11. 11. Configurando Porpoise
  12. 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. 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. 14. Crear una nueva capa ARUtilizamos 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. 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. 16. Crear una nueva capa ARHay 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. 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. 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. 19. Crear una nueva capa ARAccede al dashboard de Porpoisehttp://dominio.com/porpoise/web/dashboard/index.phpValí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. 20. Crear una nueva capa ARArchivo XMLAccede 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. 21. Crear una nueva capa ARSelecciona 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. 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. 23. Crear una nueva capa AR http://layar.pbworks.com/w/page/28473525/GetPOIs-JSON%20Response
  24. 24. Crear una nueva capa ARBase de datosAccede 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. 25. Crear una nueva capa ARVuelve 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. 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. 27. Crear una nueva capa ARCré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. 28. Crear una nueva capa ARCarga los datos en la tabla POI importando el CSV en el gestor web de la base de datos.
  29. 29. Crear una nueva capa ARConsejos:Revisar las coordenadas en el CSV y sustituir coma por punto antes de importarCampos terminados por | (pipe).No delimitar los campos por comillas (”).
  30. 30. Configurar la capa en LayarCrea una cuenta de desarrollador en Layar.http://www.layar.com/development/
  31. 31. Configurar la capa en LayarRegistra la capa en Layar.
  32. 32. Configurar la capa en LayarConfigurar la capa en Layar: Definir el bounding box de la capa (coverage).
  33. 33. Configurar la capa en Layar Señalar un rango de búsqueda de puntos (filters).
  34. 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. 35. Configurar la capa en LayarFinalmente 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
  36. 36. Configurar la capa en Layar A ! O N C I U N ¡F
  37. 37. Configurar la capa en LayarEs posible acceder a unas estadísticas sencillas de consultas de la capa por los usuarios.
  38. 38. Emilio Gómez Fernándezhttp://es.linkedin.com/in/egofer http://twitter.com/egoferhttp://www.slideshare.net/egofer Plan 9 from Outer Space (1958) http://archive.org/details/Plan9FromOuterSpace1958

×