#1 Fri 19 August 2016 08:32
- scubas5
- Participant occasionnel
- Date d'inscription: 23 Mar 2007
- Messages: 39
Sélectionner les lignes
Bonjour à tous,
j'ai une base de données sous Postgres 9.3.
J'ai une table qui contient des points et des lignes.
Petit à petit, je vais remplacer les points par des lignes.
Je voudrais faire une requete pour sélectionner que les lignes ( ST LineString).
Lorsque je fais la sélection suivante:
Select distinct st_geometrytype(geom) from ma_table , voila ce que j'ai: ST Point et ST LineString.
Je n'arrive pas à trouver la solution pour retourner que les ST LineString
Si quelqu'un à une solution.
Merci
Hors ligne
#2 Fri 19 August 2016 09:10
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Sélectionner les lignes
Bonjour,
**edited: j'avais pas bien lu **
Ajouter une clause WHERE à votre requête: WHERE geometryType(geom) = 'LINESTRING'
(Je vous invite à regarder un ou deux tuto SQL avant de vous lancer sur du spatial: au moins connaitre la structure du SELECT)
Nicolas
Hors ligne
#3 Fri 19 August 2016 09:47
- scubas5
- Participant occasionnel
- Date d'inscription: 23 Mar 2007
- Messages: 39
Re: Sélectionner les lignes
Merci de votre réponse.
Bien sur j'ai une clause where.
avec le WHERE geometryType(geom) = 'POINT', cela me remonte bien les ponctuels (3456 éléments)
Pour remonter les lignes, je dois remplacer 'POINT' par ?
Voila ma requete complète:
select mug.mob_id, mu.mob_urivoli,
(CASE WHEN(mu.mob_urivoli is null) THEN 0 ELSE 1 END) as resultat
, mu.mob_lieu,mu.mob_longueur_cm, mu.mob_hauteur_cm, mu.mob_diametre_mm, mu.mob_date,
mu.mob_type, mu.mob_type2, mu.mob_marque, mu.mob_modele, mu.mob_embout, mu.mob_escamotable, mu.mob_couleur_ral, mu.mob_contrpmr, mu.mob_obstpmr, mu.mob_observation, mu.mob_commune, mu.mob_precision_leve
from ma_base.barriere_geo mug, cellule_appuie.mobilier_urbain mu
where mug.mob_id = mu.mob_id
AND geometryType(geom) = 'POINT'
Cordialement
Hors ligne
#4 Fri 19 August 2016 09:55
- scubas5
- Participant occasionnel
- Date d'inscription: 23 Mar 2007
- Messages: 39
Re: Sélectionner les lignes
Je viens de trouver une solution:
WHERE geometryType(geom) <> 'POINT'
Cela me remonte bien les lignes.
Merci de m'avoir orienté.
Cordialement.
Hors ligne
#5 Fri 19 August 2016 10:01
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Sélectionner les lignes
= 'LINESTRING'
(la doc peut aider aussi: http://postgis.net/docs/GeometryType.html)
Nicolas
Hors ligne