Message posté par : Pivès001
----------------------------------------
-----------------
Eloïse B. écrit :
Il faudrait pouvoir regrouper tous les points du même type qui se trouve à proximité des
uns des autres, dans un rayon de tant de mètre par exemple.
-----------------
C'est une agrégation spatiale.
En SQL cela pourrait s'écrire ainsi :
-----------------
Code :
SELECT
row_number() over () AS id,
string_agg(p.gid::text, '/') AS id_points,
type AS type_point,
ST_NumGeometries(geom_cluster) AS nombre_point,
ST_MinimumBoundingCircle(geom_cluster) AS geom
FROM (
SELECT
UNNEST(ST_ClusterWithin(geometry, 40)) geom_cluster -- 40 est un exemple. C'est la
distance en mètres pour l'agrégation.
FROM macouchedepoints
) f
INNER JOIN macouchedepoints p ON st_intersects(ST_MinimumBoundingCircle(geom_cluster),
p.geometry)
GROUP BY f.geom_cluster, p.type_point;
-----------------
Le principe est de regrouper les informations par type et de définir un rayon
d'agrégation (ici 40m).
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343980#p343980
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net