-
Thiessen: Generation of Thiessen polygons
Access this help text as a web page: Thiessen
Presentation and options
This application generates, from a layer that contains a set of point-type vector entities, a layer of polygons that will contain the corresponding Thiessen polygons.
Generate Thiessen polygons adjusted to the scope of the source file:
Generate Thiessen polygons adjusted to the limits defined by the selection of origin points.
Generate Thiessen polygons by specifying the output scope.:
Generate Thiessen polygons by specifying the output scope.
Generate Thiessen polygons clipped by a file as a mask:
Generate Thiessen polygons clipped by a file as a mask.
Thiessen polygons result from generating a partition of space into areas of proximity around the provided points, where each resulting polygon defines the closest area to each point. Thus, Thiessen polygons are the method typically used to interpolate categorical data collected at sampling points (for interpolation of quantitative data collected with sampling points, use the InterPNT: Interpolate between points application).
In the Thiessen application the proximity to each point is determined by Euclidean distance. For this purpose, first the program constructs a Delaunay triangulation joining the origin points (as provided by the CreaTIN: Generating a TIN from a point cloud application). Starting from the midpoint of each side of each triangle, perpendicular lines are drawn that, once intersected with the other perpendiculars of the other sides and discarding the segments beyond the intersections, will form the sides of the polygons (the intersections will be the vertices of the polygons).
Once the entire area has been tessellated, each polygon inherits the attributes of the single point left inside it. Additionally, adjacent polygons that have identical attributes in the given database field specified by the user are merged (so there may be polygons that contain more than one of the original points when those points have the same attribute).
The application allows the creation of Thiessen polygons from all the points of the origin layer or to perform a selection by attributes to obtain a subgroup from which to perform the triangulation.
For example, a polygon layer can be created from health care facilities in a certain area. The result, shown in the image below, will be a polygon-type layer corresponding to the influence area of each selected healthcare facility.
The bounding box of the resulting file can be set either from the envelope of the points, or by specifying the coordinates of a rectangle (which can be automatically inherited from the bounding box of another layer), or by providing a layer to act as a mask. In the latter case, the layer can be a polygon layer (in POL or VEC format) or a raster (in IMG format, in which the bounding box of the cells with data acts as the region of interest).
The program can, optionally, keep the layer with the Delaunay triangulation that has been used to build the polygons. This is especially useful in educational environments for a better understanding of the origin of each polygon. The following image shows the Delaunay triangulation applied in the previous example of creating the influence areas of healthcare facilities.
Note 1: Since Delaunay triangulation does not provide a single solution in certain point distributions, it may happen that the resulting Thiessen polygons with this application be different from those obtained with other computer applications.
Note 2: The name comes from the meteorologist Alfred H. Thiessen; the polygons obtained are equivalent to the Voronoi tessellation (from the mathematician Georgy Voronoy) and to the Dirichlet tessellation (from the mathematician Johann Peter Gustav Lejeune Dirichlet).
For more information, see the following reference:
https://en.wikipedia.org/wiki/Voronoi_diagram

Dialog box of the application

Syntax
Syntax:
- Thiessen InputFile OutputFile MergeAttrib Option [/COND#_VALOR] [/COND#_CAMP] [/TIN] [/COND#_OP] [/COND#_NEXE] [/COND#_PRIOR] [/CONSIDER_NODATA]
- Thiessen InputFile OutputFile MergeAttrib Option XMin MaxX MinY MaxY [/COND#_VALOR] [/COND#_NEXE] [/COND#_PRIOR] [/COND#_CAMP] [/COND#_OP] [/TIN] [/CONSIDER_NODATA]
- Thiessen InputFile OutputFile MergeAttrib Option MaskFile [/COND#_VALOR] [/COND#_CAMP] [/COND#_NEXE] [/COND#_PRIOR] [/COND#_OP] [/TIN] [/CONSIDER_NODATA]
Options:
- Option for scope of the resulting file. Can be:
- 0: Fit to bounds defined by origin point selection
- 1: Specify scope
- 2: Crop the result using a file as a mask
- Option for scope of the resulting file. Can be:
- 0: Fit to bounds defined by origin point selection
- 1: Specify scope
- 2: Crop the result using a file as a mask
- Option for scope of the resulting file. Can be:
- 0: Fit to bounds defined by origin point selection
- 1: Specify scope
- 2: Crop the result using a file as a mask
Parameters:
- InputFile
(Input file -
Input parameter): Input file of structured points in PNT format.
- OutputFile
(Output file -
Output parameter): Thiessen polygon output file.
- MergeAttrib
(Merge attribute -
Input parameter): Field of the source file used as the merge attribute of the generated Thiessen polygons.
- XMin
(Minimum x -
Input parameter): Minimum X of the scope of the resulting file.
- MaxX
(Maximum X -
Input parameter): Maximum X of the scope of the resulting file.
- MinY
(Minimum Y -
Input parameter): Minimum Y of the scope of the resulting file.
- MaxY
(Maximum Y -
Input parameter): Maximum Y of the scope of the resulting file.
- MaskFile
(Mask file -
Input parameter): Mask file used to trim the resulting file by the scope of this file.
Modifiers:
/COND#_VALOR= (Condition Value #) Value to use in the # condition of the selection. There can be up to 100 conditions and therefore up to 100 values (COND#_VALUE) starting at index 1. (Input parameter) /COND#_CAMP= (Condition Field #) Field name of the condition # of the selection. There can be up to 100 conditions and therefore up to 100 field names (COND#_CAMP). (Input parameter) /COND#_NEXE= (Condition link #) Link to use to link between successive selection conditions. In this case between condition # and condition #+1. There can be up to 100 conditions and therefore up to 99 nexus (COND#_NEXE) starting at index 1. (Input parameter) /COND#_PRIOR= (Condition nexus priority #) Priority of the link to use to link between successive selection conditions. In this case between condition # and condition #+1. There can be up to 100 conditions and therefore up to 99 priorities (COND#_PRIOR) starting with index 1. It is an optional parameter, where if not indicated, the priority is simply the order. (Input parameter) /COND#_OP= (Condition operator #) Operator to use in the # condition of the selection. There can be up to 100 conditions and therefore up to 100 operators (COND#_OP). (Input parameter) /TIN= (Delaunay triangulation file) Generate file with Delaunay triangulation. (Input parameter) /CONSIDER_NODATA (NoData values) Include NoData values in the query (Input parameter)
