banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Thu 04 March 2010 10:17

michCarto
Participant actif
Date d'inscription: 8 Sep 2009
Messages: 105

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

Bruno
Membre du bureau
Lieu: Toulouse
Date d'inscription: 22 Jun 2005
Messages: 11844
Site web

Re: probleme expand(box2d

Bonjour,

Par ici pour QGIS wink

Bruno

Hors ligne

 

#3 Thu 04 March 2010 10:56

michCarto
Participant actif
Date d'inscription: 8 Sep 2009
Messages: 105

Re: probleme expand(box2d

Bonjour
bruno je ne comprends pas votre réponse
merci

Hors ligne

 

#4 Thu 04 March 2010 11:05

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9860
Site web

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 wink

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: 105

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: 105

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9860
Site web

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9860
Site web

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: 105

Re: probleme expand(box2d

je mets setsrid car ERROR: Operation on mixed SRID geometries
mais bon je dois pas bien comprendre


michCarto a écrit:

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: 105

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




Yves a écrit:

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: 105

Re: probleme expand(box2d

ok merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB