The following sections provide detailed technical information
about Patchworks system internals.
Table of Contents
- Patchworks Technical Support
- Coverage
- Availability
- Reporting Bugs
- Upgrades
- Answers to Frequently Asked Questions
- Licensing
- Installation and Product Activation
- Performance
- Technical Support
- Modelling with Patchworks
- Target Troubles
- Customizing Patchworks
- XML Questions
- Matrix Builder Questions
- Woodstock Conversion Questions
- ForestModel References
- ForestModel — The main enclosing element for the ForestModel XML
document
- table — a table of data elements that can be used as a lookup
table
- define — defines inventory fields and variables
- exec — executes commands in an external command processor
- script — a container for commands to be run by the exec element
- assign — reassigns values to fields
- input — declares input file fields
- output — defines output filenames
- attribute — a curve that describes a feature or product related to
selected stratum
- attributes — collection of similar attributes
- expression — A simple linear equation that describes the vertices that
make up time series data
- curve — describes the vertices that make up time series data
- point — provides inflection points of a curve
- curvetable — a row- or column-oriented table of curves that make up
time series data
- column — specifies conversion parameters for a column in a
curvetable
- select — defines eligibility for a given stratum of inventory
- succession — specifies overstory breakup timing, renewal timing and
change in forest characteristics
- track — a collection of possible treatments
- treatment — define a management treatment and the stand
response
- package — defines a treatment package composed of a sequence of
treatments
- produce — allows for assignment of stratification values during the
resolution of product values
- transition — update stratification values after a treatment has been
applied
- features — defines a collection of feature attributes
- products — defines a collection of product attributes for the
selection
- retention — optional within block retention definition
- repeat — repeat the enclosed block with variable substitution
- Road network data model
- Vertices
- Segments
- Destinations
- Linkages
- Linkages
- Costs
- Intersection
- Patchworks Applications
- Compose Animation — Creates a GIF format animation from multiple input image files.
- Dissolve Polygons — A simple polygon dissolve utility
- Extract curves from an XML file — Extract curves from a ForestModel XML file, and saves the values in CSV format.
- Generate Lattice —
Create a lattice of line segments in ESRI generate format
- GridASCII — Creates an ASCII format grid file from an ESRI
binary grid file.
- Console — The IProperties program opens a command console
through which the user can execute scripts using a Java-like language.
- Compute Zone Majority (raster) — A tool to compute overlaps between polygons in a
base coverage and a zone coverage using a raster algorithm
- Compute Zone Majority (vector) —
- Map Viewer —
A general purpose map viewer tool
- Build Road Segments —
- PolyGrid — Rasterize a polygon file
- Matrix Builder —
- Proximal Topology (raster) — program to generate,using a raster based
algorithm, polygon distances to neighbouring polygons.
- Polygon Splitter — Program to split polygons into
pieces
- Proportional allocation — Calculates a proportional allocation for succession and treatment response outcomes based on the STRAP algorithm.
- Inspect Tracks — Visually review track data sets.
- SFMM Model Conversion — A program to convert SFMM input files to ForestModel
XML format
- Woodstock Model Conversion —
Woodstock to ForestModel XML conversion wizard.
- CurveBuilder — Reads in curve files and writes out CSV files that are
suitable as input to the Matrix Builder.
- Patchworks Attributes Tables
- The Block Attribute Table
- The Target Table
- The Performance Table
- The Timing Constraints Table
- Route Tables
- The Network Table
- Patchworks Query Language
- Data Types
- Data values
- Data base values
- Literal values
- Operators
- Functions
- Mathematical functions
- abs — Returns the absolute value of the input number.
- ageclass — This functions will convert an age to an age class
category.
- ceil — Rounds a number up to the next nearest mathematical
integer value.
- exp — Returns e raised to the power of number
- floor — Rounds a number down to the next nearest mathematical
integer value.
- inrange — Test if a numeric value is within to other values.
- int — Converts the input number or string into an integer
value.
- isinfinite — Test if a value represents an infinite value.
- isnan — Test if a value represents an invalid value (Not A
Number).
- log — Returns natural logarithm (base e) of a
number
- max — Returns the largest value in a set of values.
- min — Returns the smallest value in a set of values.
- number — Converts the input number or string into an double
precision number value.
- percent — Return the first value as a percentage of the second
number.
- pow — Return the result of a number raised to a power.
- random — Return a pseudo random value between 0 and 1.
- round — Returns the closest integer to the argument.
- sqrt — Returns the correctly rounded positive square root of a
number.
- String functions
- capitalize — Convert the first character in a string to upper case.
- endswith — Tests if a string ends with the specified suffix.
- format — Returns a formatted string using the specified format
string and arguments.
- indexof — Return the starting position of a substring within a
string.
- lastindexof — Return the starting position of a substring within a
string, searching from the end forward.
- left — Return the specified number of characters from the
start of a string.
- length — Return the length of a string.
- lower — Convert a string to lower case.
- matches — Tests if a string matches with a regular
expression.
- matchgroup — Extract a substring from a string using a regular
expression.
- q — Quote a literal string to prevent interpretation of
special characters
- replaceall — Return a string replacing all occurrences of one
substring with another.
- right — Return the specified number of characters from the end
of a string.
- spcomp — Return a percent species composition value from species
composition string like used by the Ontario MNRF. In the
alternate form encode a series of values in to a species
composition string.
- startswith — Tests if a string starts with the specified suffix.
- string — Converts the input value into a string value.
- substitutionlist — Return a string value based on a list of alternate
translation expressions
- substring — Returns a string that is a substring of this
string.
- trim — Trim white space from the beginning and ending of a
string.
- upper — Convert a string to upper case.
- Lookup functions
- lookuplist — Extract a value from a list.
- lookuprange — Extract a value from a list using a range lookup.
- lookuptable — Extract a value from a list.
- map — Extract a value from a list.
- tablemap — Extract a value from a list.
- tablerange — Extract a value from a table using a range lookup.
- range — Classifies a number in to a numeric range category.
- Control functions
- catch — Evaluate an expression and handle error conditions.
- error — Raise an error condition.
- eval — Evaluate the contents of string as an expression.
- if — Return alternate values depending on the value of a
condition.
- Curve functions
- attribute — Return a reference to an attribute curve that has the
matching attribute label.
- attributeid — Return a reference to an attribute definition that has
the matching id value.
- curve — Return a curve defined by a series of X and Y points.
- curvefloor — Reshape a curve to not have values descending below a
floor value.
- curveid — Return a reference to curve definition that has the
matching id value.
- curvematch — Return a reference to curve definition that fully or
partially matches to the provided arguments.
- curvemaxx — Return the highest x value in the curve.
- curvemaxy — Return the highest y value in the curve.
- curveminx — Return the lowest x value in the curve.
- curveminy — Return the lowest y value in the curve.
- discount — Return discount curve.
- domainof — Return the first value on the domain axis for the
specified value from the range axis.
- lookupcurve — Return the interpolation of a value along a curve.
- mai — Return a mean annual increment curve.
- operable — Return a feature curve that is trimmed to the operable
timing.
- shiftcurve — Return a curve that has been shifted by a specified
amount.
- ytp — Return the age of the highest point along a curve.
- List functions
- append — Append one or more values or lists in to a single
list
- curvenames — Return a list of all names in the curve
library
- filter — Filter a list by matching and extracting patterns
- join — Join elements of a list to form a string.
- list — Return a list of values.
- reverse — Reverse the ordering of elements in a list.
- sort — Sort a list into the natural of the
elements
- split — Split a string and return a list of strings.
- tablelist — Extract a list of values from a lookup
table
- unique — Remove duplicate items from a list
- Data functions
- area — Return the area of a polygon.
- asboolean — Provides a type hint to the containing element that it
is expecting a boolean value.
- asint — Provides a type hint to the containing element that it
is expecting an integer value.
- aslist — Provides a type hint to the containing element that it
is expecting a list value.
- asnumber — Provides a type hint to the containing element that it
is expecting a number value.
- asstring — Provides a type hint to the containing element that it
is expecting a string value.
- boolean — Converts the input value into a boolean value.
- column — Return a value from the data table.
- columntest — Return a value from the data table or a default
expression.
- dominantcolumn — Return the name of the column having the highest value.
- getenv — Return the value of an environment variable.
- getvar — Return the value of previously saved value.
- length — Return the length of a line feature.
- nonzerocolumn — Return the name of the first matching column having a
nonzero value.
- offset — Return the offset (year in the future) for the current
calculation.
- period — Return the planning period for the current calculation.
- row — Return the data row number for the current calculation.
- setvar — Evaluate an expression, save and return the
value.
- summarizecolumns — Add the values from all columns that match the regular
expression.
- summarizeperiods — Add the values of an exprssion over a set of
periods.
- year — Return the year in the future (offset) for the current
calculation.
- Selection functions
- intersection — Return the set of features from the polygon table that
are intersected by selected features in the network table.
- neighbours — Return the set of polygon features that are neighbours
of a selected set of polygon features.
- selectbylocation — Return a selection of records based on a proximity to
selected features in a second data source.
- selected — Return a true if the record is in the selected set,
false otherwise.
- selection — Return a selection of records based on an
expression.
- Data type promotion
- Examples
- Regular Expressions
- Report Syntax
- Common Parameters to all Report Constructors
- Index Report
- Parameters and Constructors
- Example PIN File Definition
- Multiple Target Report
- Parameters and Constructors
- Example PIN File Definition
- Target Limit Report
- Parameters and Constructors
- Example PIN File Definition
- Text Report
- Parameters and Constructors
- Example PIN File Definition
- Period Pattern Report
- Parameters and Constructors
- Example PIN File Definition
- Period Category Report
- Parameters and Constructors
- Example PIN File Definition
- Category Pattern Report
- Parameters and Constructors
- Example PIN File Definition
- Category Category Report
- Map Report
- Parameters and Constructors
- Example PIN File Definition
- Patch Report
- Parameters and Constructors
- Example PIN File Definition
- Objective Progress Report
- Parameters and Constructors
- Example PIN File Definition
- Range Indicator Chart Report
- Parameters and Constructors
- Example PIN File Definition
- Box and Whisker Chart Report
- Parameters and Constructors
- Route Cost Report
- Parameters and Constructors
- Example PIN File Definition
- Table Query Report
- Parameters and Constructors
- Example PIN File Definition
- Raster Remap Report
- Parameters and Constructors
- Patchworks script library
- 00_startup —
Patchworks system initialization script.
- adjustWeightsRelative —
This script will adjust the weight values so that the
accounts will compete against each other in an equitable
manner.
- analyze —
These methods can be used to control the duration of a
simulation.
- analyze_safe —
This method is similar the the analyze method, but it will
periodically save out the scenario files in order to protect against
power failures or other interuptions.
- changeToScriptDirectory —
This script will change the working directory into
the directory of the active calling script.
- clearTargets —
This method will turn all targets to inactive.
- confirm —
This method will present a dialog box and query
for an 'Ok' or 'Cancel' answer.
- copyTable —
Copy a table to a text file, in simple CSV format.
- filterCSV —
This routine will read a CSV file and create a copy that
contains only the selected records.
- findInFeaturesFile —
This script will search through a 'features.
- guiControl —
This code in this method assists in controlling and customizing the
Patchworks user interface.
- loadScripts —
This method will load all of the BeanShell scripts from a specified
folder.
- loadSrnvTargets —
This script will assist in defining reports and setting targets
for the Ontario Landscape Guide prescriptive indicators.
- lockExclusives —
Set the locking status for an exclusive account
for all selected blocks in the block table.
- makeAnimation —
The methods in this file will create simple GIF
animations from a series of images.
- makeZip —
These methods will create a Zip archive containing the contents
of a specified folder.
- maximizeSustainableYield —
This method implements a binary-search sustainable harvest level
calculator, written by Greg Paradis.
- objective —
The methods in this file are useful for setting up
scenario automation using ScenarioSets.
- pause —
These methods will present a dialog box and pause until clicked.
- reloadExclusiveLocks —
Reload the all of exclusive account locks from a
previously saved scenario.
- reloadExclusives —
Reload the all of exclusive account options from a
previously saved scenario.
- reloadRoutes —
Reload the all of route files from a
previously saved scenario.
- reloadScenario —
Reload the all of scenario data from a
previously saved scenario.
- reloadSchedule —
Reload the schedule data from a
previously saved scenario.
- reloadTargets —
Reload the target data from a
previously saved scenario.
- reloadTimingConstraints —
Reload the timing constraint data from a
previously saved scenario.
- resaveReports —
These methods are used to load up and save out scenarios.
- routeDefinition —
Route and product definitions.
- safelyRenameFile —
Rename a file to a backup, and then rename the replacement.
- select —
This script will present a dialog box and query
for a list selection
.
- selectivelyCancelTreatments —
This script will cancel treatments based on a selection criteria
and a range of periods.
- setActive —
Toggle target activation status for a target.
- setInitialAnnual —
These methods will set the initial target values of the
specified target.
- setInitialPeriodic —
These methods will set the initial target values of the
specified target.
- setMaxWeight —
These methods will set the maximum weight values of the
specified target.
- setMaximum —
These methods will set the maximum target values of the
specified target.
- setMaximumAnnual —
These methods will set the maximum target values of the
specified target.
- setMaximumPeriodic —
These methods will set the maximum target values of the
specified target.
- setMinWeight —
These methods will set the minimum weight values of the
specified target.
- setMinimum —
These methods will set the minimum target values of the
specified target.
- setMinimumAnnual —
These methods will set the minimum target values of the
specified target.
- setMinimumPeriodic —
These methods will set the minimum target values of the
specified target.
- setOptions —
This script will display a menu listing the BeanShell variables
that were specified in the input list.
- setTarget —
This method will set the minimum and maximum target values of the
specified target.
- setTargetAnnual —
This method will set the minimum and maximum target values of the
specified target.
- setTargetPeriodic —
This method will set the minimum and maximum target values of the
specified target.
- showTargetMenu —
Apply a list of targets.
- simulate —
Simple sequential simultion model.
- sourceGlobal —
Source a Beanshell script into the global context.
- tempFile —
These methods create unique, not previously used file names.
- Advanced Scripting
- Creating a Core Boundary — The Core Boundary script creates a shape file that
contains core areas which include interspersions and inclusions.
-
Global Variables Used by the Patchworks System
- Release notes
- May 2023
- March 2023
- February 2023
- January 2023
- December 2022
- November 2022
- October 2022
- September 2022
- August 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- October 2021
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- October 2018
- September 2018
- August 2018
- July 2018
- June 2018
- May 2018
- April 2018
- March 2018
- January 2018
- December 2017
- November 2017
- October 2017
- September 2017
- August 2017
- July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- November 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- October 2013
- August 2013
- July 2013
- June 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- April 2012
- March 2012
- February 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- August 2006
- July 2006
- May 2006
- April 2006
- March 2006
- January 2006
- December 2005
- November 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
- April 2005
- March 2005
- February 2005
- January 2005
- December 2004
- November 2004
- September 2004
- August 2004
- July 2004
- June 2004
- October 2003
- September 2003
- July 2003
- June 2003
- February 2003
- September 2002
- August 2002
- July 2002
- June 2002
- March 2002
- December 2001
- November 2001
- Copyright statements
- Patchworks copyright, license and warranty
- Third-Party Licenses
- Apache Commons Collections
- Apache Commons Compress
- Apache Commons IO
- Apache Commons Math: The Apache Commons Mathematics Library
- Apache Log4j 2 API
- Apache POI
- Apache POI OOXML
- Apache POI OOXML Schemas - Lite version
- Apache XMLBeans
- ASM
- BeanShell
- Cmocean Color Palettes
- Color Brewer
- iText
- JFreeChart
- JTS
- MrSID Decode SDK
- RSyntaxTextArea
- snakeyaml-engine
- SparseBitSet
- Java options