#1 Mon 23 November 2020 17:45
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
ignorer z négatif-postgis
Bonjour,
J'ai une linestring Z sur laquelle je souhaiterai avoir un st_zmin.
cependant cette ligne est le résultat d'une intersection polygone 2D -ligne 3D
et mon zmin est égal à -1000.
st_zmin une box 3D des extrémités il me semble.
Finalement comment récupérer le z minimal d'un point sur ma ligne et ignorer par le même coup -1000?
si vous avez une idée?
Hors ligne
#2 Tue 24 November 2020 12:37
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: ignorer z négatif-postgis
Bonjour,
Avec st_dumppoints, vous sortirez les points des lignes, vous pouvez alors tester la valeur Z de chacun (st_Z(geom)) et filtrer sur cette valeur
Nicolas
Hors ligne
#3 Tue 24 November 2020 12:41
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: ignorer z négatif-postgis
Par ex:
Code:
with tmp as ( select 'LINESTRINGZ(0 0 1, 1 1 2, 2 2 3, 3 3 -1000, 4 4 0)'::geometry as geom ), tmp1 as ( select (st_dumppoints(geom)).geom from tmp ) select st_x(geom), st_y(geom), st_z(geom) from tmp1 where st_z(geom) <> -1000 order by 3; st_x st_y st_z 4 4 0 0 0 1 1 1 2 2 2 3
Nicolas
Hors ligne
#4 Thu 26 November 2020 16:34
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
Re: ignorer z négatif-postgis
Nicolas Ribot a écrit:
Par ex:
Code:
with tmp as ( select 'LINESTRINGZ(0 0 1, 1 1 2, 2 2 3, 3 3 -1000, 4 4 0)'::geometry as geom ), tmp1 as ( select (st_dumppoints(geom)).geom from tmp ) select st_x(geom), st_y(geom), st_z(geom) from tmp1 where st_z(geom) <> -1000 order by 3; st_x st_y st_z 4 4 0 0 0 1 1 1 2 2 2 3Nicolas
Merci beaucoup décidément st_dumppoints est mon ami!
cdlt
Hors ligne