|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
Bonjour,
Lorsque j'exécute Code :
SELECT st_assvg(st_geometryfromtext('POLYGON (( 10 10, 10 20, 20 20, 20 15, 10 10))')) |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 227 ![]() |
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é)
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
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 !!
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
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. |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 227 ![]() |
on peut faire:
Code :
SELECT st_assvg(scale(st_geometryfromtext('POLYGON (( 10 10, 10 20, 20 20, 20 15, 10 10))'),1,-1)); |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
Bien vu ! Merci
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com