ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

New WINDEV, WEBDEV and WINDEV Mobile 2024 feature!
Help / WLanguage / Managing databases / HFSQL / 
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
GeometryDistance (Function)
In french: FormeDistance
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 existants entre les deux géométries.
Example
athènes is PointGeo
athènes.Latitude = 37.971536
athènes.Longitude = 23.725750

bruxelles is PointGeo
bruxelles.Latitude = 50.8119483
bruxelles.Longitude = 4.3826169

let dist = GeometryDistance(athènes, bruxelles)
Trace("GéométrieDistance(Athènes, Bruxelles) = " + dist) // 2088389.078659 mètres ~ 2088km
Syntax
<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 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 :
Remarks
Exemple :
// Définition d'un triangle délimitant une zone géographique
// Mémorisation de ce triangle dans une variable de type PolygoneGéo 
polyGeo is PolygonGeo
polyGeo.Contour.AjoutePoint(0n48.8187479172765, 0n1.9550104465229536)
polyGeo.Contour.AjoutePoint(0n48.685649220185574, 0n2.023674998054354)
polyGeo.Contour.AjoutePoint(0n48.82612543243871, 0n2.2106580854197566)
polyGeo = GeometryCorrect(polyGeo)

// Recherche des communes qui ont du territoire dans le triangle ciblé
nbEnregs is int
// Distance inférieure à 10 km des bords du triangle => 10 000 mètres
FOR EACH DatasCommunes where GeometryDistance(DatasCommunes.geometry, polyGeo) <= 10000 
	// Nom de la commune dans une trace
	Trace(DatasCommunes.NomCommune)
END
Business / UI classification: Business Logic
Component: wd290hf.dll
Minimum version required
  • Version 2024
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/27/2024

Send a report | Local help