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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Mon 07 January 2019 15:43

capo04
Participant occasionnel
Date d'inscription: 14 May 2018
Messages: 13

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: 3163
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: 1129

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