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

Printemps des cartes 2024

#1 Mon 14 July 2014 17:13

mybofy
Participant occasionnel
Date d'inscription: 21 Jun 2014
Messages: 16

Incompatibilité postgis 2.1 mapserver 6.4.1

[Résolu]

Bonjour

ubuntu 12.04 postgresql 9.3 : OK

postgis 2.1 : OK, extension installée - table créée avec shp2pgsql, apparemment correcte

mapserver 6.4.1 : OK - affiche bien les objets en utilisant directement des shapefiles dans DATA

Maintenant, si je veux utiliser un DATA issu de la connection à la base postgis j'ai l'erreur :
msDrawMap(): Image handling error. Failed to draw layer named 'polygons'. msPostGISLayerWhichShapes(): Query error. Error (ERREUR: la fonction geomfromtext(unknown, integer) n'existe pas LINE 1: ...,'hex') as geom,"gid" from polygons where geom && GeomFromTe... ^ HINT: Aucune fonction ne correspond au nom donné et aux types d'arguments. Vous devez ajouter des conversions explicites de type. ) executing query: select encode(ST_AsBinary(ST_Force_2D("geom"),'NDR'),'hex') as geom,"gid" from polygons where geom && GeomFromText('POLYGON((2.15641 48.6887830156403,2.15641 48.7092569843597,2.18522 48.7092569843597,2.18522 48.6887830156403,2.15641 48.6887830156403))',find_srid('','polygons','geom'))

C'est bien un message d'incompatibilité.

Sur le net j'ai trouvé deux solutions:
- exécuter une requête legacy...sql : n'apporte rien
- compiler mapserver à partir des sources : je ne comprends pas pas la procédure (pourquoi ne pas utiliser le  ./configure standard ?)
Elles reviennent toutes deux à remplacer GeomFromText par ST_ GeomFromText, que je ne trouve pas la liste  des fonction du postgis installé !


Je suis en phase de test des outils à mettre en place.
Qui pourrait me dire les versions à utiliser pour avoir une chaîne d'outils cohérente ?
Y a-t-il des tables de compatibilité ?
Ça m'est un peu égal d'utiliser des versions anciennes (pas en dessous de 8.3 pour PG), pourvu que tout fonctionne ensemble !

Merci de l'aide.

Dernière modification par mybofy (Mon 21 July 2014 15:03)

Hors ligne

 

#2 Tue 15 July 2014 16:14

JF BEHM
Participant actif
Lieu: toulouse
Date d'inscription: 9 Aug 2013
Messages: 126
Site web

Re: Incompatibilité postgis 2.1 mapserver 6.4.1

Bonjour,

legacy.sql consiste à ajouter les anciennes fonctions sans le préfixe ST_

C'est ST_geomfromtext que vous ne trouvez pas dans la liste des fonctions ?

Vous ouvrez une table PostGIS ou une vue ?

Cordialement,


Jean-François Behm, formateur SIG, jf.behm@texte-a-enlever.idgeo.fr, formations@texte-a-enlever.idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique  42, avenue de Général de Croutte - 31100 toulouse

Hors ligne

 

#3 Thu 17 July 2014 09:46

mybofy
Participant occasionnel
Date d'inscription: 21 Jun 2014
Messages: 16

Re: Incompatibilité postgis 2.1 mapserver 6.4.1

JF BEHM a écrit:

Bonjour,

legacy.sql consiste à ajouter les anciennes fonctions sans le préfixe ST_

C'est ST_geomfromtext que vous ne trouvez pas dans la liste des fonctions ?

Vous ouvrez une table PostGIS ou une vue ?

Cordialement,


Le message d'erreur montre que c'est la fonction GeomFromText qui n'existe pas même après legacy.sql, avec des majuscules.

En fait je ne comprends pas ce qui se passe.

Dans pgadmin, les fonctions sont écrites en minuscules, avec ou sans préfixes : _ ou _st_ ou rien. Dans le message d'erreur, on voit des fonctions écrites autrement, toujours avec des majuscules.

C'est bien une table que j'ouvre.

Hors ligne

 

#4 Mon 21 July 2014 12:09

tbonfort
Participant actif
Date d'inscription: 11 Oct 2007
Messages: 87

Re: Incompatibilité postgis 2.1 mapserver 6.4.1

La mise a jour de mapserver pour supporter les nouveaux noms de fonctions a été ajouté dans la version 6.2.0. Si votre mapserver utilise GeomFromText et no ST_GeomFromText, c'est que ce n'est pas une version 6.4.1 qui est effectivement utilisée.

--
thomas

mybofy a écrit:

Bonjour

ubuntu 12.04 postgresql 9.3 : OK

postgis 2.1 : OK, extension installée - table créée avec shp2pgsql, apparemment correcte

mapserver 6.4.1 : OK - affiche bien les objets en utilisant directement des shapefiles dans DATA

Maintenant, si je veux utiliser un DATA issu de la connection à la base postgis j'ai l'erreur :
msDrawMap(): Image handling error. Failed to draw layer named 'polygons'. msPostGISLayerWhichShapes(): Query error. Error (ERREUR: la fonction geomfromtext(unknown, integer) n'existe pas LINE 1: ...,'hex') as geom,"gid" from polygons where geom && GeomFromTe... ^ HINT: Aucune fonction ne correspond au nom donné et aux types d'arguments. Vous devez ajouter des conversions explicites de type. ) executing query: select encode(ST_AsBinary(ST_Force_2D("geom"),'NDR'),'hex') as geom,"gid" from polygons where geom && GeomFromText('POLYGON((2.15641 48.6887830156403,2.15641 48.7092569843597,2.18522 48.7092569843597,2.18522 48.6887830156403,2.15641 48.6887830156403))',find_srid('','polygons','geom'))

C'est bien un message d'incompatibilité.

Sur le net j'ai trouvé deux solutions:
- exécuter une requête legacy...sql : n'apporte rien
- compiler mapserver à partir des sources : je ne comprends pas pas la procédure (pourquoi ne pas utiliser le  ./configure standard ?)
Elles reviennent toutes deux à remplacer GeomFromText par ST_ GeomFromText, que je ne trouve pas la liste  des fonction du postgis installé !


Je suis en phase de test des outils à mettre en place.
Qui pourrait me dire les versions à utiliser pour avoir une chaîne d'outils cohérente ?
Y a-t-il des tables de compatibilité ?
Ça m'est un peu égal d'utiliser des versions anciennes (pas en dessous de 8.3 pour PG), pourvu que tout fonctionne ensemble !

Merci de l'aide.

Hors ligne

 

#5 Mon 21 July 2014 15:02

mybofy
Participant occasionnel
Date d'inscription: 21 Jun 2014
Messages: 16

Re: Incompatibilité postgis 2.1 mapserver 6.4.1

C'était l'information que je cherchais.

La version de mapserver était effectivement ancienne.

Maintenant ubuntu 14.04 + postgresql 9.3 + postgis 2.1 + mapserver 6.4.1 marche !

Grand merci.

Hors ligne

 

Pied de page des forums

Powered by FluxBB