Message posté par : Mathieu Denat
----------------------------------------
Ha ha,
Je me suis fait feinter par les noms de fonction dans qgis qui ne sont pas exactement les
même que dans postgresql!
La fonction pgsql est sind elle prend une valeur d'angle en degrés.
À ma connaissance, il n'y a pas d'équivalent pour qgis, la fonction sin (sans le
d) prend des angles en radian.
D'où le comportement bizarroïde.
Pour répondre à tes questions:
1. la valeur de l'angle que tu fixe dans le script est bien fixée par rapport au N,
par contre elle est en rad (voir correction ci-dessous). Du coup le schéma est faux, mais
tu auras compris l'idée c'est ça qui compte! :)
2. la longueur est bien calculée dans le repère 0, mais elle est calculée dans
l'espace cartésien, et pas avec la méthode ellipsoïdale. Ça devient compliqué de gérer
la conversion à la volée (dans le SELECT). Mes connaissances sont plutôt portées sur
pgsql, peut-être que d'autres sauront proposer mieux. Selon ce que tu fais une
distance cartésienne (sans tenir compte de l'arrondi du géoïde terrestre) suffit
peut-être?
Pour convertir ton angle de radians vers degrés (pour rappel 1 rad = pi /180), il faut
reprendre ton ancien script de la manière suivante:
SELECT 180 *pi()/180 AS angle, --fixer l'angle et le convertir de rad vers deg
10112 AS rayon, --fixer la distance ATTENTION DISTANCE CARTÉSIENNE
id,
force_rhr(geometry) geom --on fixe la fin de ligne toujours du même côté, pas
forcément utile selon la situation
FROM Lin1 -- Linéaire Zone 2A Est
En espérant que tu vas t'en sortir! ;)
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=354273#p354273
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net