Name

ST_FilterByM — Supprime les vertices en fonction de leur valeur M

Synopsis

geometry ST_FilterByM(geometry geom, double precision min, double precision max = null, boolean returnM = false);

Description

Filtre les points de sommet en fonction de leur valeur M. Renvoie une géométrie contenant uniquement les points de sommet dont la valeur M est supérieure ou égale à la valeur min et inférieure ou égale à la valeur max. Si l'argument max-value est omis, seule la valeur min est prise en compte. Si le quatrième argument est omis, la valeur m ne figurera pas dans la géométrie résultante. Si la géométrie résultante a trop peu de points de vertex pour son type de géométrie, une géométrie vide sera renvoyée. Dans une collection de géométries, les géométries qui n'ont pas assez de points seront simplement éliminées silencieusement.

Cette fonction est principalement destinée à être utilisée en conjonction avec ST_SetEffectiveArea. ST_EffectiveArea définit la surface effective d'un sommet dans sa valeur m. Avec ST_FilterByM, il est possible d'obtenir une version simplifiée de la géométrie sans aucun calcul, simplement en filtrant

[Note]

Il existe une différence entre ST_SimplifyVW et ST_FilterByM en ce qui concerne la géométrie renvoyée lorsque le nombre de points répondant aux critères n'est pas suffisant. ST_SimplifyVW renvoie la géométrie avec suffisamment de points alors que ST_FilterByM renvoie une géométrie vide

[Note]

Notez que la géométrie renvoyée peut être invalide

[Note]

Cette fonction renvoie toutes les dimensions, y compris les valeurs Z et M

Disponibilité : 2.5.0

Exemples

Une ligne est filtrée

SELECT ST_AsText(ST_FilterByM(geom,30)) simplified
FROM (SELECT  ST_SetEffectiveArea('LINESTRING(5 2, 3 8, 6 20, 7 25, 10 10)'::geometry) geom) As foo;

result

         simplified
----------------------------
 LINESTRING(5 2,7 25,10 10)
                

Voir aussi

ST_SetEffectiveArea, ST_SimplifyVW