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