Outils pour utilisateurs

Outils du site


nsi:modules:points_sur_une_carte_europe

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:modules:points_sur_une_carte_europe [2025/03/05 15:49] goupillwikinsi:modules:points_sur_une_carte_europe [2025/03/05 16:10] (Version actuelle) goupillwiki
Ligne 40: Ligne 40:
 ===== Coordonnées sur la carte ===== ===== Coordonnées sur la carte =====
  
-La carte choisie a le format 800x800. Le coin supérieur gauche a les coordonnées (0;0) et le coint inférieur droit (799;799). Rien à voir avec latitude et longitude... Nous devons créer une fonction (lng;lat) -> (x;y).+La carte choisie a le format 857x712. Le coin supérieur gauche a les coordonnées (0;0) et le coint inférieur droit (856;711). Rien à voir avec latitude et longitude... Nous devons créer une fonction (lng;lat) -> (x;y).
  
 {{ :nsi:modules:france_vide_points.png?direct&200|}} {{ :nsi:modules:france_vide_points.png?direct&200|}}
  
-Pour cela nous avons besoin de quelques repères.+La carte n'est pas en projection plate, il faut faire quelques calculs. Je vous donne la fonction.
  
-Sur la carte nous identifions deux points : 
- 
-  * le point en vert, que j'appellerai A, a pour coordonnées sur la carte (770;190) et ces coordonnées GPS sont longitude = 8.226100° et latitude = 48.968311° 
-  * le point en rouge, que j'appellerai B, a pour coordonnées sur la carte (179;685) et ces coordonnées GPS sont longitude = -1.784251° et latitude = 43.372928° 
- 
-==== Longitude vers x ==== 
- 
-On une fonction $f: lng \mapsto x$ et on sait que $f(lng_A) = x_A$ et $f(lng_B) = x_B$. On sait aussi que $f$ devrait s'approximer par une fonction affine. 
- 
-<WRAP tip>La carte considérée est assez petite pour être considérée comme plate. Ce serait plus compliqué pour une carte de grande taille devant tenir compte de la courbure de la Terre.</WRAP> 
- 
-On a donc $x = a\cdot lng + b$. 
- 
-C'est un travail de mathématiques. 
- 
-<WRAP info> 
-Voici le calcul pour ceux que cela intéresse : On pose $x = a\cdot lng + b$. Cela doit fonctionner pour les points A et B donc : 
- 
-$$\begin{cases}a\cdot lng_A + b = x_A\\a\cdot lng_B + b = x_B\end{cases} \Rightarrow a \cdot \left(lng_A - lng_B\right) = x_A - x_B \Rightarrow a = \frac{x_A - x_B}{lng_A - lng_B}$$ 
- 
-On remplace par exemple dans la première équation pour trouver $b$ 
- 
-$$\frac{x_A - x_B}{lng_A - lng_B} \cdot lng_A + b = x_A \Rightarrow b = x_A - \frac{x_A - x_B}{lng_A - lng_B} \cdot lng_A$$ 
-</WRAP> 
- 
-On en déduit la fonction : 
 <code python> <code python>
-def lng_to_x(lng):+def latlng_to_xy(lat,lng):
     xA = 770     xA = 770
     xB = 179     xB = 179
nsi/modules/points_sur_une_carte_europe.1741186162.txt.gz · Dernière modification : de goupillwiki