Skip to content
Valider 5aa35d8e rédigé par marcimat@rezo.net's avatar marcimat@rezo.net
Parcourir les fichiers

Ajout de filtres & d’un critère pour pouvoir sélectionner des points proches d’un tracé.

Nécessite Mysql 5.6+ ou Mariadb pour être utilisés.

# Filtre zoner_geometrie

`zoner_geometrie($geometrie, $type[, $distance[, $tolerance]])`

Pour une géométrie donnée, au format $type (json, wkt, ...), calcule une zone (un polygone) qui couvre la géométrie à une distance donnée (0.05 par défaut ici).
En d’autre terme, applique la fonction Mysql ST_Buffer() sur la géométrie en entrée. La distance est exprimée en degré décimal d’angle si la géométrie a des points latitude/longitude (en tout cas c'est ce que j’en comprends).
Pour que le polygone calculé ne contienne pas une immensité de points, on simplifie le polygone d’entrée et le polygone de sortie (ça réduit le nombre de points). La réduction prend en compte un paramètre de tolérance, qui vaut par défaut $distance/20.

# Filtre simplifier_geometrie

`simplifier_geometrie($geometrie, $type, $tolerance)`

Simplifie le nombre de points d’une géométrie, en utilisant la tolérance indiquée (en degré décimal d’angle je suppute, si la géométrie est en latitude/longitude).
Elle est utilisée automatiquement par la fonction zone_geometrie().

# Critère geometrie_dans_polygone

`{geometrie_dans_polygone #GET{polygone}`

Pour un polygone calculé, par exemple avec zoner_geometrie() tel que 
`#SET{polygone,#GEOMETRY|zoner_geometrie{wkt,0.05}` dans une boucle GIS, récupère les géométries qui sont contenues dans le polygone.

Exemple, récupérer les Points (et pas d’autre forme, mais ce serait possible) dans une zone : 
`<BOUCLE_points_proches(GIS){type=Point}{geometrie_dans_polygone #GET{poly}}>`
parent bfbe4351
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter