From OpenJUMP Wiki
Jump to: navigation, search

Back to List of Functions

This paragraph is only a brief description of the functions in Tools Menu. The reading of VIVID SOLUTIONs JUMP Workbench User's Guide and Uwe Dallueges OpenJUMP 1.0.1 Basics Tutorial – is recomended for better explanation).


Users can customize queries on an opened project. Results can be selected and/or saved to a new layer.

  • Spatial Query... - Spatial Query works between two layers. It is possible to find spatial relationship (intersects, contains...) of the working layer (source layer) compared to another layer (mask layer). It is equivalent to SQL query SELECT Source.* FROM Source Join Mask On Source <relation> Mask. Such a query can output duplicates (which can be filtered with option Eliminate duplicates. Another option makes it possible to output the complement of the query instead of the query itself.
  • Attribute Query... - This query works inside a Source layer. User can find data which satisfies given attribute conditions. Condition may also be defined on geometry attribute (ex. geometry area is more than a numeric value, or has more points than a numeric value).
  • Simple Query... - This function opens a Query Builder window where users can define more query on their layers. Datas can be filtered according to their attribute type (String, Numeric or Geometric). Queries can be done either on a single layer or on more layers. More functions (length, surface, buffer ...) can be defined with operators.
  • Search All Attributes... - This function searches for a text in all layers. It can use regular expressions.


Geometrical analysis of features. Results are usually saved to a new layer.

  • Buffer... - This function creates a buffer around selected features if one or more geometries are selected or around all features if there is no feature selected.
    Update source layer - If one or more features are selected, this option will replace source geometries by the new buffered geometries instead of putting them ni a new layer. This action is undoable.
    Distance - The buffer size may be defined by a fixed value or by an attribute value. With polygons, using negative will create smaller polygons included in the source geometry.
    Number of segments - Buffer also supports to set the number of segments per circle quarter. May be useful to create lighter geometries as buffer tends to create geometries which have much more points than source geometries.
    Union option - Buffer tool provides an option to union the result.
    Keep attributes - Buffer copies feature attributes by default. If selected features have different schemas, only attributes from the selected layer schema are copied. Attribute copy can be turned off.
    Advanced options - A second panel offers the following advanced options : end cap style, join style and single sided buffers

For more information about the buffer plugin, see page Buffer PlugIn

  • Buffer (Multiple Rings)... - Unlike previous buffer tool, this one works only on selected features and there is no option to set end cap style or number of segments. There are buffer options to set up to 10 concentric buffers. User can set the distance and a label for each buffer individually. Unlike normal buffers, the new features do not overlap the inner areas. When multiple features are selected, overlapping Ring Buffers are unioned.
    Label - A label can be set and displayed for each ring.
    Color Theming - A Color theming can be applied to the result.
  • Buffer With Variable Width (Plume)... - This tool creates a buffer with a width varying from start point to endpoint. A single linestring must be selected. The user can set the radius of the two end points of the line.
  • Convex Hull on a Layer... - It creates a new layer containing the Convex Hull of all the features in the selected layer (Convex Hull is basically a linestring which contains al the features).
  • Convex Hull of Selection - This function creates a Convex Hull which contains selected features of one or more layers. The convex hull is saved in a new layer (Convex Hull layer). It directly applies to the selected features without opening a dialog box.
  • Union/Dissolve/Merge... - Unifies Union, Dissolve and Merge functions in a single interface.
    Simple Union will union all selected feaures, or all features of a selected layer.
    Use an attribute to dissolve will union features having a same attribute value. The user must choose the dissolving attribute and can optionally ignore features having null values for this attribute.
    Merge' is an option to merge resulting MultiLineStrings into a simple LineString if possible, as the basic union will always create MultiLineString from several LineStrings.
    Aggregate unused fields makes it possible to aggregate attributes which have not been used for dissolving. The default behaviour of aggregate function (concatenation for string and sum for numeric attributes) cannot be changed.
  • Geometry Functions... - This tool opens a dialog box offering many capabilies to operate on one layer or one layer and a mask (a mask is a layer containing exctly one feature). More on this tool here.
  • Offset Curves... [OpenJUMP 1.6] - Calculates offset curves from linestrings or from polygon boundaries. One can calculate rough offset curves using JTS OffsetBuilder which may produce many auto-intersections, or clean offset curves based on JTS single-side buffer method.
  • Overlay... - Overlaying two layers A and B creates a new layer containing a new feature for each intersection of a feature of A with a feature of B. Geometries appearing in one layer only are not included in the result. Overlay is generally used to process polygonal layers, but it works on any type of geometry.
    Limit output to polygon only - lineal or punctual parts of the result are removed.
    Transfer attributes from first layer - Keep attributes from first layer (attribute names are prefixed with A)
    Transfer attributes from second layer - Keep attributes from second layer (attribute names are prefixed with B)
  • Overlay Polygon Layers... - Overlaying two polygonal layers A and B creates a new layer containing polygonal features for each intersection of a feature of A and a feature of B, as well as each geometry part belonging to A and not B or to B and not A. Features from A not present in B inherit attributes from A only and features from B not present in A inherit attributes from B only.
  • Spatial Join... - Spatially joins two layers on a given spatial relationship (ex. create a new layer where features of the Source intersect features of the Target, or contains, etc.). Joined layers are saved in a new Join-* layer.
    Warning:Spatial join acts as the following SQL query :
    Example : if 3 features from target B intersect one feature from A, it will produce 3 features with the same A geometry and each B attribute.
    a) If layer A=buildings, spatial operation= intersect, layer B = landparcels, then it takes objects from Layer B as source (landparcels) and adds attributes from Layer A (buildings). The returned landparcels appear as often as buildings are inside them to ensure all attributes are transfered.
    b) If a=parcels, spatial op=intersect, b=buildings then it return all buildings with the attributes from the underlying parcel.
    Available spatial operators :
    intersects, contains, covers, is covered by, crosses, disjoint, equals, overlaps, touches, within
    is within distance : this operator takes a distance parameter,
    similar : using hausdorff distance, also takes a distance parameter
  • Spatial Join With Attribute Aggregation... - With this spatial join operator, if several source features are in relation with a single target feature, it will produce a single feature with geometry of target and an aggregation of source attributes.
    Available spatial operators :
    Source features contained in a target feature
    Source features intersecting a target feature
    Target feature is covered by source features
    Possible aggregate functions are :
    majority, minority, mean, median, minimum, maximum, standard deviation, sum
    Note :' There is also a plugin offering similar aggregation functions and a bit more.
  • Union... - This function creates a new layer (layer Union) containing the union of all the features of the selected layer. Superseded by the new Union/Dissolve/merge plugin
  • Create Tiessen Polygons... - This function creates a Delaunay triangolation and returns the Voronoi regions of all the point features of a layer


  • Plot
    • Create Scatter Plot... - Creates a scatter plot from a layer and two numeric attributes
    • Create Bar Plot... - Creates a bar plot from a layer and numeric attribute. Feature are represented on the x-axis and attribute value on y-axis.
    • Create Histogram Plot... - Creates a histogram from a layer, a numeric attribute, and a number of classes.
  • Classify Attribute... - Creates a layer and a histogram from a user-defined layer, numeric value, number of classes and a classification method. The new layer is a copy of the source layer with a new attribute containing the class features belong to.
    Classification methods :
    Equal Interval
    Quantile / Equal Number
    Mean Standard Deviation
    Maximal Breaks
    Jenk's Optimal Method
  • Calculate Mean and Variance Per Class... - Use it after an attribute classification. Choose the numeric value to calculate statistics from and the new attribute with classification information. It will add two new attributes with the mean value for the class and the variance of the class.
  • Layer Attribute Statistics... - Calculates statistical indices such as Minimum value, Maximum value, Mean value, Standard Deviation and Sum for each attribute of the layer. Layer statistics will be displayed in a output window.
  • Layer statistics... - Calculates basic statistics (e.g. area, number of vertices, etc.) of the features in a layer. Layer statistics will be displayed in a output window.
  • Feature statistics... - Creates a new layer containing geometry characteristics as attributes of each feature (e.g. area, number of vertices, etc.).


  • Random triangles - This function creates a new layer (Random triangles) and populates it with random triangle polygons.
  • Random arrows - A new layer is created and populated with random arrows
  • Create grid [OpenJUMP 1.6] - A plugin to create a regular grid covering the whole project, a selection of layers or a selection of features. It can produce the grid as points, lines or polygons.
  • Triangulation [OpenJUMP 1.6] - Triangulate sites contained in a layer (if the layer contains linestrings or polygons, each vertex is considered as a site). Optionally, a second layer containing constraint lines (or break lines) can be defined. This layer must contains linestrings or polygons. If the constraint layer contains polygons, you can exclude triangles located out of the polygons from the result.
  • Voronoï diagram [OpenJUMP 1.6] - Create a Voronoï diagram from a layer containing sites. Cells located on the border of the diagram are extended out of the layer bounding box, to a distance equal to the layer boundingbox size. Optionally, one can transfer attributes from the input site to the result cells.
  • Linear Referencing On Layer [OpenJUMP 1.7] - A plugin to create points along each linear geometries of a layer, given a distance and an offset. Distance can be positive or negative (from the start or from the end of the line). Offset can be positive or negative (left side or right side of the line). Distance can be expressed in map units or as a fraction of the line length. Points can be regularly repeated along the LineStrings (or MultiLineString).
  • Linear Referencing On Selection [OpenJUMP 1.7] - A plugin to create points along selected linear geometries, given a distance and an offset. Distance can be positive or negative (from the start or from the end of the line). Offset can be positive or negative (left side or right side of the line). Distance can be expressed in map units or as a fraction of the line length. Points can be regularly repeated along the LineStrings (or MultiLineString).


OpenJUMP can warp vector layers. Warping modifies all the features in a selected layer according to some specified parametres, like vectors. please see also the good documentation in VIVID SOLUTIONs Jump Workbench User's Guide, page 41 to 43.

  • Warping - It opens a warping dialog containing several buttons to create and delete warping vectors. Warping vectors are created in a new layer and the deformation of the source layer can be processed in one time, or incrementaly, after each vector addition. The triangulation used to interpolate the deformation can also be displayed.
  • Affine transformation (from warping vectors) - Applies an affine transformation from one, two or three warping vectors created in the Warping Vector Layer (see also Warping plugin). With one vector, the transformation will be a translation. With two vectors, it will be a helmert transformation, with 3 vectors, it will be an affine tranformation.
  • Affine Transformation (from parameters)... - This function applies an affine trasformation to all the features in a layer. Compared to Warp function, with the Affine Tranformation it is possible to set the coordinate of the Anchor Point. The transformation is specified by some factors like: Scaling, Rotating, Shearing and Translation. Transformation parametres can be computed from two layers containing baseline vectors.


Quality Assurance tools to make advanced spatial operations to analyze features in a layer. Results are saned in a layer in See VIVID SOLUTIONs Jump Workbench User's Guide, page 37 to 40 for better explanation.

  • Validate Selected layers - This tool is used to validate the topology of the features. Options are :
    Check basic topology : topology of each feature geometry is checked against the isValid method. Note that OpenJUMP has an option to prevent edits resulting in invalid geometries (see editing toolbox Options).
    Disallow repeated consecutive points : find features containing two or more similar consecutive point (equals 2D)
    Check polygon orientation : Check that polygons have their outer rings in the clockwise orientation and their inner rings in the counter clockwise orientattion
    Check minimum segment length : Check there is no segment under a user defined limit (units are those of the data, maybe meters, degrees or feet)
    Check minimum angle : Check there is no angle under a user defined limit (angle is in degrees)
    Check minimum area : Check there is no area under a user defined limit (units are those of the data, maybe square meters, square degrees or square feets)
    Check that LineStrings are simple : simple is different from valid. A self-intersecting polygon linearring is not valid while a self-intersecting linestring is valid but not simple.
    Geometry types validation : a second panel makes it possible to exclude certain kind of geometries considered as invalid for a particular application (example : exclude any polygon or multi-polygon with holes). See also the Edit > Selection > Select by Geometry Type... and the Edit > Extract > Extract Layer by Geometry Type menu and the
  • Calculate Geometry Difference... - This function finds differences between geometries or segments in two layers
  • Delete Empty Geometries in Selection - Users can delete empty geometries in selected features.
  • Delete Duplicate Geometries... - Users can delete geometries that appear twice ore more time in a layer.

Edit Geometries

The Edit functions provides more editing tools for the geometries in a layers. The results are saved in a new layer.

  • Convert
    • Extract Points - allows to extract vertices from lines or polygon and save them in a new layer as points
    • Extract common boundary between polygons... - Users can extract all boundaries from polygons. Where polygons touch only one boundary (line) is extracted.
    • Extract segments... - Users can extract all segmets from a layer. Some extra option are provided with this function: doubled segments can be eliminated and the resulting segments can be merged.
    • Polygonize... - all the enclosed areas inside crossed lines can be transformed in polygons. Optionally input data may be noded before polygonization.
    • Planar Graph - This function does a topologic analysis (calculate nodes, fence and their relation with arcs). Results are saved in separates layers with the same attributes of the original layer.
  • Node-Lines... - Users can extract segments from a layer or from selected features. The croosed point of two lines are transformeìd in nodes, the result lines are interrupted at the nodes. Superseded by new Noder PlugIn.
  • Noder... - Nodes or splits selected features or all features of a selected layer. Main options are :
    Processing - To decide if a new layer must be created or if the current layer must be updated
    Find intersections - Does missing nodes detection only
    Line Options - To choose if lines must be noded (insertion of intersections as vertices), split, or not processed at all.
    Polygon Options - - To choose if polygons must be noded (insertion of intersections as vertices), split, or not processed at all.
    Snap rounding - A technique making noding more robust by using fixed precision arithmetic (and rounding resulting coordinates)
    Z Interpolation - To add Z on added nodes.
    A complete documentation of this plugin is downloadable on project site.
  • Precision Reducer - This function reduces the precision of coordinates in a layer
  • Join-With-Arc - Two selected lines can be joined with an arch. Arc radius can be specified. This function works only with two lines, not with other geometrical features (points or polygons)
  • Blend Lines - Two or more lines which are in contact in a node can be blended in a new line. Users can choose the tolerance of the blend action. usually a tollerance between 1 to 10 is quite accurate.
  • Merge Two Polygons - Users can merge two o more selected polygons in a layer. Empty area in between of polygons are transformed in donuts.
  • Merge slected Polygons with Neighbours -
  • Split Polygon - With this function it is possible to cut one o more polygons in a layer. Cut polygon can be saved in a new layer or upgraded to the source one. To cut a Polygon: draw a linestring which cross the polygon exactly over the points you want to cut. Select both polygon and line. Click on Cut Polygons.
(Geometry function can alternate the original attribute value of features (ex. in Blend Polygons). New geometries created in new layers (ex polygonize or Node-Lines do not have attributes. Users must edit the new feature to set attributes)

Edit Attributes

These functions allow user to edit, modify and perform calculation on attributes from layer. Some tools work only on Editable layers.

  • Calculate areas and lengths.. - This function calculate areas and lenghts of selected features in a layer. The layer must be editable.
    TIP: to calculate the area or the lengh of a layer: create a new attribute field (ex. "Area") on the working layer. Make the working layer editable (Layer List Menu>Editable), on Tools>Analysis... select Calculate areas and lenghts.., select the layer and the Area attribute field and click OK. The new Area attribute field will be populated with the area values (in meters) of the selected layer
  • Auto Assign Attribute... - Users can assign a value on a fiield from an attribute or set an auto-incremental number or a combination of a value and an auto-incremental number .
  • Attribute Calculator - This function lets Users perform simple calculation on the records. User can choose type type and formulas. The tool create automatically a new field on the attribute table of the layer
  • Add Geometry Attributes [OpenJUMP 1.6] - Add one or several of the following attributes to a layer :
    • Add X ordinate of the first point
    • Add Y ordinate of the first point
    • Add Z ordinate of the first point
    • Add number of coordinates
    • Add number of holes
    • Add number of components
    • Add geometry length
    • Add geometry area
    • Add geometry type
    • Add geometry representation in WKT
  • Add 3D Geometry Attributes [OpenJUMP 1.6] - Add one or several of the following attributes to a layer (note that a special care has been paid to get a correct results in the case of geometries having some but not all z coordinates)
    • Add Z of the first point
    • Add Z of the last point
    • Add minimum Z of the geometry
    • Add maximum Z of the geometry
    • Add mean weighted Z of the geometry (z is weighted based on the segment length)
    • Add length 3d
    • Add maximum downslop
    • Add maximum upslope
    • Add maximum slope
    • Add Number of point without Z (NaN value)
    • Add Number of point with negative (Z < 0)
    • Add Number of point with null Z (z = 0)
    • Add Number of point with positive Z (z > 0)
  • Beanshell Attribute Calculator [OpenJUMP 1.6] - Users can compute a new attribute from a beanshell script. This is a very powerfull plugin, but it needs some knowledge about how to code a beanshell snippet. See the dedicated page. Note that calculated attribute can be made dynamic by checking the Dynamic checkbox. It means that the value is not stored in memory but evaluated on demand. You can download a screencast from here.
  • Join TXT table - Users can import datas from a .TXT or .TEXT file into a layer. New datas must have a Tab delimitated format (Note, the Pirol CSV plugin has advanced table reading functions, e.g. to import points from CSV files).


These functions mostly simplify a selected line or a polygon. Depending on the input data, two different tools are available:

  • Simplify (JTS algorithm) - line simplification with the Douglas-Peucker algorithm.
  • Simplify Polygon Coverage - polygon outline simplification with the Douglas-Peucker algorithm that can be applied to a polygon layer. The algorithm tries to avoid that simplified lines overlap. However, if this happens a smaller simplification value must be chosen.

Note, more generalization tools (expecially for building generalization) are available in the [mapgentoolbox] extension.


  • Measure in Feet - This function allows to measure a distance between two or more points. The distance is displayed both in feet and in metres on the bottom left side of OpenJUMP Workbench window.

<--- back to List of Functions