Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 06 December 2011 14:00

jonathan
Participant assidu
Date d'inscription: 16 May 2006
Messages: 263

mapserver localisation par attribut postgis

Bonjour,

J'utilise mapserver et postgis pour consulter des données. Je dispose de fonctions permettant de localiser par attribut un objet géographique. Je ne rencontre pas d'erreur avec des fichiers shapfile, cependant lorsque j'utilise des couches postgis, j'obtiens ce type d'erreur :

Code:

prepare_database(): Query error. Error declaring cursor: ERREUR: erreur de syntaxe sur ou près de « AZ0272 » LINE 1: ...t from "cadastre"."historique_cadastre" 
WHERE (169AZ0272) an... ^ With query string: DECLARE mycursor BINARY CURSOR FOR SELECT "parc"::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),objectid::text 
from "cadastre"."historique_cadastre" WHERE (169AZ0272) and (the_geom && setSRID( 'BOX3D(1422694.188561 8169252.714419,1453007.97031 8188723.840798)'::BOX3D,3949) )

postgresql rapporte ces erreurs :

Code:

2011-12-06 10:13:36 CET ERREUR:  erreur de syntaxe sur ou près de « AZ0272 » au caractère 172
2011-12-06 10:13:36 CET INSTRUCTION :  DECLARE mycursor BINARY CURSOR FOR SELECT "parc"::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),objectid::text from "cadastre"."historique_cadastre" WHERE (169AZ0272) and (the_geom && setSRID( 'BOX3D(1422694.188561 8169252.714419,1453007.97031 8188723.840798)'::BOX3D,3949) )
2011-12-06 10:13:36 CET ERREUR:  la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc
    de la transaction
2011-12-06 10:13:36 CET INSTRUCTION :  CLOSE mycursor

L'erreur semble venir du "where".

Quelqu'un a-t-il déja rencontré ce type d'erreur ?

Merci d'avance.

[edit]

Si j’exécute la requête suivante, postgre ne retourne pas d'erreur.

Code:

SELECT "parc"::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),gid::text 
from "cadastre"."historique_cadastre" 
WHERE (parc = '169AZ0272') 
and (the_geom && setSRID( 'BOX3D(1422694.188561 8169252.714419,1453007.97031 8188723.840798)'::BOX3D,3949) )

pourquoi mapserver ne transmet pas une requête correct ...?

Hors ligne

 

#2 Wed 07 December 2011 14:04

jonathan
Participant assidu
Date d'inscription: 16 May 2006
Messages: 263

Re: mapserver localisation par attribut postgis

Question qui n'avait pas lieu d'être. En effet, les script php utilisés sont fait pour traiter des shapefile. Une petite requête postgis pour récupérer les coordonnées des extrêmes de l'objet sélectionné et quelques lignes de code supplémentaire et c'est réglé.

Hors ligne

 

Pied de page des forums

Powered by FluxBB