Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
Pages: 1
- Sujet précédent - Conversion Lambert (projection LAEA - code EPSG 3035) en degré ! - Sujet suivant
#1 Mon 13 June 2016 11:21
- tahzem
- Juste Inscrit !
- Date d'inscription: 13 Jun 2016
- Messages: 2
Conversion Lambert (projection LAEA - code EPSG 3035) en degré !
Salut tout le monde !
Je suis totalement novice en géomatique et je travaille actuellement sur un outil nécessitant de faire des estimations de nombre d'habitants à partir de coordonnées en degré et d'un rayon. Pour ce fait, j'ai récupéré les données fournies par l'INSEE : http://www.insee.fr/fr/themes/detail.as … -carroyees (données carroyées à 200m).
Le problème que je rencontre est que je dispose des "coordonnées géographiques du coin sud-ouest du carreau : pour la métropole le système de projection LAEA - code EPSG 3035 (attributs x_LAEA et y_LAEA)" (source : http://www.insee.fr/fr/themes/detail.as … _doc.htm).
Je recherche donc activement la formule permettant de convertir ces coordonnées (type "10166,21274") en des coordonnées en degrés. Les seules formules que j'ai trouvé sont celles là : https://fr.wikipedia.org/wiki/Projectio … de_Lambert mais ne correspondent clairement pas au jeu de données que j'ai (ce qu'il y a dans l'arcsin très supérieur à 1, etc).
J'imagine que cette question a déjà été posée, mais je ne suis pas parvenu à trouver de réponse satisfaisante. Je précise seulement que je ne cherche pas d'outil tout fait mais bien les formules (aussi complexes soient-elles) permettant de faire la conversion.
Merci d'avance pour vos réponses !
Bonne journée,
Hors ligne
#2 Mon 13 June 2016 11:40
- fbecir
- Participant assidu
- Lieu: Saint-Mandé
- Date d'inscription: 16 Sep 2008
- Messages: 507
Re: Conversion Lambert (projection LAEA - code EPSG 3035) en degré !
Bonjour et bienvenu
Théoriquement, vous devriez trouver votre bonheur là :
http://geodesie.ign.fr/contenu/fichiers … lg0073.pdf
D'une manière générale, la plupart des algorithmes concernant la géodésie Française se trouve sur le site geodesie.ign.fr
Cordialement
Hors ligne
#3 Mon 13 June 2016 12:38
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4730
Re: Conversion Lambert (projection LAEA - code EPSG 3035) en degré !
Hello Francois ("Mr IGNMap")
MERCI pour ta participation sur georezo.net et tes reponses "toujours" judicieuses ...
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#4 Tue 14 June 2016 09:28
- tahzem
- Juste Inscrit !
- Date d'inscription: 13 Jun 2016
- Messages: 2
Re: Conversion Lambert (projection LAEA - code EPSG 3035) en degré !
Merci François pour ta réponse, cela correspond parfaitement à ce que je cherchais !
Pour ceux que cela intéresserait, voilà ce que donne l'algorithme décrit, prenant en entrée les coordonnées ETRS-LAEA (X,Y) et donnant en sortie longitude et latitude (lambda, phi) :
conversion_degre <- function(X,Y){
a <- 6378137.0
e <- 0.081819191043
lambda0 <- 0.174532925199
phi1 <- 0.907571211037
X0 <- 4321000
Y0 <- 3210000
epsilon <- 10^(-11)
x <- X-X0
y <- Y-Y0
qp <- (1-e^2)*(1/(1-e^2) - 1/(2*e) * log((1-e)/(1+e)))
q1 <- (1-e^2)*(sin(phi1)/(1-e^2*sin(phi1)^2) - (1/(2*e)) * log((1-e*sin(phi1))/(1+e*sin(phi1))))
beta1 <- asin(q1/qp)
m1 <- cos(phi1)/sqrt(1-e^2*sin(phi1)^2)
Rq <- a*sqrt(qp/2)
D <- (a*m1)/(Rq*cos(beta1))
rho <- sqrt((x/D)^2 + (D*y)^2)
ce <- 2*asin(rho/(2*Rq))
q <- qp*(cos(ce)*sin(beta1) + D*y*sin(ce)*cos(beta1)/rho)
lambda <- lambda0 + atan((x*sin(ce))/((D*rho*cos(beta1)*cos(ce)) - D^2*y*sin(beta1)*sin(ce)))
phi0 <- asin(q/2)
phi_iplus1 <- Inf
phi_i <- phi0
ecart <- Inf
while(ecart>epsilon){
phi_iplus1 <- phi_i + ((1-e^2*sin(phi_i)^2)^2/(2*cos(phi_i)))*( q/(1-e^2)-sin(phi1)/(1-e^2*sin(phi_i)^2)+(1/(2*e))*log((1-e*sin(phi_i)) / (1+e*sin(phi_i))))
ecart <- abs(phi_iplus1-phi_i)
phi_i <- phi_iplus1
}
phi <- phi_i
return(c(lambda*(180/pi),phi*(180/pi)))
}
Bonjour et bienvenu
Théoriquement, vous devriez trouver votre bonheur là :
http://geodesie.ign.fr/contenu/fichiers … lg0073.pdf
D'une manière générale, la plupart des algorithmes concernant la géodésie Française se trouve sur le site geodesie.ign.fr
Cordialement
Hors ligne
#5 Fri 02 September 2016 20:47
- mmcelki
- Juste Inscrit !
- Date d'inscription: 2 Sep 2016
- Messages: 1
Re: Conversion Lambert (projection LAEA - code EPSG 3035) en degré !
Hello,
Une petite erreur s'est glissée dans le code ci-dessus. Il faut le modifier très légèrement (la correction apparaît en gras) pour une utilisation correcte.
conversion_degre<- function(X,Y){
a <- 6378137.0
e <- 0.081819191043
lambda0 <- 0.174532925199
phi1 <- 0.907571211037
X0 <- 4321000
Y0 <- 3210000
epsilon <- 10^(-11)
x <- X-X0
y <- Y-Y0
qp <- (1-e^2)*(1/(1-e^2) - 1/(2*e) * log((1-e)/(1+e)))
q1 <- (1-e^2)*(sin(phi1)/(1-e^2*sin(phi1)^2) - (1/(2*e)) * log((1-e*sin(phi1))/(1+e*sin(phi1))))
beta1 <- asin(q1/qp)
m1 <- cos(phi1)/sqrt(1-e^2*sin(phi1)^2)
Rq <- a*sqrt(qp/2)
D <- (a*m1)/(Rq*cos(beta1))
rho <- sqrt((x/D)^2 + (D*y)^2)
ce <- 2*asin(rho/(2*Rq))
q <- qp*(cos(ce)*sin(beta1) + D*y*sin(ce)*cos(beta1)/rho)
lambda <- lambda0 + atan((x*sin(ce))/((D*rho*cos(beta1)*cos(ce)) - D^2*y*sin(beta1)*sin(ce)))
phi0 <- asin(q/2)
phi_iplus1 <- Inf
phi_i <- phi0
ecart <- Inf
while(ecart>epsilon){
phi_iplus1 <- phi_i + ((1-e^2*sin(phi_i)^2)^2/(2*cos(phi_i)))*( q/(1-e^2)-sin(phi_i)/(1-e^2*sin(phi_i)^2)+(1/(2*e))*log((1-e*sin(phi_i)) / (1+e*sin(phi_i))))
ecart <- abs(phi_iplus1-phi_i)
phi_i <- phi_iplus1
}
phi <- phi_i
return(c(lambda*(180/pi),phi*(180/pi)))
}
Dernière modification par mmcelki (Fri 09 September 2016 10:49)
Hors ligne
Pages: 1
- Sujet précédent - Conversion Lambert (projection LAEA - code EPSG 3035) en degré ! - Sujet suivant