Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/02/2011, 18h47   #1
Membre du Club
 
Inscription : novembre 2008
Messages : 270
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 270
Points : 50
Points : 50
Par défaut [PostGIS 1.5] Résultat étrange de la fonction st_assvg()

Bonjour,

Lorsque j'exécute
Code :
SELECT st_assvg(st_geometryfromtext('POLYGON (( 10 10, 10 20, 20 20, 20 15, 10 10))'))
J'obtiens ça comme résultat
Code :
"M 10 -10 L 10 -20 20 -20 20 -15 Z"
Est-ce normal ? Sachant qu'en entrée toutes les coordonnées sont positives ?
yo_haha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 19h16   #2
Membre confirmé
 
Homme
Inscription : janvier 2006
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations forums :
Inscription : janvier 2006
Messages : 227
Points : 239
Points : 239
bonsoir, je pense que l'origine d'un tracé svg est situe en haut à gauche alors que l'origine des coord geog est située en bas à gauche (axe vertical inversé)
xavier-Pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 22h34   #3
Membre du Club
 
Inscription : novembre 2008
Messages : 270
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 270
Points : 50
Points : 50
Lorsque st_geometryfromtext() est exécutée normalement les coordonnées restent positives. Ensuite, st_assvg() ne fait que renvoyer une chaîne de caractères qui peut être traduite comme un path en SVG. Je ne vois pas pourquoi les signes changent (même si les axes sont inversés). Ceci me pose un problème lorsque j'essaye d'afficher le path sur un navigateur web : le path ne s'affiche pas à cause des coordonnées négatives !!
yo_haha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2011, 21h25   #4
Membre du Club
 
Inscription : novembre 2008
Messages : 270
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 270
Points : 50
Points : 50
En fait, xavier-pierre, vous avez raison.

D'après la documentation de Postgis, c'est le comportement normal de la fonction st_assvg(). http://postgis.refractions.net/docs/ST_AsSVG.html

J'ai résolu le problème d'affichage sur une page web en utilisant la fonction PHP strtok() qui fragmente la chaîne de caractères donnée en argument. Et après j'ai changé les signes négatifs et reconstitué la nouvelle chaîne avec toutes les coordonnées positives.
yo_haha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 00h56   #5
Membre confirmé
 
Homme
Inscription : janvier 2006
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations forums :
Inscription : janvier 2006
Messages : 227
Points : 239
Points : 239
on peut faire:
Code :
SELECT st_assvg(scale(st_geometryfromtext('POLYGON (( 10 10, 10 20, 20 20, 20 15, 10 10))'),1,-1));
xavier-Pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 11h53   #6
Membre du Club
 
Inscription : novembre 2008
Messages : 270
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 270
Points : 50
Points : 50
Bien vu ! Merci
yo_haha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h14.


 
 
 
 
Partenaires

Hébergement Web