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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 07 January 2019 15:43

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

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: 3199
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: 1160

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