Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| database:requetes-sql-utiles [2024/05/25 07:37] – [Déterminer les groupes d'identifiant contigu] jpmilcent | database:requetes-sql-utiles [2025/12/03 14:48] (Version actuelle) – [Différents calculs du rayon moyen d'un polygone] jpmilcent | ||
|---|---|---|---|
| Ligne 119: | Ligne 119: | ||
| </ | </ | ||
| + | ===== Calculer le diamètre d'un type de géométrie ===== | ||
| + | Pour le calcul du diamètre, nous utilisons la distance moyenne du centroïde du polygone a chaque point constituant son périmètre : | ||
| + | <code sql> | ||
| + | WITH areas AS ( | ||
| + | SELECT | ||
| + | id_area, | ||
| + | area_name AS title, | ||
| + | area_code AS code, | ||
| + | geom | ||
| + | FROM ref_geo.l_areas | ||
| + | WHERE id_type = ref_geo.get_id_area_type(' | ||
| + | AND " | ||
| + | ), | ||
| + | perimeters AS ( | ||
| + | SELECT | ||
| + | id_area, | ||
| + | (st_dumppoints(geom)).* | ||
| + | FROM areas | ||
| + | ), | ||
| + | diameters AS ( | ||
| + | SELECT | ||
| + | a.id_area, | ||
| + | a.title, | ||
| + | a.code, | ||
| + | (round(avg(st_distance(st_centroid(a.geom), | ||
| + | FROM areas AS a | ||
| + | JOIN perimeters AS p | ||
| + | ON (a.id_area = p.id_area) | ||
| + | GROUP BY a.id_area, a.title, a.code | ||
| + | ORDER BY a.id_area | ||
| + | ) | ||
| + | SELECT | ||
| + | avg(" | ||
| + | FROM diameters; | ||
| + | </ | ||
| ===== Déterminer s'il manque des index ===== | ===== Déterminer s'il manque des index ===== | ||
| Source: https:// | Source: https:// | ||
| Ligne 220: | Ligne 254: | ||
| WHERE id_synthese > d.min AND id_synthese < d.max | WHERE id_synthese > d.min AND id_synthese < d.max | ||
| ) AS td | ) AS td | ||
| + | WHERE td.nbr > 0 | ||
| GROUP BY d.grp, d." | GROUP BY d.grp, d." | ||
| ORDER BY d.grp; | ORDER BY d.grp; | ||
| Ligne 231: | Ligne 266: | ||
| |2 |9 404 094 | |2 |9 404 094 | ||
| |3 |15 444 377 |15 455 826 |2 454 |2 773 | | |3 |15 444 377 |15 455 826 |2 454 |2 773 | | ||
| - | |4 | + | |4 |15 609 091 |15 609 795 |703 |
| - | |5 | + | |5 |
| - | |6 |15 843 950 |15 843 951 |0 | + | |6 |
| - | |7 | + | |
| - | |8 | + | |
| </ | </ | ||