|
|
|
|
- Accessing spatial data: using spatial indexes
<Polygon2D variable>.Contain (Function) In french: <Variable Polygone2D>.Contient Determines if geometry A (of type 2D polygon) contains geometry B.
Remarks: - If geometry A "contains" geometry B, this means that geometry B lies completely inside geometry A. In this case:
- No point of geometry B lies outside geometry A: all points of geometry B are either in the interior or on the boundary of geometry A.
- The interiors of A and B have at least one point in common.
- Difference compared with <Polygon2D variable>.Cover: With <Polygon2D variable>.Cover, the interiors of both geometries must not necessarily have a point in common. A polygon covers its own boundary, but it does not contain it.
o2DPolygon_1 is Polygon2D
o2DPolygon_1.Outline.AddPoint(-4.00, -4.00)
o2DPolygon_1.Outline.AddPoint(-4.00, 2.00)
o2DPolygon_1.Outline.AddPoint(5.00, 2.00)
o2DPolygon_1.Outline.AddPoint(5.00, -4.00)
o2DPolygon_1.Outline.AddPoint(-4.00, -4.00)
o2DPolygon_2 is Polygon2D
o2DPolygon_2.Outline.AddPoint(-1.00, -2.00)
o2DPolygon_2.Outline.AddPoint(2.00, 0.00)
o2DPolygon_2.Outline.AddPoint(2.00, -2.00)
o2DPolygon_2.Outline.AddPoint(-1.00, -2.00)
let p2_in_p1 = o2DPolygon_1.Contain(o2DPolygon_2)
o2DPolygon_2.Within(o2DPolygon_1)
Syntax
<Result> = <Geometry A>.Contains(<Geometry B>)
<Result>: Boolean - True if geometry A contains geometry B,
- False otherwise.
If an error occurs, the ErrorOccurred variable is set to True. To get more details on the error, use ErrorInfo with the errMessage constant.
<Geometry A>: Polygon2D variable Name of the Polygon2D variable to be used. <Geometry B>: Variable containing spatial data Variable corresponding to the second geometry. This geometry can correspond to one of the following variable types: Remarks Accessing spatial data: using spatial indexes In a data file, you can apply a filter on spatial data and loop through the file. For example, the filter can be based on the result of <Polygon2D variable>.Contain. It is recommended to use the following syntax to apply a filter on spatial data: FOR EACH File WHERE WLanguage_function(File.Spatial_item, Spatial_variable) where: - WLanguage_function corresponds to <Polygon2D variable>.Contain.
- Spatial_item is a spatial item in the data file. This item must:
- be of type "Geographic data" or "Geometric data".
- be defined as a "Spatial key".
- Spatial_variable is a given spatial variable, used for comparison with the spatial item. This variable can be of type PolygonGeo, Polygon2D, etc.
Remark: The "FOR EACH File" syntax is available but not recommended, as it doesn't use spatial indexes and is therefore not optimized. In this case, the entire data file is looped through: spatial indexes are not used. FOR EACH File IF WLanguage_function(File.Spatial_item, Spatial_variable) = True THEN ... END END Business / UI classification: Business Logic
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|