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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Le portail retrouve peu à peu ses fonctionnalités.

Les listes ne fonctionnent pas mais nous mettons tout en oeuvre pour les réactiver rapidement.

Si vous avez pris contact avec l'association (petite enveloppe en haut/droite), sachez que nous lisons vos messages mais que les mails ne partent pas (#bug).

Ne soyez pas surpris si vous ne recevez pas de réponse.

#1 Mon 07 January 2019 15:43

capo04
Membre
Date d'inscription: 14 May 2018
Messages: 15

Utilisation de la fonction ST_expand

Bonjour à tous

J'ai une table des point, dans cette table j'ai un champs "surface", je souhaite générer des carré de la même surface que mon champ "surface".

J'ai utilisé cette requête:

update ma_table set geom = st_expand(ma_table.geom,sqrt(mon_champ_surface))

Les carrés apparaissent mais après avoir utilisé la fonction st_area, dans un nouveau champs j'ai constaté que les surfaces,  issue de mon champs "surface", étaient bien différents des résultats trouvé avec ST_area.

Si quelqu'un voit où est le problème

Merci

Hors ligne

 

#2 Mon 07 January 2019 16:11

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 2934
Site web

Re: Utilisation de la fonction ST_expand

Bonjour,

Il faut lire la documentation de st_expand(the_geom,units_to_expand)

"This function returns a bounding box expanded from the bounding box of the input"

Le deuxième paramètre est :

" either by specifying a single distance with which the box should be expanded in all directions"

Donc ici vous aurez la boudingbox de votre géométrie, ayant subit une homothétie de facteur sqrt(ma_surface).

Donc si vous souhaitez générez des RECTANGLES (pas des carrés) correspondant à la BBox de la géométrie : st_expand(the_geom,0)

Maintenant si vous souhaitez réaliser votre demande :

pour chaque point P(X,Y) :

st_expand('POINT(X Y)', sqrt(mon_champ_surface)/2)   ou plus simplement st_expand(the_geom_du_point,  sqrt(mon_champ_surface)/2)


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#3 Mon 07 January 2019 16:35

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 929

Re: Utilisation de la fonction ST_expand

Salut,

Code:

update ma_table set geom = st_expand(ma_table.geom,sqrt(mon_champ_surface/4))

?

J'imagine que la géométrie de votre table est de type point ?

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |