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

Printemps des cartes 2024

#1 Fri 22 April 2022 17:42

didine44
Juste Inscrit !
Date d'inscription: 6 Dec 2020
Messages: 4

problème fonction st Project

Bonjour à tous,

je viens vers vous car j'ai un problème de distance dans postgis via la fonction st_project.

en regardant dans la doc de postgis
https://postgis.net/docs/ST_Project.html
on a un exemple où pour projeter un point de 100 mètres sur un radian de 45degrés, il faut utiliser une distance de 100000
exemple:
SELECT ST_AsText(ST_Project('POINT(0 0)'::geography, 100000, radians(45.0)));

ce qui retourne une ligne avec des coordonnées de POINT(0.635231029125537 0.639472334729198)


en utilisant cet exemple, le point n'est pas projeté à 100 mètre mais à 50 cm.

j'ai le même problème pour d'autres exemples. ce qui est problématique sachant que pour mon cas, je souhaite déplacer plusieurs points selon une distance définie.

que dois-je mettre, si je souhaite déplacer le point de 65 mètres par exemple.

merci à vous

Hors ligne

 

#2 Sat 23 April 2022 05:49

Cornet Jérémie
Participant assidu
Lieu: Nouméa
Date d'inscription: 6 Apr 2008
Messages: 229

Re: problème fonction st Project

Bonjour,
le type geography, c'est des coordonnées géographiques donc c'est du longitude/latitude.
Dans l'exemple de la documentation, c'est donc un déplacement de 100 km au nord-est du point de longitude 0 et latitude 0.

Si vous avez une colonne geometry (coordonnées projetés), il faut utiliser st_translate avec un peu de trigonométrie pour calculer les delta_x et delta_y :

Code:

st_translate(ma_geom, sin(radians(angle))*distance, cos(radians(angle))*distance)

Dernière modification par Cornet Jérémie (Sat 23 April 2022 06:12)

Hors ligne

 

Pied de page des forums

Powered by FluxBB