<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% vim: set textwidth=78 autoindent:

\subsection{fTools Plugin}\label{sec:ftools}

% when the revision of a section has been finalized, 
% comment out the following line:

The goal of the fTools python plugin is to provide a one-stop resource for
many common vector-based GIS tasks, without the need for additional software, 
libraries, or complex workarounds. It provides a growing suite of spatial 
data management and analysis functions that are both fast and functional. 

fTools is now automatically installed and enabled in new versions of QGIS, and as with all plugins, it can 
be disabled and enabled using the Plugin Manager (See Section \ref{sec:managing_plugins}).
When enabled, the fTools plugin adds a \mainmenuopt{Tools} menu to QGIS, providing functions ranging from 
Analysis and Research Tools to Geometry and Geoprocessing Tools, as well as several useful Data Management Tools.

\minisec{fTools functions}\label{ftool_functions}

Tables \ref{tab:ftool_analysis} through \ref{tab:fTool_data_management} list the functions available via the fTools plugin, along with a brief description of each function. For further information on an individual fTools function, please click the \dropmenuopt{fTools Information} menu item in the \mainmenuopt{Tools} menu.

\begin{table}[ht]\index{Analysis tools}
\centering
\caption{fTools Analysis tools}\label{tab:ftool_analysis}\medskip
 \begin{tabular}{|p{0.3in}|p{1.2in}|p{4.7in}|}
 \hline \multicolumn{3}{|c|}{\textbf{Analysis tools available via the fTools plugin}} \\
 \hline \textbf{Icon} &amp; \textbf{Tool} &amp; \textbf{Purpose} \\
 \hline \includegraphics[width=0.7cm]{matrix} &amp; Distance Matrix &amp;
Measure distances between two point layers, and output results as a) Square
distance matrix, b) Linear distance matrix, or c) Summary of distances. Can
limit distances to the k nearest features. \\ 
 \hline \includegraphics[width=0.7cm]{sum_lines} &amp; Sum line length &amp; Calculate
the total sum of line lengths for each polygon of a polygon vector layer. \\
 \hline \includegraphics[width=0.7cm]{sum_points} &amp; Points in polygon &amp; Count
the number of points that occur in each polygon of an input polygon vector
layer. \\
 \hline \includegraphics[width=0.7cm]{unique} &amp; List unique values &amp; List
all unique values in an input vector layer field. \\
 \hline \includegraphics[width=0.7cm]{basic_statistics} &amp; Basic statistic &amp; Compute
basic statistics (mean, std dev, N, sum, CV) on an input field. \\ 
 \hline \includegraphics[width=0.7cm]{neighbour} &amp; Nearest Neighbor analysis
&amp; Compute nearest neighbour statistics to assess the level of clustering in a
point vector layer. \\
 \hline \includegraphics[width=0.7cm]{mean} &amp; Mean coordinate(s) &amp;
Compute either the normal or weighted mean center of an entire vector layer,
or multiple features based on a unique ID field. \\ 
 \hline \includegraphics[width=0.7cm]{intersections} &amp; Line intersections &amp;
Locate intersections between lines, and output results as a point shapefile.
Useful for locating road or stream intersections, ignores line intersections
with length &gt; 0. \\
 \hline
\end{tabular}
\end{table}

\begin{table}[ht]\index{Research tools}
\centering
\caption{fTools Research tools}\label{tab:ftool_research}\medskip
 \begin{tabular}{|p{0.3in}|p{1.3in}|p{4.6in}|}
 \hline \multicolumn{3}{|c|}{\textbf{Research tools available via the fTools plugin}} \\
 \hline \textbf{Icon} &amp; \textbf{Tool} &amp; \textbf{Purpose} \\
 \hline \includegraphics[width=0.7cm]{random_selection} &amp; Random selection &amp; Randomly 
select n number of features, or n percentage of features \\
 \hline \includegraphics[width=0.7cm]{sub_selection} &amp; Random selection within 
subsets &amp; Randomly select features within subsets based on a unique ID field. \\
 \hline \includegraphics[width=0.7cm]{random_points} &amp; Random points &amp; Generate 
pseudo-random points over a given input layer. \\
 \hline \includegraphics[width=0.7cm]{regular_points} &amp; Regular points &amp; Generate 
a regular grid of points over a specified region and export them as a point shapefile. \\
 \hline \includegraphics[width=0.7cm]{vector_grid} &amp; Vector grid &amp; Generate a 
line or polygon grid based on user specified grid spacing. \\
 \hline \includegraphics[width=0.7cm]{select_location} &amp; Select by location &amp; 
Select features based on their location relative to another layer to form a 
new selection, or add or subtract from the current selection. \\
\hline \includegraphics[width=0.7cm]{layer_extent} &amp; Polygon from layer extent &amp; 
Create a single rectangular polygon layer from the extent of an input raster or vector layer. \\
 \hline
\end{tabular}
\end{table}

\begin{table}[ht]\index{Geoprocessing tools}
\centering
\caption{fTools Geoprocessing tools}\label{tab:ftool_geoprocessing}\medskip
 \begin{tabular}{|p{0.3in}|p{0.8in}|p{5.1in}|}
 \hline \multicolumn{3}{|c|}{\textbf{Geoprocessing tools available via the fTools plugin}} \\
 \hline \textbf{Icon} &amp; \textbf{Tool} &amp; \textbf{Purpose} \\
 \hline \includegraphics[width=0.7cm]{convex_hull} &amp; Convex hull(s) &amp; Create 
minimum convex hull(s) for an input layer, or based on an ID field. \\
 \hline \includegraphics[width=0.7cm]{buffer} &amp; Buffer(s) &amp; Create 
buffer(s) around features based on distance, or distance field. \\
 \hline \includegraphics[width=0.7cm]{intersect} &amp; Intersect &amp; Overlay 
layers such that output contains areas where both layers intersect. \\
 \hline \includegraphics[width=0.7cm]{union} &amp; Union &amp; Overlay layers such 
that output contains intersecting and non-intersecting areas. \\
 \hline \includegraphics[width=0.7cm]{sym_difference} &amp; Symetrical difference &amp; 
Overlay layers such that output contains those areas of the input and 
difference layers that do not intersect. \\
 \hline \includegraphics[width=0.7cm]{clip} &amp; Clip &amp; Overlay layers such 
that output contains areas that intersect the clip layer. \\
 \hline \includegraphics[width=0.7cm]{difference} &amp; Difference &amp; Overlay layers 
such that output contains areas not intersecting the clip layer. \\
 \hline \includegraphics[width=0.7cm]{dissolve} &amp; Dissolve &amp; Merge features 
based on input field. All features with indentical input values are combined 
to form one single feature. \\
 \hline
\end{tabular}
\end{table}

\begin{table}[ht]\index{Geometry tools}
\centering
\caption{fTools Geometry tools}\label{tab:ftool_geometry}\medskip
 \begin{tabular}{|p{0.3in}|p{1.2in}|p{4.8in}|}
 \hline \multicolumn{3}{|c|}{\textbf{Geometry tools available via the fTools plugin}} \\
 \hline \textbf{Icon} &amp; \textbf{Tool} &amp; \textbf{Purpose} \\
 \hline \includegraphics[width=0.7cm]{check_geometry} &amp; Check geometry &amp; 
Check polygons for intersections, closed-holes, and fix node ordering. \\
 \hline \includegraphics[width=0.7cm]{export_geometry} &amp; Export/Add geometry 
columns &amp; Add vector layer geometry info to point (XCOORD, YCOORD), 
line (LENGTH), or polygon (AREA, PERIMETER) layer. \\
 \hline \includegraphics[width=0.7cm]{centroids} &amp; Polygon centroids &amp; 
Calculate the true centroids for each polygon in an input polygon layer. \\
 \hline \includegraphics[width=0.7cm]{delaunay} &amp; Delaunay triangulation &amp; 
Calculate and output (as polygons) the delaunay triangulation of an input point vector layer. \\
 \hline \includegraphics[width=0.7cm]{simplify} &amp; Simplify geometry &amp; 
Generalise lines or polygons with a modified Douglas-Peucker algorithm. \\
 \hline \includegraphics[width=0.7cm]{multi_to_single} &amp; Multipart to 
singleparts &amp; Convert multipart features to multiple singlepart features. 
Creates simple polygons and lines. \\
 \hline \includegraphics[width=0.7cm]{single_to_multi} &amp; Singleparts to 
multipart &amp; Merge multiple features to a single multipart feature based 
on a unique ID field. \\
 \hline \includegraphics[width=0.7cm]{to_lines} &amp; Polygons to lines 
&amp; Convert polygons to lines, multipart polygons to multiple singlepart lines. \\
 \hline \includegraphics[width=0.7cm]{extract_nodes} &amp; Extract nodes &amp; 
Extract nodes from line and polygon layers and output them as points. \\
 \hline
\end{tabular}
\end{table}

\begin{table}[ht]\index{Data management tools}
\centering
\caption{fTools Data management tools}\label{tab:fTool_data_management}\medskip
 \begin{tabular}{|p{0.3in}|p{1.3in}|p{4.6in}|}
 \hline \multicolumn{3}{|c|}{\textbf{Data management tools available via the fTools plugin}} \\
 \hline \textbf{Icon} &amp; \textbf{Tool} &amp; \textbf{Purpose} \\
 \hline \includegraphics[width=0.7cm]{export_projection} &amp; Export to projection &amp; 
Project features to new CRS and export as new shapefile. \\
 \hline \includegraphics[width=0.7cm]{define_projection} &amp; Define projection &amp; 
Specify the CRS for shapefiles whose CRS has not been defined. \\
 \hline \includegraphics[width=0.7cm]{join_attributes} &amp; Join attributes &amp; Join 
additional attributes to vector layer attribute table and output results 
to a new shapefile. Additional attributes can be from a vector layer or 
stand-alone dbf table. \\
 \hline \includegraphics[width=0.7cm]{join_location} &amp; Join attributes by 
location &amp; Join additional attributes to vector layer based on spatial 
relationship. Attributes from one vector layer are appended to the attribute 
table of another layer and exported as a shapefile \\
 \hline \includegraphics[width=0.7cm]{split_layer} &amp; Split vector layer &amp; 
Split input layer into multiple separate layers based on input field. \\
 \hline
\end{tabular}
\end{table}



</pre></body></html>