Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 18 October 2012 16:15

renard
Participant actif
Date d'inscription: 16 Mar 2010
Messages: 96

Postgis, transformer lambert 93 en pseudo mercator.

Bonjour,

Je souhaiterais reprojeter une table postgis de lambert 93 à pseudo mercator.

Pour cela j'ai d'abord ajouté la projection à postgis (1.3) http://spatialreference.org/ref/sr-org/7483/

Pour tester ensuite une future création de table j'ai réalisé la requête suivante

Code:

SELECT AsText(st_transform(geometrie,97483))
FROM table

Mais j'obtiens des résultats un peu étrange :

Code:

"POINT(528900.779264726 5413475.46076533)"
"POINT(539368.306600121 5411986.99999482)"
"POINT(527593.357972354 5413357.36079611)"
"POINT(518465.791926228 5413230.02402482)"
"POINT(517734.954932068 5413122.61883987)"
"POINT(517515.9309276 5412743.56772694)"
"POINT(522679.698906241 5412154.67739656)"
"POINT(532640.74983103 5412795.23003068)"
"POINT(535572.023824674 5412369.63161688)"

.

Je devrais avoir des degres minute, mais la on dirait du lat/long. Est ce simplement le "astext" qui me donne ce résultat? J'ai vu qu'il existait la commande ST_AsLatLonText, me donnerait elle le resultat?

Dans quel mesure puis-je alors utiliser la table qui serait créée par la requête

Code:

SELECT st_transform(geometrie,97483)
FROM table

Par avance merci,

Dernière modification par renard (Thu 18 October 2012 16:16)

Hors ligne

 

#2 Thu 18 October 2012 17:29

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1231
Site web

Re: Postgis, transformer lambert 93 en pseudo mercator.

Bonsoir,

je ne suis pas un expert des preojections mais votre requête est bonne, c'est votre code EPSG qui ne me parle pas.
Comme indiqué sur la page que vous indiquez, c'est le code EPSG 3857 qu'il faut utiliser

Code:

SELECT st_transform(geometrie, 3857)

Et il semble que l'unité est bien le mètre.

Dernière modification par Mathieu BOSSAERT (Thu 18 October 2012 17:29)


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#3 Thu 18 October 2012 17:46

renard
Participant actif
Date d'inscription: 16 Mar 2010
Messages: 96

Re: Postgis, transformer lambert 93 en pseudo mercator.

Merci de votre réponse,

J'ai pourtant essayé en indiquant srid : 3857, mais j'obtiens un message d'erreur signifiant que ce SRID est inexistant. En revanche, lorsque je saisi srid 97483 il me retourne les résultats précédemment postés.

J'ai vu que parfois le problème pourrait être PROJ4.

Ainsi

SELECT PostGIS_Full_Version();


me renvoie

"POSTGIS="1.3.4" GEOS="3.0.3-CAPI-1.4.2" PROJ="Rel. 4.6.1, 21 August 2008" USE_STATS"


. UN bon présage???

Hors ligne

 

#4 Thu 18 October 2012 19:41

jcr83
Participant actif
Date d'inscription: 17 Mar 2008
Messages: 147

Re: Postgis, transformer lambert 93 en pseudo mercator.

renard a écrit:

Je souhaiterais reprojeter une table postgis de lambert 93 à pseudo mercator.
Je devrais avoir des degres minute


Pas du tout ! Comme l'a dit Matthieu, l'unité de la projection pseudo-Mercator (ou Mercator sphérique, code EPSG 3857) est bien le mètre.
Le premier point correspond à 4°45'4.308"E    43°39'47.679"N, c'est correct ?

Hors ligne

 

#5 Thu 18 October 2012 20:26

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: Postgis, transformer lambert 93 en pseudo mercator.

Bonjour,

Peut être mettre à jour postgis. 1.3.4 est un peu ancien wink

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#6 Mon 05 November 2012 15:03

renard
Participant actif
Date d'inscription: 16 Mar 2010
Messages: 96

Re: Postgis, transformer lambert 93 en pseudo mercator.

Bonjour,

J'ai donc mis à jour postgis 1.5.6 (mais pas postgresql, toujours en 8.3)

Je tente à nouveau convertir mes données mais les résultats sont toujours abérants en pseudo mercator. Pour repartir sur du propre j'ai crée une nouvelle base avec le nouveau template postgis et des données en L93. J'ai d'abord vérifié mes données avec

Code:

SELECT ST_AsText(geometrie) FROM matable

==> coordonnées justes

Ensuite

Code:

SELECT ST_AsText(ST_Transform(geometrie,4326)) FROM matable

==> en wgs 84, le résultat est cohérent.

Enfin

Code:

SELECT ST_AsText(ST_Transform(geometrie,3857)) FROM matable

ou encore

Code:

SELECT ST_AsText(ST_Transform(geometrie,3785)) FROM matable

J'obtiens  le même résultat assez étrange.

Code:

"POINT(528900.779264726 5413475.46076533)"
"POINT(539368.306600121 5411986.99999482)"
"POINT(535572.023824674 5412369.63161688)"
"POINT(527593.357972354 5413357.36079611)"
"POINT(532640.74983103 5412795.23003068)"
"POINT(518465.791926228 5413230.02402482)"

Une idée?

Par avance merci

*EDIT :

Petit test supplémentaire :

Code:

SELECT st_askml(geometrie) FROM matable

J'obtiens des données cohérentes... Que se cache t-il derrière le st_askml?

Code:

"<Point><coordinates>4.75119653796229,43.663244030698166</coordinates></Point>"
"<Point><coordinates>4.845227935885525,43.653570482502602</coordinates></Point>"
"<Point><coordinates>4.739451772665086,43.662476552616226</coordinates></Point>"
"<Point><coordinates>4.784793265180958,43.658823385490827</coordinates></Point>"
"<Point><coordinates>4.695311622264646,43.654660300522167</coordinates></Point>"
"<Point><coordinates>4.65089223138408,43.660951042084605</coordinates></Point>"
"<Point><coordinates>4.657457451804613,43.661649037758771</coordinates></Point>"
"<Point><coordinates>4.811125347485308,43.656057364942534</coordinates></Point>"

*EDIT 2 :

Un éclaircissement : http://www.forumsig.org/showthread.php?t=21318

Je ne suis pas sur de tout comprendre. Je peux utiliser le 4326 pour utiliser mes données vecteurs sur les api (google, bing, openstreetmap), mais si ces données sont tuilées par un serveur carto, ou si j'utilise des rasters, alors mes "images"  seront déformées.

Je souhaiterais vraisemblablement utiliser des tuiles, ainsi j'en conclus que je dois obligatoirement utiliser le pseudo mercator (SRID 3857) mais comment convertir mes données lambert 93 en pseudo mercator (unité degres) pour qu'elles soient calées sur les couches Google, bing etc.?

Dernière modification par renard (Mon 05 November 2012 17:29)

Hors ligne

 

#7 Wed 07 November 2012 10:47

jcr83
Participant actif
Date d'inscription: 17 Mar 2008
Messages: 147

Re: Postgis, transformer lambert 93 en pseudo mercator.

Comme je l'ai dit plus haut, le résultat que vous obtenez est correct, ce sont bien des coordonnées pseudo-Mercator (EPSG:3857).

Hors ligne

 

Pied de page des forums

Powered by FluxBB