Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
#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: 1534
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: 1534
Re: Sélectionner les lignes
= 'LINESTRING'
(la doc peut aider aussi: http://postgis.net/docs/GeometryType.html)
Nicolas
Hors ligne