|
|
|
|
|
- Parcours des données spatiales : utilisation des index spatiaux
GéométrieDistance (Fonction) En anglais : GeometryDistance Calcule la distance entre deux géométries. Pour les géométries autres que les points, cette distance correspond à la distance entre les points les plus proches existant entre les deux géométries.
athènes est un PointGéo
athènes.Latitude = 37.971536
athènes.Longitude = 23.725750
bruxelles est un PointGéo
bruxelles.Latitude = 50.8119483
bruxelles.Longitude = 4.3826169
soit dist = GéométrieDistance(athènes, bruxelles)
Trace("GéométrieDistance(Athènes, Bruxelles) = " + dist)
Syntaxe
<Résultat> = GéométrieDistance(<Géométrie A> , <Géométrie B>)
<Résultat> : Réel Distance entre les points les plus proches de la géométrie A et de la géométrie B. - Pour les géométries en 2 dimensions, cette distance est calculée en utilisant la norme euclidienne (Pythagore). La distance est renvoyée dans la même unité que celle donnée aux coordonnées des points.
- Pour les géométries en coordonnées géographiques, le calcul de cette distance utilise le modèle approché de la Terre WGS84 pour prendre en compte sa courbure. La distance est renvoyée en mètres.
<Géométrie A> : Variable correspondant à des données spatiales Première géométrie manipulée. Cette géométrie peut correspondre à un des types de variables suivants : <Géométrie B> : Variable correspondant à des données spatiales Seconde géométrie manipulée. Cette géométrie peut correspondre à un des types de variables suivants : Remarques Parcours des données spatiales : utilisation des index spatiaux Il est possible d'effectuer un parcours sur un fichier de données avec un filtre concernant des données spatiales. Par exemple, le filtre utilisé peut être basé sur le résultat de la fonction GéométrieDistance. Pour optimiser ce filtre sur des données spatiales, il est recommandé d'utiliser les index spatiaux via la syntaxe suivante : POUR TOUT Fichier AVEC Fonction_WLangage(Fichier.Rubrique_spatiale, Variable_spatiale) où : - Fonction_WLangage correspond à la fonction GéométrieDistance.
- Rubrique_spatiale correspond à une rubrique spatiale du fichier de données. Cette rubrique doit :
- être de type "Données géographiques" ou de type "Données géométriques".
- être définie comme une "Clé spatiale".
- Variable_spatiale correspond à une variable spatiale donnée, utilisée pour la comparaison avec la rubrique spatiale. Cette variable est par exemple, une variable de type PolygoneGéo, Polygone2D, etc.
Remarque : Bien que disponible, la syntaxe "POUR TOUT Fichier" n'est pas recommandée car cette syntaxe n'utilisant pas les index spatiaux, ses performances ne sont pas optimisées. En effet, dans ce cas, tout le fichier de données est parcouru : les index spatiaux ne sont pas utilisés. POUR TOUT Fichier SI Fonction_WLangage(Fichier.Rubrique_spatiale, Variable_spatiale) = Vrai ALORS ... FIN FIN Exemple :
polyGeo est un PolygoneGéo
polyGeo.Contour.AjoutePoint(0n48.8187479172765, 0n1.9550104465229536)
polyGeo.Contour.AjoutePoint(0n48.685649220185574, 0n2.023674998054354)
polyGeo.Contour.AjoutePoint(0n48.82612543243871, 0n2.2106580854197566)
polyGeo = GéométrieCorrige(polyGeo)
nbEnregs est un entier
POUR CHAQUE DatasCommunes AVEC GéométrieDistance(DatasCommunes.geometry, polyGeo) <= 10000
Trace(DatasCommunes.NomCommune)
FIN
Classification Métier / UI : Code métier
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|