bonjours a tous ,
j'aimerai avoir quelque renseignement sur comment transposer des donnée gps dans une picturebox afin de tracer le périmètre d'un champ.
bonjours a tous ,
j'aimerai avoir quelque renseignement sur comment transposer des donnée gps dans une picturebox afin de tracer le périmètre d'un champ.
Pour ça il faudrait connaitre les coordonnées gps de la partie haut-gauche et bas-droite de l'image affichée, ainsi que celles de ton champ, et faire une règle de 3
non je ne peut pas car le but est d'afficher en temps reel .... d'adapter la taille du champ sur la picture box en temps reel egalement
tu peux adapter à chaque changement de position, en t'abonnant à un événement.
Sinon regarde du côté de sharpmap, cet outil est pour l'affichage de sig, il peut sans doute répondre à ton besoin ?!
Il y a 3 aspects :
- la projection,
- le centrage,
- l'echelle.
Si on veut faire en sorte de voir tout le champs avec une marge, centrage et l'échelle peuvent assez aisement se déduire des points composant le périmètre.
Pour la projection, un mercator corrigé fera parfaitement l'affaire :
Où se situe exactement le problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 y = (Latitude - Latitude0 )* echelle x = (Latitude - Latitude0 )* echelle * Cosinus(Latitude0_en_radians)
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
le problème c'est que j'arrive pas trop a concevoir les lattitude et longitude, je ne les manipule pas très bien ... donc pour la transposition j'ai du mal
du style comment je sais si je reçois des radian , comment décortiquer les lattitude ....
Les coordonnées géograpiques sont généralement sous la forme d'une structure avec <Latitude, Longitude>
Latitude et longitude peuvent être exprimés :
- sous forme de structures, par exemple : <int degré, int minute, float seconde>,
- comme un nombre, par exemple : <float degré>,
- ... (d'autres variantes).
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
pour une lattitude je recois ceci par exemple :
$GPRMC,191546.681,A,5021.6935,N,00359.1220,E,0.08,1.87,011210,,*06
sais tu me dire comment je dois decortiquer cela ?
la phrase RMC je connais mais je sais pas sous quelle forme sont les données ...
comment je dois decortiquer cela :
- $GPRMC : Identifiant de trame
- 191546.681 : 19:15:46.681 (HHMMSS.sss UTC)
- A : A ou V pour Active ou inValid
- 5021.6935N : 50° 21.6935' (latitude DDMM.mmmm)
- 00359.1220 : 003° 59.1220' (longitude DDDMM.mmmm)
- E : E ou W pour North ou South
- 0.08 : Vitesse en knots (Nautical Miles/heure)
- 1.87 : Direction en degrés (0/90/180/270 pour Nord/est/Sud/Ouest)
- 011210 : 12 Janvier 2010 (MMJJAA)
- [020.3,E] : déclinaison magnétique en °
- * : séparateur de checksum
- 06 : Checksum
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
donc une fois en degré il faut bien que je les convertisse en radian ? si je suis ton raisonnement ?
oui pour le calcul du Cosinus (et non du sinus comme indiqué par erreur dans un post précédent)Une fois en degré il faut bien que je les convertisse en radian ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Latitude0_en_radians = Latitude0 * Math.PI / 180.0f ; y = (Latitude - Latitude0 )* echelle ; x = (Latitude - Latitude0 )* echelle * Math.Cos (Latitude0_en_radians) ;
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Raaah, erreur de copier collerje ne comprends pas pourqoi tu ne travail que avec la lattitude pour remettre un point sur la picture box
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Latitude0_en_radians = Latitude0 * Math.PI / 180.0f ; y = (Latitude - Latitude0 )* echelle ; x = (Longitude - Longitude0)* echelle * Math.Cos (Latitude0_en_radians) ;
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
je ne comprends pas a quoi corresponde lattitude et lattitude 0 de meme que longitude et longitude0
[latitude, Longitude] sont les coordonnées GPS d'un point.
[Latitude0, Longitude0] sont les coordonnées GPS du point [0,0] de la PictureBox. Le calcul de ces coordonées est lié au choix du centrage et de l'échelle.
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
STOP !
Vous etes à l'Ouest !
La bonne maniere de faire est d'utiliser une Matrix et d'assigner cette Matrix au TransFormMatrix du graphics utilisé pour le dessin !
Maintenant le secret c'est de définir cette Matrix
Suite au prochain épisode
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
je suis oblige de tous faire les calcul avec un algorithme...
c'est le but de mon travail de fin d'tude c'est de ne pas utiliser de dll et de comprendre comment programmer le tout pour retranscrir sur une picture box .... seulement j'ai besoin de bien saisir la facon de retranscrire sur cette picturebox en question
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager