IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Access aux coordonnées d'un point d'une trace GPX


Sujet :

IGN API Géoportail

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 53
    Points : 43
    Points
    43
    Par défaut Access aux coordonnées d'un point d'une trace GPX
    Bonjour,
    Je développe une application en VB permettant de gérer ses traces GPS et permettre la visualisation de celles ci sur fond de carte IGN.
    Jusque la aucun problème, j'affiche bien ma trace, tout fonctionne correctement.
    Le problème c'est que je n'ai jamais développé en JS et certaines choses sont un peu obscures ...
    Je voudrais simplement récupérer les coordonnées d'un point d'une trace lorsque qqun clique dessus.
    J'ai un "listener" qui réagit au click (qui fonctionne), il me manque simplement la méthode d'accès aux coordonnées et malgré des heures de recherches je n'ai pas trouvé l'info.
    Dans un autre post il est écrit, je cite :

    Il est possible d'accéder au différents points de la couche en utilisant la propriété features du layer GPX.
    Ainsi, si on déclare une couche gpx :
    var gpx= viewer.getMap().addLayer("GPX","Balade", ...);
    On récupère les points avec la propriété features :
    var tabPoint = gpx.features;
    Le résultat est un tableau de OpenLayers.Features.Vector

    Ce qui amène ma question : Comment récupérer les coordonnées d'un point dans un OpenLayers.Features.Vector ?

    Désolé je n'ai pas d'exemple en ligne car c'est une appli autonome, mais pour l'instant la partie visualisation est des plus basique avec simplement le chargement d'une ou plusieurs traces basé sur les exemples fournis par l'IGN.

    Merci d'avance

  2. #2
    Membre averti
    Femme Profil pro
    Consultante SIG
    Inscrit en
    Mars 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultante SIG

    Informations forums :
    Inscription : Mars 2011
    Messages : 233
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Pour afficher les coordonnées des waypoints au clic:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function showCoordinates(f){
    	if (f.attributes['typeName']=='wpt') {				
    		alert('X:'+f.geometry.x+'  Y:'+f.geometry.y);
    	}
    }	
    
    var couche_gpx=viewer.getMap().addLayer('GPX', 
    	"couche_gpx",
    	'parcours.gpx',
    	{	
    		visibility:true
    	},{
    		onSelect:showCoordinates
    	}
    )

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 53
    Points : 43
    Points
    43
    Par défaut Merci !!
    Merci beaucoup !, c'est parfait ! exactement ce que je cherchais.
    J'ai juste modifié ta fonction pour retourner les coordonnées en latitute et longitude :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function showCoordinates(f){
    	if (f.attributes['typeName']=='wpt') {	
    		var mon_point = new OpenLayers.Geometry.Point(f.geometry.x, f.geometry.y);
    		var destproj = OpenLayers.Projection.CRS84;
    		var sourceproj = VISU.projection;
    		mon_point.transform(sourceproj, destproj);
    		alert('X:'+mon_point.x+'  Y:'+mon_point.y);
    	}
    }

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Points : 10
    Points
    10
    Par défaut question un peu différente mais liée...
    je souhaite afficher un popup pas au click sur un waypoint mais quand le curseur passe sur un feature (track dans ce cas) : pas de click mais seulement récupérer l'évènement qui change le curseur de 'croix' en 'main'... et récupérer au moins l'index du point le plus proche dans la liste des points du feature pour afficher des infos...
    Q subsidiaire : possibilité de déclenchement de l'évènement au voisinage (quelques pixels du feature)
    Merci...

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par gcsti Voir le message
    je souhaite afficher un popup pas au click sur un waypoint mais quand le curseur passe sur un feature (track dans ce cas) : pas de click mais seulement récupérer l'évènement qui change le curseur de 'croix' en 'main'... et récupérer au moins l'index du point le plus proche dans la liste des points du feature pour afficher des infos...
    Très malsain d'ajouter des questions à une discussion "résolue"

    La réponse est dans "hover" et le callback onSelect

    Citation Envoyé par gcsti Voir le message
    Q subsidiaire : possibilité de déclenchement de l'évènement au voisinage (quelques pixels du feature)
    Merci...
    Seul le clic a une tolérance (4 pixels) paramétrable dans OpenLayers.Hander.Feature ...

    A ma connaissance, seul OpenLayers.Control.WMSGetFeatureInfo permet le passage de paramètre propriétaires comme radius pour simuler cet tolérance au survol

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Access aux coordonnées d'un point d'une trace GPX - La suite
    Par superpoi dans le forum IGN API Géoportail
    Réponses: 8
    Dernier message: 21/02/2012, 16h15
  2. Sauvegarder les coordonnées d'un point dans une figure 3D
    Par Jean Dumoncel dans le forum MATLAB
    Réponses: 2
    Dernier message: 18/11/2009, 13h28
  3. Extraire coordonnées entre deux points dans une image
    Par Pg043 dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 16/01/2009, 09h35
  4. Coordonnée d'un point dans une figure
    Par christophe_halgand dans le forum MATLAB
    Réponses: 5
    Dernier message: 25/09/2008, 13h31
  5. Réponses: 1
    Dernier message: 28/08/2007, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo