#1 Tue 02 February 2021 11:51
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 166
profil en long pgsql
Bonjour,
J'ai plusieurs cours d'eau linestring 3d que je voudrais transmettre en json via mon API pour afficher des profils en long.
Cette ligne je la décompose en points 3d avec la fonction st_dumppoints cependant sur certaines lignes je me retrouve avec + de 1000 points!
la solution est elle de simplifier la ligne avec la fonction st_simplify ?
J'ai essayé sauf que pour certaines lignes la fonction me renvoie seulement 2 points (start et end) ...
Si vous avez une quelconque idée ?
merci
Hors ligne
#2 Tue 30 March 2021 10:44
- tweaxy
- Participant actif
- Lieu: Abbeville
- Date d'inscription: 27 Dec 2018
- Messages: 76
Re: profil en long pgsql
Bonjour,
Avez-vous testé ST_Npoints ? Je ne sais pas si sur du Linestring 3D cela fonctionne par contre.
Hors ligne
#3 Tue 30 March 2021 12:26
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1538
Re: profil en long pgsql
Bonjour,
Quelle est la projection de vos données ?
Si st_simplify renvoie peu de points, c'est que la tolérance est trop grande (passée en m alors que les coordonnées sont en long-lat par ex)
Vous avez un exemple de vos données ?
Nicolas
Hors ligne
#4 Thu 15 April 2021 17:08
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 166
Re: profil en long pgsql
Bonjour,
Quelle est la projection de vos données ?
Si st_simplify renvoie peu de points, c'est que la tolérance est trop grande (passée en m alors que les coordonnées sont en long-lat par ex)
Vous avez un exemple de vos données ?
Nicolas
ma projection est EPSG: 2154
oui et j'ai des lignes de longueur comprises entre 2.5 km et 144 km.
il faudrait dans ce cas faire une fonction avec une variable de tolérance en fonction de la longueur.
par exemple un rapport de 1000 pour 36 km me sort 6 points.
A votre avis?
Dernière modification par Ricola62 (Thu 15 April 2021 17:08)
Hors ligne
#5 Fri 16 April 2021 15:04
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1538
Re: profil en long pgsql
Bonjour,
st_simplify est un peu empirique: a vous de choisir la distance de simplifcation. 1000m c'est énorme en général.
Je vous conseillerais qq métres, en testant plusieurs versions et en comptant le nombre de sommets avant et apres simplification.
Vous devriez trouver une valeur qui convient pour toutes les linestring de votre dataset.
Apres, 1000 pts pour une ligne json, c'est pas choquant. Ca fera des profils précis !
Nicolas
Hors ligne
#6 Mon 19 April 2021 10:58
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 166
Re: profil en long pgsql
Bonjour,
st_simplify est un peu empirique: a vous de choisir la distance de simplifcation. 1000m c'est énorme en général.
Je vous conseillerais qq métres, en testant plusieurs versions et en comptant le nombre de sommets avant et apres simplification.
Vous devriez trouver une valeur qui convient pour toutes les linestring de votre dataset.
Apres, 1000 pts pour une ligne json, c'est pas choquant. Ca fera des profils précis !
Nicolas
oui autant garder de la précision!
merci bcp
Hors ligne