Difference between revisions of "Geometry Functions"
Jump to navigation
Jump to search
(Created page with ' File:GeometryFunctions.png') |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | [[Tools]] | ||
+ | |||
+ | [[File:GeometryFunctions.png]] | ||
+ | |||
+ | Geometry Functions is a very complete tool for geometry processing. How it works depends on the geometry function you choose and on the following options : | ||
+ | |||
+ | ''Use Selected Features Only'' - If checked, only selected features '''of the source layer''' will be processed. If not checked, each feature of the source layer will be processed. | ||
+ | |||
+ | ''Create new layer for result'' - With this default option, result will be output in a new layer. | ||
+ | |||
+ | ''Update Source features with the result'' - This option is useful to update a layer. Processed feature geometries will be replace source ones. | ||
+ | |||
+ | ''Add Result to source layer'' - May be useful to add new features to a layer while keeping original ones. | ||
− | [[ | + | * '''Geometry functions using a layer and a mask''' - A mask is a layer containing a single geometry. The following functions will compare each geometry of the source layer to the mask. Note that the single geometry contained in the mask may be a MultiGeometry but not a GeometryCollection. The result contains as many features as the source layer. |
+ | ** '''Intersections''' - Creates features which are the intersection of source feature geometries with the mask. | ||
+ | ** '''Union''' - Creates features which are the union of each single feature of source layer with the feature geometry of mask. | ||
+ | ** '''Difference (A-B)''' - Substract geometry of the mask to each feature of the source layer. You can for example clean a layer by removing parts of feature geometries overlapping the ocean surface.. | ||
+ | ** '''Difference (B-A)''' - You may want to do the opposite : remove feature geometries from ocean area. | ||
+ | ** '''Symmetric difference''' - Symmetric difference will keep the part of source geometries which does not intersect the mask with the part of the mask which does not intersects the source geometry. | ||
+ | * '''Geometry functions using a single layer''' | ||
+ | ** '''Centroid of A''' - Computes the centroid of each feature geometry. The centroid is equal to the centroid of the set of component Geometries of highest dimension (since the lower-dimension geometries contribute zero "weight" to the centroid). | ||
+ | ** '''Interior Point''' - Computes an interior for each feature Geometry. An interior point is guaranteed to lie in the interior of the Geometry, if it possible to calculate such a point exactly. Otherwise, the point may lie on the boundary of the geometry. | ||
+ | ** '''Buffer''' - Computes a buffer for each geometry. Just take a distance paramater. If you need more options, use Analysis > Buffer... tool. | ||
+ | ** '''Simplify (D-P)''' - Simplify each geometry using the Douglas-Peucker algorithm. Ensures that any polygonal geometries returned are valid. Simple lines are not guaranteed to remain simple after simplification. Note that in general D-P does not preserve topology - e.g. polygons can be split, collapse to lines or disappear holes can be created or disappear, and lines can cross. To simplify geometry while preserving topology use TopologyPreservingSimplifier. (However, using D-P is significantly faster). | ||
+ | ** '''Simplify (Preserve Topology)''' - Simplifies each geometry, ensuring that the result is a valid geometry having the same dimension and number of components as the input. The simplification uses a maximum distance difference algorithm similar to the one used in the Douglas-Peucker algorithm. | ||
+ | ** '''Densify''' - <span style="color:red">'''[New in OpenJUMP 1.6]'''</span> Densify a geometry by adding a pont every xxx units. | ||
+ | ** '''Concex Hull''' - Returns convex hull of each geometry. Convex hull dimension depends on the input geometry. Convex hull of a point is a point, convex hull of a straight line or a multipoint made of two points is a linestring, convex hull of a complex (multi)linestring or a (multi)polygon is a polygon. | ||
+ | ** '''Boundary''' - Returns the boundary, or an empty geometry of appropriate dimension if the geometries are empty. (In the case of zero-dimensional geometries, ' an empty GeometryCollection is returned.) For a discussion of this function, see the OpenGIS Simple Features Specification. As stated in SFS Section 2.1.13.1, "the boundary of a Geometry is a set of Geometries of the next lower dimension." | ||
+ | ** '''Envelope''' - Returns rectangular envelope of each geometry. Envelope can be a point (for point geometry) or a linestring (ex. horizontal linestring). | ||
+ | ** '''Reverse Line Direction''' - Reverse the orientation of each linear element. Polygon boundaries are also reversed. '''Warning''' : lines are reversed on the new layer '''AND on the source layer''', which must be considered as a bug. | ||
+ | * '''Geometry functions usually working on a set of geometries)''' - Following functions are also applied to each geometry of the source layer. To make them useful, you'll probably have to combine input features into a single multi-geometry first, then explode the result. | ||
+ | ** '''Line Merge''' - Merge contiguous lines of a multilinestring. Linestring are not merged if the order of their common node is 3 or more (A-B and B-C are merged, but A-B, B-C and B-D are not merged). | ||
+ | ** '''Line Sequence''' - Lines of the multilinestring are not merged, but they are oriented so that the end of a line equals the start of the following one, while preserving the original orientation as much as possible. For a complete description, see the [http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/operation/linemerge/LineSequencer.html javadoc]. | ||
+ | ** '''Polygonize''' - Build polygons from a set of '''noded''' linestrings. Noded means that there should be a node at each intersection, not only a vertex. To achieve that, you may have to compute intersections first. Note that there is a more complete Polygonizer in the Edit Geometry menu. |
Latest revision as of 12:09, 6 May 2012
Geometry Functions is a very complete tool for geometry processing. How it works depends on the geometry function you choose and on the following options :
Use Selected Features Only - If checked, only selected features of the source layer will be processed. If not checked, each feature of the source layer will be processed.
Create new layer for result - With this default option, result will be output in a new layer.
Update Source features with the result - This option is useful to update a layer. Processed feature geometries will be replace source ones.
Add Result to source layer - May be useful to add new features to a layer while keeping original ones.
- Geometry functions using a layer and a mask - A mask is a layer containing a single geometry. The following functions will compare each geometry of the source layer to the mask. Note that the single geometry contained in the mask may be a MultiGeometry but not a GeometryCollection. The result contains as many features as the source layer.
- Intersections - Creates features which are the intersection of source feature geometries with the mask.
- Union - Creates features which are the union of each single feature of source layer with the feature geometry of mask.
- Difference (A-B) - Substract geometry of the mask to each feature of the source layer. You can for example clean a layer by removing parts of feature geometries overlapping the ocean surface..
- Difference (B-A) - You may want to do the opposite : remove feature geometries from ocean area.
- Symmetric difference - Symmetric difference will keep the part of source geometries which does not intersect the mask with the part of the mask which does not intersects the source geometry.
- Geometry functions using a single layer
- Centroid of A - Computes the centroid of each feature geometry. The centroid is equal to the centroid of the set of component Geometries of highest dimension (since the lower-dimension geometries contribute zero "weight" to the centroid).
- Interior Point - Computes an interior for each feature Geometry. An interior point is guaranteed to lie in the interior of the Geometry, if it possible to calculate such a point exactly. Otherwise, the point may lie on the boundary of the geometry.
- Buffer - Computes a buffer for each geometry. Just take a distance paramater. If you need more options, use Analysis > Buffer... tool.
- Simplify (D-P) - Simplify each geometry using the Douglas-Peucker algorithm. Ensures that any polygonal geometries returned are valid. Simple lines are not guaranteed to remain simple after simplification. Note that in general D-P does not preserve topology - e.g. polygons can be split, collapse to lines or disappear holes can be created or disappear, and lines can cross. To simplify geometry while preserving topology use TopologyPreservingSimplifier. (However, using D-P is significantly faster).
- Simplify (Preserve Topology) - Simplifies each geometry, ensuring that the result is a valid geometry having the same dimension and number of components as the input. The simplification uses a maximum distance difference algorithm similar to the one used in the Douglas-Peucker algorithm.
- Densify - [New in OpenJUMP 1.6] Densify a geometry by adding a pont every xxx units.
- Concex Hull - Returns convex hull of each geometry. Convex hull dimension depends on the input geometry. Convex hull of a point is a point, convex hull of a straight line or a multipoint made of two points is a linestring, convex hull of a complex (multi)linestring or a (multi)polygon is a polygon.
- Boundary - Returns the boundary, or an empty geometry of appropriate dimension if the geometries are empty. (In the case of zero-dimensional geometries, ' an empty GeometryCollection is returned.) For a discussion of this function, see the OpenGIS Simple Features Specification. As stated in SFS Section 2.1.13.1, "the boundary of a Geometry is a set of Geometries of the next lower dimension."
- Envelope - Returns rectangular envelope of each geometry. Envelope can be a point (for point geometry) or a linestring (ex. horizontal linestring).
- Reverse Line Direction - Reverse the orientation of each linear element. Polygon boundaries are also reversed. Warning : lines are reversed on the new layer AND on the source layer, which must be considered as a bug.
- Geometry functions usually working on a set of geometries) - Following functions are also applied to each geometry of the source layer. To make them useful, you'll probably have to combine input features into a single multi-geometry first, then explode the result.
- Line Merge - Merge contiguous lines of a multilinestring. Linestring are not merged if the order of their common node is 3 or more (A-B and B-C are merged, but A-B, B-C and B-D are not merged).
- Line Sequence - Lines of the multilinestring are not merged, but they are oriented so that the end of a line equals the start of the following one, while preserving the original orientation as much as possible. For a complete description, see the javadoc.
- Polygonize - Build polygons from a set of noded linestrings. Noded means that there should be a node at each intersection, not only a vertex. To achieve that, you may have to compute intersections first. Note that there is a more complete Polygonizer in the Edit Geometry menu.