#1 Thu 04 March 2010 10:17
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
probleme expand(box2d
Bonjour
Quand je fais expand(box2d(p1.the_geom),100) par rapport à ma parcelle
sous qgis je ne voie pas la box etendue de 100
la requete est t'elle bonne
Merci
Code:
SELECT expand(box2d(p1.the_geom),100) from cadastre.paca p1 WHERE p1.id_insee=code postal and p1.id_parc = id parcelle
Hors ligne
#2 Thu 04 March 2010 10:38
Re: probleme expand(box2d
Bonjour,
Par ici pour QGIS
Bruno
Hors ligne
#3 Thu 04 March 2010 10:56
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Re: probleme expand(box2d
Bonjour
bruno je ne comprends pas votre réponse
merci
Hors ligne
#4 Thu 04 March 2010 11:05
Re: probleme expand(box2d
Bonjour,
Bruno a déplacé ta réponse sur le forum GeoLibre car tu as du l'envoyer au mauvais forum
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Thu 04 March 2010 11:18
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Re: probleme expand(box2d
Bonjour,
j'ai avancé mais j'ai une erreur
ERROR: Operation on mixed SRID geometries
État SQL :XX000
pourtant j'ai mis les setsrid a moins que ce soit les fonctions spatiales qui posent problemes
merci
SELECT p1.the_geom from
parc_paca_as p1,
bat_paca as p2
WHERE
p1.id_insee='84000'
and
p1.id_parc = '84007EH0654'
and
contains(expand(box2d(setsrid(p1.the_geom,27582)),100),setsrid(p2.the_geom,27582));
merci
Hors ligne
#6 Thu 04 March 2010 11:23
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Re: probleme expand(box2d
A priori c'est box2d qui pose probleme comment fait t'on ?
si je fais
contains(expand(setsrid(p1.the_geom,27582),100),setsrid(p2.the_geom,27582));
ca passe
Yves ?
Hors ligne
#7 Thu 04 March 2010 11:37
Re: probleme expand(box2d
Bonjour,
Que veux tu faire exactement ? Ta requete me parait étrange. Pourquoi définir les SRID ? Ne le sont ils pas déjà ?
Perso je ferais cela (en supposant que j'ai bien compris) :
1. définir le srid correct si cela n'est pas le casa. Vérifier que tout est ok avec un distinct(srid(the_geom))
2. faire une requete en utilisant st_buffer()
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#8 Thu 04 March 2010 11:40
Re: probleme expand(box2d
Tu sembles vouloir utiliser une géométrie mais box2d renvoie une box :
BOX(220186.984375 150406,220288.25 150506.140625)
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#9 Thu 04 March 2010 11:44
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Re: probleme expand(box2d
je mets setsrid car ERROR: Operation on mixed SRID geometries
mais bon je dois pas bien comprendre
A priori c'est box2d qui pose probleme comment fait t'on ?
si je fais
contains(expand(setsrid(p1.the_geom,27582),100),setsrid(p2.the_geom,27582));
ca passe
Yves ?
Hors ligne
#10 Thu 04 March 2010 11:56
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Re: probleme expand(box2d
Bonjour,
avec buffer ca passe
SELECT p1.the_geom from
parc_paca as p1,
bat_paca as p2
WHERE
p1.id_insee='84000'
and
p1.id_parc = '84007EH0654'
and
contains(buffer(p1.the_geom,100),p2.the_geom);
mais on veut aussi le faire pas expand avec une box
SELECT p1.the_geom from
parc_paca as p1,
bat_paca as p2
WHERE
p1.id_insee='84000'
and
p1.id_parc = '84007EH0654'
and
contains(expand(st_box2d(p1.the_geom),100),p2.the_geom);
comment convertir un box en type geometry pour plus avoir ce message d'erreur
ERROR: Operation on mixed SRID geometries
merci
Tu sembles vouloir utiliser une géométrie mais box2d renvoie une box :
BOX(220186.984375 150406,220288.25 150506.140625)
Y.
Dernière modification par michCarto (Thu 04 March 2010 12:02)
Hors ligne
#11 Thu 04 March 2010 20:04
- jmz
- Participant actif
- Lieu: Anthon
- Date d'inscription: 5 Sep 2005
- Messages: 142
Re: probleme expand(box2d
Bonjour,
Un ordre SQL select vous ramène de la données seulement (des lignes), ce qui n'est pas visualisable dans Qgis directement ! Sous QGis, on ne peut visualiser dans la carte que des tables existantes (avec prérequis, il faut un ID clef unique, je crois), donc il suffit pour vous de créer la table résultante du buffer et d'ajouter la table postGIS dans Qgis,
mettez donc plutot en début de requête
CREATE TABLE nom_buffer_table AS SELECT .....
Après il suffit de créer votre ID unique puis d'ajouter la table.
Sinon vous pouvez passer par un outils (Plugin PGQuery je crois) qui gère la création de la table résultat et son ajout, ou encore passer par du script pour chainer toutes ces opération (du genre un plugin de votre fabrication).
Cordialement
Juilen
Hors ligne
#12 Fri 05 March 2010 09:41
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Re: probleme expand(box2d
ok merci
Hors ligne