Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/08/2006, 16h27   #1
Membre à l'essai
 
Inscription : février 2005
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 54
Points : 23
Points : 23
Par défaut requete sur polygone

Bonjour,
Débutant avec Postgis

Je cherche à ecrire une requete qui m'indiquerai le polygone dans lequel se trouve un point
dont les coordonnées ne sont pas dans une table.
Je demande la saisie de coordonnées x,y via un script php et je souhaite connaitre dans quel polygone se trouve le point saisie par l'utilisateur.
Je sais le faire quant tous les objets sont stockés dans les tables mais la je ne souhaite pas faire d'insertion dans la base.
Je ne suis pas sur de gagner du temps à d'abord faire une insertion, une requete et puis une suppression

Merci d'avance
@+
passie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2006, 09h22   #2
Membre confirmé
 
Homme
Inscription : janvier 2006
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations forums :
Inscription : janvier 2006
Messages : 227
Points : 239
Points : 239
bonjour je pense qu'en utilisant la fonction PointFromText(POINT (x y,<SRID>)) dans ta requete ,ça devrait marcher comme par exemple:

select monPolygon from tablePolygon
where whithin(PointFromText(POINT (x y)),the_geom);

the_geom étant la colonne geometry des polygones
xavier-Pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2006, 13h18   #3
Membre à l'essai
 
Inscription : février 2005
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 54
Points : 23
Points : 23
Bonjour et merci pour la réponse
Pour le moment je ne parviens pas à appliquer ce que tu me propose, cela ne me retourne pas de résultat

Code :
1
2
3
4
 
SELECT texture 
FROM t_triangle_aisne 
WHERE within(PointFromText('POINT(0 100)'),geom);
alors que si je le fait en utilisant la fonction INTERSECT

Code :
1
2
3
4
SELECT texture
FROM t_triangle_aisne
WHERE
INTERSECTS (('POINT(0 100)'),geom);
cela me retourne bien le résultat attendu
Je ne sais pas pourquoi le wtihin ne fonctionne pas, peut être un probléme avec SRID que je ne renseigne pas ?

J'essaie toujours de faire fonctionner ta solution et je choisirai ensuite quelle est la meilleure des solutions
Quelqu'un sait il si cela revient au même ou non ??
Merci
passie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2006, 15h54   #4
Membre confirmé
 
Homme
Inscription : janvier 2006
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations forums :
Inscription : janvier 2006
Messages : 227
Points : 239
Points : 239
bonjour je me suis embrouillé

la requete serait plutot du style


SELECT texture
FROM t_triangle_aisne
WHERE within('POINT(0 100)',geom);
xavier-Pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2006, 13h29   #5
Membre à l'essai
 
Inscription : février 2005
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 54
Points : 23
Points : 23
Ok merci ça marche
Désolé ne n'avoir pas répondu plus tôt
merci
passie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h04.


 
 
 
 
Partenaires

Hébergement Web