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
GeometryIntersect (Function)
In french: FormeIntersecte
Vérifie si deux géométries ont une intersection non vide.
Remarques :
  • Pour connaître la géométrie correspondant à l'intersection, utilisez la fonction GéométrieIntersection.
  • La fonction GeometryIntersect ne renvoyant pas la géométrie résultat, elle est beaucoup plus rapide que la fonction GéométrieIntersection.
Example
// Exemple 1 : deux polygones disjoints
oPolygone2D_1 is Polygon2D
Linestring2DAddPoint(oPolygone2D_1.Outline, -1.00, 3.00)
Linestring2DAddPoint(oPolygone2D_1.Outline, 0.00, 3.00)
Linestring2DAddPoint(oPolygone2D_1.Outline, -2.00, -1.00)
Linestring2DAddPoint(oPolygone2D_1.Outline, -3.00, -1.00)
// Ajout du dernier point (identique au premier)
Linestring2DAddPoint(oPolygone2D_1.Outline, -1.00, 3.00)
// Corrige la géométrie créée
oPolygone2D_1 = GeometryCorrect(oPolygone2D_1)

oPolygone2D_2 is Polygon2D
Linestring2DAddPoint(oPolygone2D_2.Outline, 2.00, 4.00)
Linestring2DAddPoint(oPolygone2D_2.Outline, 3.00, 4.00)
Linestring2DAddPoint(oPolygone2D_2.Outline, 3.00, -2.00)
Linestring2DAddPoint(oPolygone2D_2.Outline, -2.00, -2.00)
// Ajout du dernier point (identique au premier)
Linestring2DAddPoint(oPolygone2D_2.Outline, 2.00, 4.00)
// Corrige la géométrie créée
oPolygone2D_2 = GeometryCorrect(oPolygone2D_2)

Trace(GeometryIntersect(oPolygone2D_1, oPolygone2D_2)) // Faux
// Exemple 2 : deux polygones avec une intersection
oPolygone2D_1 is Polygon2D
Linestring2DAddPoint(oPolygone2D_1.Outline, -1.00, 3.00)
Linestring2DAddPoint(oPolygone2D_1.Outline, 0.00, 3.00)
Linestring2DAddPoint(oPolygone2D_1.Outline, -2.00, -1.00)
Linestring2DAddPoint(oPolygone2D_1.Outline, -3.00, -1.00)
// Ajout du dernier point (identique au premier)
Linestring2DAddPoint(oPolygone2D_1.Outline, -1.00, 3.00)
// Corrige la géométrie créée
oPolygone2D_1 = GeometryCorrect(oPolygone2D_1)

oPolygone2D_2 is Polygon2D
Linestring2DAddPoint(oPolygone2D_2.Outline, 1.00, 4.00)
Linestring2DAddPoint(oPolygone2D_2.Outline, 3.00, 4.00)
Linestring2DAddPoint(oPolygone2D_2.Outline, 3.00, 1.00)
Linestring2DAddPoint(oPolygone2D_2.Outline, -1.00, -1.00)
Linestring2DAddPoint(oPolygone2D_2.Outline, -3.00, 1.00)
// Ajout du dernier point (identique au premier)
Linestring2DAddPoint(oPolygone2D_2.Outline, 1.00, 4.00)
// Corrige la géométrie créée
oPolygone2D_2 = GeometryCorrect(oPolygone2D_2)

Trace(GeometryIntersect(oPolygone2D_1, oPolygone2D_2)) // Vrai
Syntax
<Résultat> = GéométrieIntersecte(<Géométrie A> , <Géométrie B>)
<Résultat>: Booléen
  • Vrai si les deux géométries ont une intersection non vide,
  • Faux dans le cas contraire.
En cas d'erreur, la variable ErreurDétectée est à Vrai. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Géométrie A>: Variable correspondant à des données spatiales
Première géométrie à prendre en compte pour l'intersection. 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 à prendre en compte pour l'intersection. 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 les communes ayant un territoire dans le triangle ciblé
nbEnregs is int
FOR EACH DatasCommunes where GeometryIntersect(DatasCommunes.geometry, polyGeo) 
	// 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