Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut Afficher des points sur une carte, à l'aide de coordonnées GPS

    Bonjour,

    Je dois développer une appli qui affiche des points sur une carte.

    A la base, j'ai un fichier Excel contenant les coordonnées GPS de points, ainsi qu'une valeur.

    Je dois afficher ces points sur une carte, avec un code couleur (par exemple point vert si la valeur est >10, jaune si 5<valeur<10 et rouge si <5).

    Je suis sous Visual C++ 2010. (Mon application qui écrit le fichier Excel est une appli désignée en Visual C++, avec des MFC - je ne sais pas si c'est utile mais je préfère le mentionner).

    Pensez-vous que c'est possible en C++?
    Je ne vois pas vraiment par ou commencer, j'ai un niveau moyen en c++ et limité sur les librairies.

    Par ailleurs je ne sais pas quels cartes utiliser (en effet ces coordonnées GPS peuvent être n'importe ou en France). Le plus simple serait peut-être d'utiliser Google Maps, mais je préfererais utiliser des cartes disponibles hors connexion.

    Des idées? Moi je sèche un peu...

    Ciao!

  2. #2
    Modérateur

    Homme Profil pro Cyrille
    Network programmer
    Inscrit en
    juin 2010
    Messages
    2 162
    Détails du profil
    Informations personnelles :
    Nom : Homme Cyrille
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Network programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 2 162
    Points : 5 594
    Points
    5 594

    Par défaut

    Bonjour,

    puisque tu hésites sur le langage, dois-tu le faire en C++, avec un client lourd quelconque, ou peux-tu te contenter d'un client web ?
    Dans ce dernier cas, l'utilisation de la webAPI google maps est vraiment très simple, tu as aussi open map (que je n'ai jamais utilisé) qui fournit ce service.
    Par contre des maps hors connexion, est-ce que ça vaudrait le coup ? As-tu une idée du poids d'une telle map (moi pas) ?

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Bonjour,


    Merci de votre réponse.

    * J'ai seulement programmé en C et C++ donc ce serait beaucoup plus facile pour moi... J'ai des bases en Java, mais bon... j'ai peur que ma mémoire me fasse défaut...
    D'où la préférence pour le C++

    * Je suis en train de me renseigner sur l'utilité de cartes hors connexion.
    Il s'agit d'un logiciel d'acquisition placé dans une voiture, et donc il serait interessant de pouvoir traiter les données sur le champ, sans avoir de connexion a internet.

    Mais vous avez raison, le poids d'une map est de l'ordre d'un à deux Go.
    Je vais voir s'il n'est pas possible de récupérer les cartes d'un logiciel Garmin à ma disposition...

    Je pense aussi que l'utilisation de Google Maps serait la plus facile...
    D'ailleurs peut-on utiliser l'api Google Map avec du C++ (je suis débutant en API etc..)

    Merci pour le conseil sur Open Map, je vais étudier cette solution...

  4. #4
    Membre Expert
    Profil pro Jean-Bernard
    Inscrit en
    mars 2007
    Messages
    1 256
    Détails du profil
    Informations personnelles :
    Nom : Jean-Bernard
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mars 2007
    Messages : 1 256
    Points : 2 430
    Points
    2 430

    Par défaut

    Hello

    Je pense que jfesser voulait parler d'OpenStreetMaps. Il existe un logiciel sous iPhone et Android qui les utilisent et qui permet de télécharger les fonds de carte s'il y a assez de mémoire... c'est en effet assez lourd. Note que OpenStreetMap te faciliteras grandement la vie en ce qui concerne la licence et le droit d'exploitation...

    Je suis étonné que tu aies le choix du langage pour de l'embarqué dans une voiture ?

    As-tu une idée de la techno à utiliser ? Il y a beaucoup de moyens différents de faire cela en C++, mais au regard des contraintes de ta plateforme embarquée, tu devrais réduire assez drastiquement le champ des possibles.

  5. #5
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Bonjour,


    Oui c'est ça je parlais d'Open Street Map..

    Oui c'est sûr ce sera plus facile niveau licence et droit d'exloitation...
    Mais l'avantage de Google Maps c'est qu'il y a beaucoup de tutoriaux concernant l'utilisation de leur API... Etant débutant je pense que ca me conviendra mieux..


    Je me suis mal exprimé, ce n'est pas de l'embarqué au sens propre, c'est un logiciel qui tourne sur un ordinateur, connecté a un appareil de mesure. Ce dispositif est "embarqué" dans une voiture pour faire des mesures en roulant.

    Niveau techno, non je n'ai pas vraiment d'idée...

  6. #6
    Membre Expert
    Profil pro Jean-Bernard
    Inscrit en
    mars 2007
    Messages
    1 256
    Détails du profil
    Informations personnelles :
    Nom : Jean-Bernard
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mars 2007
    Messages : 1 256
    Points : 2 430
    Points
    2 430

    Par défaut

    Citation Envoyé par jfresser Voir le message
    Je me suis mal exprimé, ce n'est pas de l'embarqué au sens propre, c'est un logiciel qui tourne sur un ordinateur, connecté a un appareil de mesure. Ce dispositif est "embarqué" dans une voiture pour faire des mesures en roulant.
    Ha bon bah t'es pas à 1 ou 2 Go de disque près alors

    A ta place je me lancerais dans une solution en Qt mais le coût d'apprentissage est à prendre en compte.

  7. #7
    Expert Confirmé Sénior
    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 4 903
    Points : 6 984
    Points
    6 984

    Par défaut

    Citation Envoyé par jblecanard Voir le message
    A ta place je me lancerais dans une solution en Qt mais le coût d'apprentissage est à prendre en compte.
    a moins de vouloir faire un portage sous Linux , Qt et MFC c'est globalement la même chose ce sont des classes C++ pour gérer les interfaces de fenêtres, etc..

  8. #8
    Expert Confirmé Sénior
    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 4 903
    Points : 6 984
    Points
    6 984

    Par défaut

    Citation Envoyé par jfresser Voir le message

    Je suis sous Visual C++ 2010. (Mon application qui écrit le fichier Excel est une appli désignée en Visual C++, avec des MFC - je ne sais pas si c'est utile mais je préfère le mentionner).

    Pensez-vous que c'est possible en C++?
    Je ne vois pas vraiment par ou commencer, j'ai un niveau moyen en c++ et limité sur les librairies.
    en C++ tout est possible..
    je suis persuadé que le logiciel de Garmin, MapSource a été développé avec VC++ et MFC

    Citation Envoyé par jfresser Voir le message
    Par ailleurs je ne sais pas quels cartes utiliser (en effet ces coordonnées GPS peuvent être n'importe ou en France). Le plus simple serait peut-être d'utiliser Google Maps, mais je préfererais utiliser des cartes disponibles hors connexion.
    basiquement tu peux afficher deux types de cartes :les bitmaps et les vectorielles...
    si tu charges celle de Google Map ce sera des bitmaps.
    Le problème c'est qu'il te faut obligatoirement une indication d'échelle d'une part.
    Ensuite l'inconvénient avec les bitmaps c'est que si tu fais un zoom , tu vas augmenter la taille des pixels, à moins d'interroger le serveur de Google Maps et d'afficher constamment les images

  9. #9
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Bonjour,


    Après avoir étudié le sujet, je pense que je vais me lancer sur une carte Google Maps, avec l'API, qui sera plus simple pour moi à développer vu mes compétences.
    A noter qu'il existe également la map de l'IGN, Geoportail, qui possède également une API, et est plus détaillée (pour une utilisation "pro", c'est intéressant on peut afficher le cadastre, ainsi que les cartes IGN, en plus de la vue satellite...)

    Vu que mon programme de base est en C++, je pense faire un programme C++ qui récupère les données sous le fichier excel, et écrit du code javascript contenant les points que je veux afficher.
    Une question, je souhaite afficher cette carte dans mon application (ou dans un premier temps sur une page web, mais pas sur un site internet conventionnel). Y a-t-il des solutions?
    J'ai fait quelques recherches sur internet mais je n'ai rien trouvé de très concret... Peut-être devrais-je re-poster ce message dans une section plus adaptée...


    Je continue également la piste d'exporter un fichier .gdb, .gdx ou d'un autre format qui puisse être ouvert par un éditeur de carte (style Mapsource de Garmin etc...). Eventuellement ajouter un convertisseur (ex: GPSbabel ou ITN converter ) pour que l'utilisateur puisse exporter le fichier sous un autre format et l'utiliser avec son logiciel préféré...

    Je laisse tomber la piste de télécharger des fonds de carte manuellement, trop compliqué à mettre en oeuvre pour des résultats peu satisfaisants...



    Merci à vous pour vos conseils!
    L'idée

  10. #10
    Membre Expert
    Avatar de white_tentacle
    Inscrit en
    novembre 2008
    Messages
    1 285
    Détails du profil
    Informations forums :
    Inscription : novembre 2008
    Messages : 1 285
    Points : 1 989
    Points
    1 989

    Par défaut

    Citation Envoyé par Mat.M Voir le message
    a moins de vouloir faire un portage sous Linux , Qt et MFC c'est globalement la même chose ce sont des classes C++ pour gérer les interfaces de fenêtres, etc..
    Mouais… On peut voir ça comme ça, mais Qt est un toolkit de conception plus moderne, et plutôt plus facile à utiliser je trouve.

    Sinon, question bête, as-tu regardé les possibilités offertes par les SIGs libres ? J’ai l’impression que ton besoin, c’est simplement de donner à manger à un SIG, et de le configurer correctement pour qu’il interprète les données.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •