#1 Fri 07 August 2020 12:17
- pmakowski
- Juste Inscrit !
- Date d'inscription: 7 Aug 2020
- Messages: 2
postgis st_makeline et passage du meridien 0
Bonjour,
J'ai un problème avec la fonction st_makeline au passage du meridien.
Nous avons des trajectoires qui font le tour de la terre et st_makeline m'affiche une ligne horizontale qui ne devrait pas exister.
La requête :
Code:
WITH ptm AS ( SELECT b.idprocess, ST_ShiftLongitude(ST_SetSRID(st_makepoint( b.longitude, b.latitude ),4326)) AS pt, b.date_utc t FROM alberix_data.process_tm_data b JOIN alberix_data.process p on p.idprocess = b.idprocess JOIN alberix_data.flight f on f.idflight = p.idflight WHERE f.idflight=288 ) SELECT ptm.idprocess, st_makeline(ptm.pt ORDER BY ptm.t) AS st_makeline FROM ptm GROUP BY ptm.idprocess
Voici l'image dans pgAdmin :
https://drop.infini.fr/r/8JUNB0nLPc#Bn4 … 9UYJh5Kn8=
Comment supprimer cette méchante ligne horizontale ?
Merci
Hors ligne
#2 Fri 07 August 2020 13:44
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: postgis st_makeline et passage du meridien 0
Bonjour,
Sur un globe (style qgis 3D), la ligne s'affiche comme il faut ?
En projection, les points -180 et 180 sont éloignés alors que ce sont les memes points en coord sphériques.
Pour un affichage, vous pouvez la découper sur l'antéméridien (st_wrapX)
Nicolas
Hors ligne
#3 Fri 07 August 2020 14:57
- pmakowski
- Juste Inscrit !
- Date d'inscription: 7 Aug 2020
- Messages: 2
Re: postgis st_makeline et passage du meridien 0
Bonjour,
le problème de l'antéméridien est géré avec ST_ShiftLongitude.
sans le ST_ShiftLongitude j'avais deux lignes horizontales en trop
mais il reste le problème du méridien lui même
voilà une idée des données qui posent le problème:
Code:
"idprocess","longitude","latitude","t" "1549","0.039398","-13.021612","2020-02-09 05:56:08" "1549","0.030812000000000003","-13.018172","2020-02-09 05:57:08" "1549","0.02205","-13.01461","2020-02-09 05:58:08" "1549","0.013225","-13.010953","2020-02-09 05:59:08" "1549","0.004873","-13.0074","2020-02-09 06:00:08" "1549","-0.003105","-13.003882","2020-02-09 06:01:08" "1549","-0.010977","-13.000347","2020-02-09 06:02:08" "1549","-0.019002","-12.996975","2020-02-09 06:03:08" "1549","-0.02731","-12.9936","2020-02-09 06:04:08" "1549","-0.035257","-12.99014","2020-02-09 06:05:08"
Hors ligne