Plot Extraction
Last updated
Last updated
The tool generates a boundary (polygon) for each segment.
Main steps:
Estimating the angle between the North (for vertical rows) or East (for horizontal rows) and the planting direction
Identifying row centers (or gaps) and alleys (see Figure 1 for the terminology)
Editing the detections if needed
Creating segment boundaries based on the detections
Data: Dataset to be used for plot extraction. This dataset will also be used for the optional field-based refinement.
Rotation Angle: Angle between the North (for vertical rows) or East (for horizontal rows) and the planting direction (range: -45 degrees to 45 degrees). The graphic view shows the rotated dataset. User can use the spin box to adjust the angle until the rows are either vertical or horizontal.
Row Direction: Direction (horizontal or vertical) of the plant row in the rotated dataset shown in the graphic view.
Row Detection Options:
Centers: Detect the centers of the plant rows (default).
Gaps: Detect the gaps between adjacent rows or plots.
Row and Alley Detection Parameters:
Minimum Spacing for Row: Minimum distance between two adjacent row centers or gaps. Default is 0.7 * nominal segment width.
Minimum Spacing for Alley: Minimum distance between two adjacent alleys. Default is 0.7 * nominal segment length.
Detection Sensitivity for Row: Row detection sensitivity from high (left) to low (right). Lower sensitivity values result in fewer detections.
Detection Sensitivity for Alley: Alley detection sensitivity from high (left) to low (right). Lower sensitivity values result in fewer detections.
The sliders for the detection sensitivity will be enabled upon the first detection.
Detect Rows/Alleys: Performs row and alley detection and displays the detections as straight lines in the graphic view.
Edit:
In the graphic view, the user can select and move the detections to fine-tune their locations. For vertical/horizontal detections, only the shift along the X/Y direction matters.
Add Row: Adds a new row (default location: to the left of the field).
Add Alley: Adds a new alley (default location: to the top of the field).
Delete Selected Item: Removes the selected detection.
Update IDs: Sorts the detections based on their locations and updates their IDs. Note: The IDs will not update automatically when detections move. Users should use this function to update IDs after moving the detections.
Export Plots: Creates segment boundaries based on the detected lines and exports them to the ./plot_extraction
folder. Outputs:
As-designed plots (PREFIX_plots_as-designed.geojson
): Plots with user-defined width and length. Typically, the exact planned dimensions for plots or individual segments.
As-detected plots (PREFIX_plots_as-detected.geojson
): Plots with auto-detected width and length.
For refinement plots (PREFIX_plots_for_refinement.geojson
): To be used in Refine by Plots.
(Optional) Centroids (PREFIX_centroids.geojson
)
(Optional) Centerlines (PREFIX_centerlines.geojson
)
This section outlines some of the best practices for plot detection. Nevertheless, users are encouraged to experiment with different methods to identify the most effective solution for their specific dataset.
Figure 3 shows sample fields (hereafter, Fields 1, 2, 3, and 4) with different crops and planting patterns.
Point cloud or digital surface model (DSM):
Detection is based on height and point density.
Most effective when plants are considerably higher than ground, typically mid to late season.
Works for: Fields 1, 2, 4.
RGB orthomosaic or vegetation index:
Detection is based on vegetation index.
Most effective when there is a clear distinction between plants and ground, typically early to mid season.
Works for: Fields 2, 3, 4.
Centers:
Detect the centers of the plant rows (default).
Most effective when rows are linear features (i.e., rows can be conceptualized as straight lines).
Result: segment boundaries.
Works for: Fields 1, 2, 3.
Gaps:
Detect the gaps between adjacent rows or plots.
Most effective when gaps are linear features. Particularly useful in densely planted areas where individual segments within a plot are difficult to identify (e.g., Field 4).
Result: plot boundaries.
Works for: Field 4.