Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Doc/Pleade/GoogleMaps » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
Ligne 89 : Ligne 89 :


==== Description ====
==== Description ====
Le module GoogleMaps permet d'avoir une autre approche dans la recherche documentaire, en mettant en avant l'aspect géographique.


L'application Pleade, embarque le module google maps.  
L'application Pleade, embarque le module google maps.  
Il peut être activé ou désactivé a tout moment.
Il peut être activé ou désactivé.
Afin d'afficher des résultats sur une carte, il faut effectuer certaines action comme activer le module et lancer une publication.
Afin d'afficher des résultats sur une carte, il faut effectuer certaines actions comme activer le module et lancer une publication.
Lors de la publication le module google maps va aller récupérer des noms de lieux pour ensuite les stocker dans une base de données, c'est la seule action faite lors de la publication d'un document.


Les lieux étant stockés, il faut ensuite récupérer leur position GPS et c'est à ce moment là qu'on utilise le service de traduction de noms de lieux en coordonnées GPS de google.  
===== Collecte =====
Cette étape est dissociée du processus de publication et est lancée depuis une URL.
Lors de la publication le module google maps va aller récupérer des noms de lieux pour ensuite les stocker dans une base de données. C'est la seule action faite lors de la publication d'un document.
Si la base de donnée contient plus de 2500 lieux, la totalité de ces lieux ne pourront être traduits car google impose une limite de traduction a hauteur de 2500 lieux par jour.


Viens enfin l'affichage des résultats de recherche sur une carte.
===== Géocodage =====
Lorsque l'on effectue une recherche, des résultats nous sont renvoyés avec un certain nombre d'information comme un titre, une date ou des lieux.
Une fois les lieux étant stockés, on récupére leur position GPS en utilisant le service de traduction de noms de lieux en coordonnées GPS de google (géocodage).  
Ces résultats peuvent ensuite être affichés sous différentes formes, avec des tableaux, des vignettes, sur une carte, etc...
Cette étape est dissociée du processus de publication et est lancée depuis une URL.


Pour l'affichage sur une carte, Pleade ira vérifier si les lieux contenus dans les résultats de recherche, ont des coordonnées GPS.
Google impose une limite de traduction à hauteur de 2500 lieux par jour.
Dans le cas ou il y en a, ils seront récupérés pour afficher les résultats de recherche sur une carte.
Si la base de donnée contient plus de 2500 lieux, seuls les 2500 premiers lieux sont traduits et le processus s'arrête. Il devra être relancé autant de fois que nécessaire.
Dans le cas contraire, aucun point ne sera affiché sur la carte.
Le processus reprendra à l'endroit où il s'est arrêté.  


Cet affichage permet d'avoir une autre approche dans la recherche documentaire, en mettant en avant l'aspect géographique. notamment pour savoir leur provenance, cela peut être pratique pour effectuer une recherche sur une zone en particulier.
===== Visualisation sur une carte =====
Le module GoogleMaps va vérifier si les lieux contenus dans les résultats de recherche ont des coordonnées GPS.
*Si oui, ils sont récupérés pour afficher les résultats de recherche sur une carte.
Une icône (marker) permet de visualiser le lieu sur la carte. Un clic affiche les informations suivantes : un titre (obligatoire), une date (optionnel), un lieu (obligatoire) et une image (optionnel).
*Sinon :
*+Le module tente de les résoudre "à la volée" (paramètre à activer), puis les affiche si il les trouve. Attention, ne pas utiliser sur un grand nombre de résultats non géocodés en Production.
*+Si le module GoogleMaps ne trouve pas de lieu ou que l'option de résolution ci-dessus n'est pas activé, aucun point ne sera affiché sur la carte.


=== Ou sont localisés les fichiers afin de l'utiliser ? ===
=== Ou sont localisés les fichiers afin de l'utiliser ? ===

Version du 28 février 2014 à 16:29

Module Google Maps

Pour installer ce projet il faut l'installer de puis le projet DEV et utiliser le projet pleade-entreprise-gmaps, qui contient une partie des choses nécessaires a son utilisation, le reste est a installer, pour cela il nous faut :

  • Avoir installer Mysql, la dernière version est recommandée.
sudo apt-get install mysql-server
  • Avoir ajouté la table pour l'application dans la base de données pleade80 qui aura été crée.
--
-- Structure de la table `module_maps`
--
CREATE TABLE IF NOT EXISTS `module_maps` (
  `id_maps` int(11) NOT NULL AUTO_INCREMENT,
  `base_adress_maps` varchar(1000) DEFAULT NULL,
  `formated_adress_maps` varchar(1000) DEFAULT NULL,
  `type_adress_maps` varchar(250) DEFAULT NULL,
  `location_type_maps` varchar(250) DEFAULT NULL,
  `lat_maps` varchar(250) DEFAULT NULL,
  `lng_maps` varchar(250) DEFAULT NULL,
  PRIMARY KEY (`id_maps`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
  • Avoir configuré les données de connexions a MySQL dans tomcat sur le fichier context.xml

Il faut ajouter cette balise dans le context.xml si elle n'existe pas afin de permettre au module google maps de se connecter a la base de donnée, celui ci utilise JNDI pour configurer la connexion.

<Resource name="jdbc/pleade" auth="Container" type="javax.sql.DataSource" maxActive="1000" maxIdle="500" maxWait="10000" url="jdbc:mysql://localhost/pleade80" driverClassName="com.mysql.jdbc.Driver" username="sdxapp" password="sdxapp-pwd"/>
  • Avoir préalablement activé dans le pleade-plus.properties

Qu'est ce que ce module ?

Ce module apporte une nouvelle fonctionnalité a Pleade qui est l'affichage des résultats de recherche sur une carte de type google maps, le but de cet affichage est de voir où est localisé géographiquement les séries, les documents publiés sur Pleade en fonction de leur nom de lieu.

Comment s'en sert t'on ?

l'utilisation de ce module est assez simple, cela dépends quand quel contexte on se positionne:

  • Utilisateur
    1. Activer le module
    2. Se connecter
    3. Publier un document
    4. Faire une recherche
    5. cliquer sur la petite icône en forme de marqueur en faut a droite pour changer le mode d'affichage des résultats
  • Développeur
    1. Activer le module
    2. Avoir fait une publication pour remplir la base de données
    3. Appeler un service cocoon pour utiliser le module google maps
URL Paramètres Action
http://localhost:8080/pleade-entreprise-gmaps/functions/gmaps/getgeodata.xml?lieu=VILLE&resolve=true @place (obligatoire) @resolve (optionnel) Ce service sert a récupérer des données géographiques afin de localiser un lieu en fonction de son nom de lieu. on spécifie le nom de lieu dans le paramètre @lieu il est obligatoire car ce service ne devinera pas quelque lieu vous souhaitez géocoder enfin le paramètre @resolve lui est optionnel, il permet de spécifier au service si vous souhaitez résoudre en temps réel les noms de lieux que vous donnez, par défaut il est a false.
http://localhost:8080/pleade-entreprise-gmaps/functions/gmaps/getgeodata.xml?lieu=resolve-all&resolve=resolve-all @lieu=resolve-all (obligatoire) @resolve=resolve-all (obligatoire) tout comme le précédent service, ce service permet de géocoder des lieux, en effet ce service vas chercher dans toute la base de données en dehors d'un processus de publication, les lieux qui n’ont pu être décodé(limite google) ou qui on des erreurs au niveau de leur syntaxe (que google n'as su résoudre)


Important :
L'API de google maps qui sert a géocoder a une limite qui est de 2500 lieux par tranche de 24heurex a hauteur de 10 lieux géocodés par seconde MAXIMUM !.

Comment fonctionne t'il ?

Diagramme

Voici un diagramme présentant le fonctionnement du module Google Maps de manière globale.

Numéro Action Descriptif
1 Envoi des noms de lieux dans le module Google Maps de Pleade
2 Requête vers le service Google Maps pour résoudre un nom de lieu (on lui envoie un nom de lieu)
3 Récupération de la réponse du service Google Maps ( Cette réponse peut ou non renvoyer des coordonnées GPS cela dépends de la syntaxe du nom de lieu car le Service Google Maps peut ne pas comprendre tout ce qu'on lui envoie)
4 Stockage des résultats GPS en base de données afin de ne plus avoir a refaire le processus précédent pour un nom de lieu déjà résolu
5 Lors de l'affichage des résultats de recherche sous forme cartographiée, Pleade va chercher dans la base de données les coordonnées GPS correspondant aux résultats de recherche pour les placer sur la carte.

Description

Le module GoogleMaps permet d'avoir une autre approche dans la recherche documentaire, en mettant en avant l'aspect géographique.

L'application Pleade, embarque le module google maps. Il peut être activé ou désactivé. Afin d'afficher des résultats sur une carte, il faut effectuer certaines actions comme activer le module et lancer une publication.

Collecte

Lors de la publication le module google maps va aller récupérer des noms de lieux pour ensuite les stocker dans une base de données. C'est la seule action faite lors de la publication d'un document.

Géocodage

Une fois les lieux étant stockés, on récupére leur position GPS en utilisant le service de traduction de noms de lieux en coordonnées GPS de google (géocodage). Cette étape est dissociée du processus de publication et est lancée depuis une URL.

Google impose une limite de traduction à hauteur de 2500 lieux par jour. Si la base de donnée contient plus de 2500 lieux, seuls les 2500 premiers lieux sont traduits et le processus s'arrête. Il devra être relancé autant de fois que nécessaire. Le processus reprendra à l'endroit où il s'est arrêté.

Visualisation sur une carte

Le module GoogleMaps va vérifier si les lieux contenus dans les résultats de recherche ont des coordonnées GPS.

  • Si oui, ils sont récupérés pour afficher les résultats de recherche sur une carte.

Une icône (marker) permet de visualiser le lieu sur la carte. Un clic affiche les informations suivantes : un titre (obligatoire), une date (optionnel), un lieu (obligatoire) et une image (optionnel).

  • Sinon :
  • +Le module tente de les résoudre "à la volée" (paramètre à activer), puis les affiche si il les trouve. Attention, ne pas utiliser sur un grand nombre de résultats non géocodés en Production.
  • +Si le module GoogleMaps ne trouve pas de lieu ou que l'option de résolution ci-dessus n'est pas activé, aucun point ne sera affiché sur la carte.

Ou sont localisés les fichiers afin de l'utiliser ?

A Propos des autres API

Google maps Geocode est une API qui permet de récupérer des données géographiques telles que des coordonées GPS ou des adresses a partir d'un nom de lieu, cependant, il existe d'autres API pour faire ce travail:

Voici une liste de 74 API de Géocodage: http://www.programmableweb.com/apitag/geocoding

Update(25/02/2014)

Important

La documentation concernant Google se trouve ici: https://developers.google.com/maps/documentation/geocoding/

Explications sur l'api google maps (Affinage des requêtes, réponses, ...): http://www.touraineverte.com/google-geocoding-api/index.html