Geometric functions - ObjectVision/GeoDMS GitHub Wiki
Geometric functions calculate with geometries (coordinates) of points, arcs or polygons
point
- point_xy - make a point attribute based on an X and Y attribute
- point_yx - make a point attribute based on an Y and X attribute
- point_isNearby - compare if two points are (almost) the same location
- PointRow - get the row numbers of a point attribute
- PointCol - get the column numbers of a point attribute
- Get_X - get the x coordinate of a point attribute
- Get_Y - get the y coordinate of a point attribute
- dist(ance) - calculate the distance between two point sets
- sq(ua)r(e)dist(ance) - calculate the square distance between two arrays of points
- bg_buffer_point - creates a buffer polygon for each point in a pointset
- point - DEPRECIATED: make a point attribute based on an X and Y attribute
polygon
- area - calculates the surface area of each polygon
- centroid - center of mass of each polygon
- centroid_or_mid - the centroid if it is located within a polygon or else a mid-point of a polygon.
- poly2grid - a grid representation of polygons
- poly2grid_untiled - a grid representation of polygons
- poly2allgrids - a cross-table representation of polygons and raster cells
- poly2allgrids_uint64 - a uint64 cross-table representation of polygons and raster cells
- lower_bound - the lowest X and Y values of the points in each polygon
- upper_bound - the highest X and Y values of the points in each polygon
- center_bound - the center X and Y values of the points in each polygon
- points2polygon - functions to create polygons from sequences of points
- sub (difference) - a cutout of a polygon in another polygon, where both domains match or one is void
- mul (polygon intersection) - the overlap of two arrays of polygons, where both domains match or one is void
- add (union) - the element-by-element union of two polygons, where both domains match or one is void
- box_connectivity - domain unit with the connected polygons based on their bounding box (this should be less precise but faster than polygon_connectivity)
boost polygon library (usually slower than the bg_-variants, and can only process integer coordinates):
Operators based on the- bp_split_polygon (or old syntax split_polygon) - domain unit with all single polygons
- [bp_split_union_polygon]] (or old syntax [[split_partitioned_union_polygon]]) - combination of [[split_polygon]] and [partitioned_union_polygon
- polygon inflated - increases each polygon
- polygon deflated - decreases each polygon
- polygon_connectivity - domain unit with the connected polygons
- bp_union_polygon (or old syntax union_polygon (dissolve) or partitioned_union_polygon (dissolve by attribute)) - remove lines of adjacent polygons, optionally grouped by a relation*
- bp_overlay_polygon (or old syntax overlay_polygon
- bp_polygon
Several boost polygon functions can be combined in a single operator; for the full list of those combinations, see here
boost geometry library (usually faster and can process float64 (a.k.a. double) coordinates):
Operators based on the- bg_simplify_single_polygon - simplify the geometry of a single polygon, see for documentation: bg_simplify_multi_polygon
- bg_simplify_multi_polygon - simplify the geometry of a multi polygon
- bg_buffer_single_polygon - creates a buffer polygon for each single polygon; see for documentation: bg_buffer_multi_polygon
- bg_buffer_multi_polygon - creates a buffer polygon for each multi polygon
- bg_outer_single_polygon - selects only the outer ring of a single polygon; see for documentation: bg_outer_multi_polygon
- bg_outer_multi_polygon - selects only the outer ring of a multi polygon
- bg_intersect - intersect the polygon arguments, where both domains match, or one is void
- bg_difference - takes the difference of the polygon arguments, where both domains match or one is void
- bg_union - union the polygon arguments, where both domains match or one is void
- bg_xor - xor the polygon arguments, where both domains match or one is void
- bg_overlay_polygon - see overlay_polygon
- bg_simplify_polygon - DEPRICIATED simplify the geometry of a polygon
- bg_split_polygon
- bg_union_polygon
- bg_split_union_polygon
- bg_polygon
- bg_polygon_connectivity
For examples, see here.
points/arcs
- dyna_point / dyna_point_with_ends - configures a point set for an arc on an equal distance
- dyna_segment / dyna_segments_with_ends - configures a segment set for an arc on an equal distance
points/polygons
- point_in_polygon - index number of the polygon in which a point is located
- point_in_ranked_polygon - index number of the polygon in which a point is located, using a ranking in case a polygon is located in multiple polygons
- point_in_all_polygons - relation between index numbers of the polygons in which points are located
- sequence2points - all vertices of each arc/polygon as separate points
- points2sequence - constructs arc/polygon from vertices
arc/polygon
- arc_length
- mls_length
- split_multi_linestring
- [arc2segm]] - divides an arc/polygon data item into [segments
- arc2segm_uint64 - a variant of the arc2segm function resulting in uint64 data items
- bg_simplify_linestring - simplifies the geometry of an arc
- bg_buffer_linestring - creates a buffer polygon for each arc
- bg_buffer_multi_point- creates a buffer polygon for each coordinate of the arc/polygon
points/arcs/polygons
conversion
- RD2LatLongWgs84 - converts coordinates from RD to LatLongWgs84
- LatLongWgs842RD- converts coordinates from LatLongWgs84 to RD
- RD2LatLongGE- converts coordinates from RD to LatLongGE
- RD2LatLongEd50- converts coordinates from RD to LatLongEd50
- RD2LatLong- converts coordinates from RD to LatLong