IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

[PostGIS 1.5] Résultat étrange de la fonction st_assvg()


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Points : 90
    Points
    90
    Par défaut [PostGIS 1.5] Résultat étrange de la fonction st_assvg()
    Bonjour,

    Lorsque j'exécute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT st_assvg(st_geometryfromtext('POLYGON (( 10 10, 10 20, 20 20, 20 15, 10 10))'))
    J'obtiens ça comme résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "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 ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 476
    Points : 831
    Points
    831
    Par défaut
    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é)

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Points : 90
    Points
    90
    Par défaut
    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 !!

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Points : 90
    Points
    90
    Par défaut
    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.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 476
    Points : 831
    Points
    831
    Par défaut
    on peut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT st_assvg(scale(st_geometryfromtext('POLYGON (( 10 10, 10 20, 20 20, 20 15, 10 10))'),1,-1));

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Points : 90
    Points
    90
    Par défaut
    Bien vu ! Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/01/2007, 13h17
  2. Occlusion query : résultats étranges
    Par missroot dans le forum OpenGL
    Réponses: 14
    Dernier message: 12/12/2005, 11h56
  3. Passer le résultat (tableau) d'une fonction
    Par coyote90 dans le forum Access
    Réponses: 3
    Dernier message: 10/11/2005, 19h56
  4. COUNT(*), résultat étrange
    Par JuTs dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/10/2005, 15h54
  5. Résultat étrange avec les lumières.
    Par MaxPayne dans le forum OpenGL
    Réponses: 4
    Dernier message: 12/04/2005, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo