requete avec box3D

Bonjour,

Je cherche à exécuter cette requête, mais j'obtiens une erreur au niveau de la box3D.

create table result as select a.*, b."X", b."Y", b."Z" from tmp_pts_aep a,mnt_lg b
where Distance(a.the_geom,b.the_geom)=(select min(distance(d.the_geom,c.the_geom)) from tmp_pts_aep c, mnt_lg d
where d.the_geom && 'BOX3D(x(c.the_geom)-25 y(c.the_geom)-25, x(c.the_geom)+25 y(c.the_geom)+25)'::box3d);

Erreur :

ERREUR: BOX3D parser - couldnt parse. It should look like: BOX3D(xmin ymin zmin,xmax ymax zmax) or BOX3D(xmin ymin,xmax ymax)

Merci d'avance pour votre aide (s'il y a encore des utilisateurs sur ce site...)

edit :

Le problème, c'est ce qu'il y a dans les box3D : x(a.the_geom)+30...

Peut on utiliser une fonction à cette endroit ? Si oui comment ?

Merci

Posted in PostGIS dans le contexte des serveurs cartographiques | WINDOWS Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet suivant | printer friendly version | 3640 lectures

Posté par jojo le 18 Juillet, 2008 - 08:11.

djay | 23 Juillet, 2008 - 10:05

Bonjour jojo,
pour que tes expressions soient effectivement évaluées tu dois impérativement utiliser une concaténation de chaînes de caractères, quelque chose comme ça :

'BOX3D('||x(c.the_geom)-25||' '||y(c.the_geom)-25|| ',' ||x(c.the_geom)+25||' '|| y(c.the_geom)+25||')'

Néanmoins je ne pense que cela résolve ton problème. En effet, en procédant à ce test j'obtiens une erreur spécifiant que le type text ne peut être "casté" en box3d.

Le mieux reste donc d'utiliser la fonction expand afin de produire la box3d qe tu souhaites utiliser. Pour cela utilise quelque chose de ce genre :

expand(makepoint(x(c.the_geom),y(c.the_geom),25)::box3d

En espérant que cela t'aide à résoudre ton problème...

ps: il reste encore des utilisateurs sur ce site, au moins un Eye-wink

jojo | 24 Juillet, 2008 - 13:14

Bonjour,

Merci pour la réponse. J'ai utilisé : ST_expand(geometry, float)

Je souhaite créer une table basée sur deux autres (couches de points) en associant aux objets de la première une propriété de l'objet le plus proche dans la deuxième.

http://georezo.net/forum/viewtopic.php?id=55836

Je ne pensais pas, a priori, que ce traitement me poserait de tels problèmes. Je commence à désespérer de pouvoir faire ça avec postgis.

Merci d'avance pour votre aide.

Accéder aux archives

« Novembre 2024  
Lun Mar Mer Jeu Ven Sam Dim
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Ouverture de session

Qui est en ligne

Il y a actuellement 1 utilisateur et 34 invités en ligne.
Locations of visitors to this page
Drupal Top Sites - Ultimate Drupal Exposure