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)

Operators based on the boost polygon library (usually slower than the bg_-variants, and can only process integer coordinates):

Several boost polygon functions can be combined in a single operator; for the full list of those combinations, see here

Operators based on the boost geometry library (usually faster and can process float64 (a.k.a. double) coordinates):

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

arc/polygon

points/arcs/polygons

conversion