Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
878 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  convertir des coordonnées GPS sur un plan 2D

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

convertir des coordonnées GPS sur un plan 2D

n°2096994
Profil sup​primé
Posté le 23-08-2011 à 17:55:10  answer
 

Bonjour
J'ai un plan 2D, de dimension 1024.0*768.0.
Je voudrais placer des points sur ce plan à partir de coordonnées GPS.
Faut que je face une conversion, vous auriez pas un papier la dessus ?
S'il vous plaît, merci.
 
 
Contexte :

Citation :

Le système de coordonnées terrestres comprend 2 composantes à savoir :
 
    *
      La latitude : C'est la valeur angulaire du point dans l'axe Nord-Sud. Elle vaut 0° à l'équateur, - 90° au pole sud et +90° au pole nord.
    *
      La longitude : C'est la valeur angulaire du point dans l'axe Ouest-Est. Elle vaut 0° sur le méridien de GreenWich varie d'Ouest en Est de -180° à +180°


Message cité 1 fois
Message édité par Profil supprimé le 23-08-2011 à 18:13:51
mood
Publicité
Posté le 23-08-2011 à 17:55:10  profilanswer
 

n°2097059
leonhard
Posté le 24-08-2011 à 07:25:29  profilanswer
 


 
Ben si la portion du monde représentée dans ton plan est "petite" (par exemple une ville), alors une simple règle de trois suivie d'une translation devrait suffire non ? Si par contre ta carte est plus grande, il faut en plus connaître le type de projection qui a été utilisé pour la générer. C'est peut-être un poil plus coton.

n°2097071
Profil sup​primé
Posté le 24-08-2011 à 08:18:41  answer
 

Bonjour, bonjour leonhard,
Je ne sais pas, d'un côté, je vais recevoir "(Degrés, minutes, secondes) ; (Degrés , minute secondes)" et de l'autre j'ai des mètre ou des millimètres.
Peu importe la dimension du plan je dirais, non ?


Message édité par Profil supprimé le 24-08-2011 à 08:21:26
n°2097075
Profil sup​primé
Posté le 24-08-2011 à 08:26:35  answer
 

En réalité, ma carte fait 1024*768 pixels.
Si je divise 1024 par 360*?*?  et 768 par 90*?*? j'ai bon ?
Les ? c'est parce que je ne sais pas combien de minutes il y a dans un degré ni de seconde dans une minute en latitude ni en longitude.

n°2097163
Profil sup​primé
Posté le 24-08-2011 à 13:11:01  answer
 

Soluce ?
 
J'ai d'abord calculé, l'unité linéaire pour la longitude et la latitude :  
Lon_Unit : Float := 1024.0/(360.0*60.0*60.0);
Lat_Unit : Float := 768.0/(180.0*60.0*60.0);
 
Après j'ai fait :  
if degr_long >= 0.0 then
X :=  512.0 + Float(Degr_Lon) * (3600.0*Lon_unit) + Float(Minu_Lon) * (60.0* Lon_Unit) + Float(Seco_Lon) * Lon_Unit;
else
X :=  512.0 - ((Float(Degr_Lon)*(-1.0)) * (3600.0*Lon_unit) + Float(Minu_Lon) * (60.0* Lon_Unit) + Float(Seco_Lon) * Lon_Unit);
End if;
 
Pareil pour la latitude.

n°2097251
leonhard
Posté le 24-08-2011 à 16:26:12  profilanswer
 


 
oui c'est ça , il faut transformer les degrés minutes secondes en degrés décimaux (ou tout en secondes d'arcs comme tu as fait, mais attention quand même aux erreurs d'arrondis avec les Float. Mais tu n'as résolu qu'une partie du problème.
 
Hypothèse numéro 1 : ta carte représente une petite région, une ville par exemple. Dans ce cas, il faudra considérer que le point (0;0) de ta carte n'est pas le point (0;0) de tes coordonnées, il faudra donc soustraire les coordonnées de l'origine (un peu comme tu as commencé de le faire).
 
Hypothèse numéro 2 : ta carte représente la planète entière (ou un continent). Dans ce cas il faut voir la méthode de projection (regarde sur Wikipédia, y'a des trucs amusants). Pour t'expliquer le problème, imagine que tu te promène sur le cercle arctique. Le chemin que tu devras parcourir est bien plus court que si l'envie te prennais de faire le tour de la Terre au niveau de l'équateur. Donc pour mettre tout ça sur une carte rectangulaire, faut déformer un peu les choses.  
 
Ah encore un truc, suivant la provenance de ta carte, le point (0;0) n'est pas forcément au centre. Les européens ont tendance à mettre l'Europe au milieu, mais les autres continents font parfois la même chose pour chez eux.

n°2097255
Profil sup​primé
Posté le 24-08-2011 à 16:34:17  answer
 

leonhard a écrit :


Hypothèse numéro 2 : ta carte représente la planète entière (ou un continent). Dans ce cas il faut voir la méthode de projection (regarde sur Wikipédia, y'a des trucs amusants). Pour t'expliquer le problème, imagine que tu te promène sur le cercle arctique. Le chemin que tu devras parcourir est bien plus court que si l'envie te prennais de faire le tour de la Terre au niveau de l'équateur. Donc pour mettre tout ça sur une carte rectangulaire, faut déformer un peu les choses.  


En effet ma carte est une carte du globe entier.
Mais là, déformer les choses... Je vais pas savoir faire...(Je suis assai mauvais en math).

leonhard a écrit :


Ah encore un truc, suivant la provenance de ta carte, le point (0;0) n'est pas forcément au centre. Les européens ont tendance à mettre l'Europe au milieu, mais les autres continents font parfois la même chose pour chez eux.


La longitude GPS 0°0'0" n'est pas toujours Greenwich ? Ca dépends de la norme GPS utilisée ?
Merci en tout cas pour ton aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  convertir des coordonnées GPS sur un plan 2D

 

Sujets relatifs
Convertir une date au format JJMMAAAA vers le format JJ/MM/AAAACompilation ADA+OpenGl avec GNAT GPS
[Android] Widget perso : Une grille 2D avec 3 ScrollviewsConvertir une page web en fichier PDF ou DOC
[C] Traitement d'une trame GPS[OpenGL] translation ou coordonnées absolues?
convertir une structure X509 en format DER.explain plan et action???
[RESOLU][Java] Convertir un OutputStream en String
Plus de sujets relatifs à : convertir des coordonnées GPS sur un plan 2D


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR