%  !TeX  root  =  user_guide.tex  
%\section{fTools Plugin}\label{sec:ftools}
\section{Extension fTools}\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. 
Le but de l'extension Python fTools est de fournir un outil unique pour un certain nombre de traitements SIG vectoriels, sans avoir recourt à des logiciels, des bibliothèques ou de constructions complexes supplémentaires. Elle fournit une suite de fonctions de gestion des données spatiales et d'analyse qui sont à la fois rapides et fonctionnelles.

%fTools is now automatically installed and enabled in new versions of \qg, 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 \qg, providing functions ranging from Analysis and Research Tools to Geometry and Geoprocessing Tools, as well as several useful Data Management Tools.
fTools est maintenant installé automatiquement et disponible dans les dernières versions de \qg et, comme toutes les extensions, peut être désactivé et activé via le Gestionnaire d'extensions (voir Section \ref{sec:managing_plugins}). Lorsqu'elle est activée, l'extension fTools ajoute un menu \mainmenuopt{Vecteur} à \qg, proposant des outils d'Analyse et de Recherche, de Géométrie et de Géotraitement ainsi que de Gestion des données.

%\minisec{fTools functions}\label{ftool_functions}
\minisec{Fonctions de fTools}\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.
Le tableau \ref{tab:ftool_analysis} jusqu'au tableau \ref{tab:fTool_data_management} liste les fonctions disponibles via l'extension fTools ainsi qu'une brève description de chacune d'entre elles. Pour plus d'information sur chaque fonction de fTools, allez dans le menu \dropmenuopt{Information sur fTools} sous \mainmenuopt{Vecteur}.

\begin{table}[ht]\index{Analysis tools}
\centering
%\caption{fTools Analysis tools}\label{tab:ftool_analysis}\medskip

 \begin{tabular}{|m{1cm}|m{3cm}|m{9cm}|}
% \hline \multicolumn{3}{|c|}{\textbf{Analysis tools available via the fTools plugin}} \\
 \hline \multicolumn{3}{|c|}{\textbf{Outils d'analyse disponibles via l'extension fTools}} \\
% \hline \textbf{Icon} & \textbf{Tool} & \textbf{Purpose} \\
 \hline \textbf{Icône} & \textbf{Outil} & \textbf{Description} \\
% \hline \includegraphics[width=0.7cm]{matrix} & Distance Matrix & 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]{matrix} & Matrice des distances & Mesure les distances entre deux couches de points et renvoie les résultats sous la forme de a) Matrice de distance standard, b) Matrice des distances en ligne, ou c) Résumé des distances (moyenne, min, max, écart type). Il est possible de limiter les distances aux k entités les plus proches. \\ 
% \hline \includegraphics[width=0.7cm]{sum_lines} & Sum line length & Calculate the total sum of line lengths for each polygon of a polygon vector layer. \\
 \hline \includegraphics[width=0.7cm]{sum_lines} & Total des longueurs de ligne & Calcule la somme totale des longueurs de lignes présentes dans chaque entité d'une couche de polygone. \\
% \hline \includegraphics[width=0.7cm]{sum_points} & Points in polygon & Count the number of points that occur in each polygon of an input polygon vectorlayer. \\
 \hline \includegraphics[width=0.7cm]{sum_points} & Points dans un polygone & Compte le nombre de points inclus dans chaque entité d'une couche de polygones. \\
% \hline \includegraphics[width=0.7cm]{unique} & List unique values & List all unique values in an input vector layer field. \\
 \hline \includegraphics[width=0.7cm]{unique} & Lister les valeurs uniques & Liste toutes les valeurs uniques d'un champ d'une couche vecteur. \\
% \hline \includegraphics[width=0.7cm]{basic_statistics} & Basic statistic & Compute basic statistics (mean, std dev, N, sum, CV) on an input field. \\ 
 \hline \includegraphics[width=0.7cm]{basic_statistics} & Statistiques basiques & Calcule des statistiques de base (moyenne, écart type, max, min, nombre, somme, CV) sur un champ donné. \\ 
% \hline \includegraphics[width=0.7cm]{neighbour} & Nearest Neighbor analysis & Compute nearest neighbour statistics to assess the level of clustering in a point vector layer. \\
 \hline \includegraphics[width=0.7cm]{neighbour} & Analyse du plus proche voisin & Calcule des statistiques sur le plus proche voisin pour évaluer le niveau de clustering dans une couche vecteur de points. \\
% \hline \includegraphics[width=0.7cm]{mean} & Mean coordinate(s) & 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]{mean} & Coordonnée(s) moyenne(s) & Calcule le centre moyen normal ou pondéré soit d'une couche vecteur entière, soit des entités partageant un même identifiant. \\ 
% \hline \includegraphics[width=0.7cm]{intersections} & Line intersections & Locate intersections between lines, and output results as a point shapefile. Useful for locating road or stream intersections, ignores line intersections with length > 0. \\
 \hline \includegraphics[width=0.7cm]{intersections} & Intersections de lignes & Localise les intersections entre les lignes et renvoie les résultats sous la forme d'un shapefile de points. Utile pour localiser les croisements de route ou de rivières, ignore les intersections de ligne d'une longueur supérieure à zéro. \\
 \hline
\end{tabular}
\caption{Outils d'analyse fTools}\label{tab:ftool_analysis}
\end{table}

\begin{table}[ht]\index{Outils de recherche}
\centering
%\caption{fTools Research tools}\label{tab:ftool_research}\medskip

 \begin{tabular}{|m{1cm}|m{3cm}|m{9cm}|}
% \hline \multicolumn{3}{|c|}{\textbf{Research tools available via the fTools plugin}} \\
 \hline \multicolumn{3}{|c|}{\textbf{Outils de recherche disponibles via l'extension fTools}} \\ 
% \hline \textbf{Icon} & \textbf{Tool} & \textbf{Purpose} \\
 \hline \textbf{Icône} & \textbf{Outil} & \textbf{Description} \\
% \hline \includegraphics[width=0.7cm]{random_selection} & Random selection & Randomly select n number of features, or n percentage of features \\
% \hline \includegraphics[width=0.7cm]{sub_selection} & Random selection within subsets & Randomly select features within subsets based on a unique ID field. \\
% \hline \includegraphics[width=0.7cm]{random_points} & Random points & Generate pseudo-random points over a given input layer. \\
% \hline \includegraphics[width=0.7cm]{regular_points} & Regular points & Generate a regular grid of points over a specified region and export them as a point shapefile. \\
% \hline \includegraphics[width=0.7cm]{vector_grid} & Vector grid & Generate a line or polygon grid based on user specified grid spacing. \\
% \hline \includegraphics[width=0.7cm]{select_location} & Select by location & 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} & Polygon from layer extent & Create a single rectangular polygon layer from the extent of an input raster or vector layer. \\
 \hline \includegraphics[width=0.7cm]{random_selection} & Sélection aléatoire & Sélectionne aléatoirement un nombre ou un pourcentage n d'entités. \\
 \hline \includegraphics[width=0.7cm]{sub_selection} & Sélection aléatoire  & Sélectionne aléatoirement des entités au sein de sous-ensemble définis par un champ identifiant. \\
 \hline \includegraphics[width=0.7cm]{random_points} & Points aléatoires & Génère des points pseudo-aléatoires sur une couche donnée. \\
 \hline \includegraphics[width=0.7cm]{regular_points} & Points réguliers & Génère une grille régulière de points sur une zone spécifiée et les exporte en shapefile de points. \\
 \hline \includegraphics[width=0.7cm]{vector_grid} & Grille vecteur & Génère une grille formée par des lignes ou des polygones à partir d'un espacement défini par l'utilisateur. \\
 \hline \includegraphics[width=0.7cm]{select_location} & Sélection par localisation & Sélectionne des entités en fonction de leur localisation par rapport à une autre couche puis crée une nouvelle sélection ou ajoute ou soustrait à la sélection courante. \\
\hline \includegraphics[width=0.7cm]{layer_extent} & Créer un polygone à partir de l'étendue de la couche & Crée une couche polygone contenant un unique rectangle couvrant l'étendue d'une couche raster ou vecteur. \\
 \hline
\end{tabular}
\caption{Outils de recherche fTools}\label{tab:ftool_research}
\end{table}

\begin{table}[ht]\index{Outils de géotraitement}
\centering
%\caption{fTools Geoprocessing tools}\label{tab:ftool_geoprocessing}\medskip

\begin{tabular}{|m{1cm}|m{3cm}|m{9cm}|}
% \hline \multicolumn{3}{|c|}{\textbf{Geoprocessing tools available via the fTools plugin}} \\
 \hline \multicolumn{3}{|c|}{\textbf{Outils de géotraitement disponibles via l'extension fTools}} \\
% \hline \textbf{Icon} & \textbf{Tool} & \textbf{Purpose} \\
 \hline \textbf{Icône} & \textbf{Outil} & \textbf{Description} \\
% \hline \includegraphics[width=0.7cm]{convex_hull} & Convex hull(s) & Create minimum convex hull(s) for an input layer, or based on an ID field. \\
% \hline \includegraphics[width=0.7cm]{buffer} & Buffer(s) & Create buffer(s) around features based on distance, or distance field. \\
% \hline \includegraphics[width=0.7cm]{intersect} & Intersect & Overlay layers such that output contains areas where both layers intersect. \\
% \hline \includegraphics[width=0.7cm]{union} & Union & Overlay layers such that output contains intersecting and non-intersecting areas. \\
% \hline \includegraphics[width=0.7cm]{sym_difference} & Symetrical difference & Overlay layers such that output contains those areas of the input and difference layers that do not intersect. \\
% \hline \includegraphics[width=0.7cm]{clip} & Clip & Overlay layers such that output contains areas that intersect the clip layer. \\
% \hline \includegraphics[width=0.7cm]{difference} & Difference & Overlay layers such that output contains areas not intersecting the clip layer. \\
% \hline \includegraphics[width=0.7cm]{dissolve} & Dissolve & Merge features based on input field. All features with indentical input values are combined to form one single feature. \\
 \hline \includegraphics[width=0.7cm]{convex_hull} & Enveloppe(s) convexe(s) & Crée l'enveloppe(s) minimale(s) convexe(s) pour une couche données ou des sous-ensembles définis par un champ identifiant. \\
 \hline \includegraphics[width=0.7cm]{buffer} & Tampon(s) & Crée une(des) zone(s) tampon autour des entités, basé soit sur la distance soit sur la valeur d'un champ donné. \\
 \hline \includegraphics[width=0.7cm]{intersect} & Intersection & Intersecte deux couches de sorte que la couche renvoyée contienne uniquement les aires appartenant aux deux couches entrées. \\
 \hline \includegraphics[width=0.7cm]{union} & Union & Intersecte deux couches de sorte que la couche renvoyée contienne à la fois les aires appartenant aux deux couches et celles n'appartenant qu'à l'une des deux. \\
 \hline \includegraphics[width=0.7cm]{sym_difference} & Différenciation symétrique & Superpose les couches de sorte que la couche renvoyée ne contienne que les aires des deux couches ne s'intersectant pas. \\
 \hline \includegraphics[width=0.7cm]{clip} & Couper & Superpose deux couches de sorte que la couche renvoyée contienne les aires de la couche d'entrée qui intersectent celles de la couche de découpage. \\
 \hline \includegraphics[width=0.7cm]{difference} & Différenciation & Superpose deux couches de sorte que la couche renvoyée contienne les aires de la couche d'entrée qui n'intersectent pas celles de la couche de découpage. \\
 \hline \includegraphics[width=0.7cm]{dissolve} & Regroupement & Regroupe les entités selon un champ. Toutes les entités ayant des valeurs identiques de ce champ sont combinées pour former une seule entité. \\
 \hline
\end{tabular}
\caption{Outils de géotraitement fTools}\label{tab:ftool_geoprocessing}
\end{table}

\begin{table}[ht]\index{outils de géométrie}
\centering
%\caption{fTools Geometry tools}\label{tab:ftool_geometry}\medskip

\begin{tabular}{|m{1cm}|m{3cm}|m{9cm}|}
% \hline \multicolumn{3}{|c|}{\textbf{Geometry tools available via the fTools plugin}} \\
 \hline \multicolumn{3}{|c|}{\textbf{Outils de géométrie disponibles via l'extension fTools}} \\
% \hline \textbf{Icon} & \textbf{Tool} & \textbf{Purpose} \\
 \hline \textbf{Icône} & \textbf{Outil} & \textbf{Description} \\
% \hline \includegraphics[width=0.7cm]{check_geometry} & Check geometry & Check polygons for intersections, closed-holes, and fix node ordering. \\
% \hline \includegraphics[width=0.7cm]{export_geometry} & Export/Add geometry columns & Add vector layer geometry info to point (XCOORD, YCOORD), line (LENGTH), or polygon (AREA, PERIMETER) layer. \\
% \hline \includegraphics[width=0.7cm]{centroids} & Polygon centroids & Calculate the true centroids for each polygon in an input polygon layer. \\
% \hline \includegraphics[width=0.7cm]{delaunay} & Delaunay triangulation & Calculate and output (as polygons) the delaunay triangulation of an input point vector layer. \\
% \hline \includegraphics[width=0.7cm]{simplify} & Simplify geometry & Generalise lines or polygons with a modified Douglas-Peucker algorithm. \\
% \hline \includegraphics[width=0.7cm]{multi_to_single} & Multipart to singleparts & Convert multipart features to multiple singlepart features. Creates simple polygons and lines. \\
% \hline \includegraphics[width=0.7cm]{single_to_multi} & Singleparts to multipart & Merge multiple features to a single multipart feature based on a unique ID field. \\
% \hline \includegraphics[width=0.7cm]{to_lines} & Polygons to lines & Convert polygons to lines, multipart polygons to multiple singlepart lines. \\
% \hline \includegraphics[width=0.7cm]{extract_nodes} & Extract nodes & Extract nodes from line and polygon layers and output them as points. \\
 \hline \includegraphics[width=0.7cm]{check_geometry} & Vérifier la validité de la géométrie & Vérifie sur une couche de polygones s'il n'y a pas d'intersections ou de trous et corrige l'ordre des noeuds. \\
 \hline \includegraphics[width=0.7cm]{export_geometry} & Exporter/ajouter des colonnes de géométrie & Ajoute des informations de géométrie sur une couche vecteur de points (XCOORD, YCOORD), de lignes (LENGTH - longueur), ou de polygones (AREA - aire, PERIMETER - périmètre). \\
 \hline \includegraphics[width=0.7cm]{centroids} & Centroïdes de polygones & Calcule le centroïde réel de chaque entité d'une couche de polygones. \\
 \hline \includegraphics[width=0.7cm]{delaunay} & Triangulation de Delaunay & Calcule et renvoie (en tant que polygones) la triangulation de Delaunay d'une couche vecteur de points. \\
 \hline \includegraphics[width=0.7cm]{simplify} & Simplifier la géométrie & Généralise les lignes ou les polygones avec l'algorithme modifié de Douglas-Peucker. \\
 \hline \includegraphics[width=0.7cm]{multi_to_single} & Morceaux multiples vers morceaux uniques & Convertit des entités constituées de plusieurs parties en des entités en une seule partie. Crée des polygones et des lignes simples. \\
 \hline \includegraphics[width=0.7cm]{single_to_multi} & Morceaux uniques vers morceaux multiples & Fusionne plusieurs entités possédant le même identifiant sur un champ donné en des entités multipartites. \\
 \hline \includegraphics[width=0.7cm]{to_lines} & Polygones vers lignes & Convertit des polygones en des lignes, des polygones multipartite en des lignes multipartites. \\
 \hline \includegraphics[width=0.7cm]{extract_nodes} & Extraction de noeuds & Extrait les noeuds d'une couche de ligne ou de polygone et renvoie une couche de points. \\
 \hline
\end{tabular}
\caption{Outils de géométrie fTools}\label{tab:ftool_geometry}
\end{table}

\begin{table}[ht]\index{Outils de gestion de données}
\centering
%\caption{fTools Data management tools}\label{tab:fTool_data_management}\medskip

\begin{tabular}{|m{1cm}|m{3cm}|m{9cm}|}
% \hline \multicolumn{3}{|c|}{\textbf{Data management tools available via the fTools plugin}} \\
 \hline \multicolumn{3}{|c|}{\textbf{Outils de gestion de données disponibles via l'extension fTools}} \\
% \hline \textbf{Icon} & \textbf{Tool} & \textbf{Purpose} \\
 \hline \textbf{Icône} & \textbf{Outil} & \textbf{Description} \\
% \hline \includegraphics[width=0.7cm]{export_projection} & Export to projection & Project features to new CRS and export as new shapefile. \\
% \hline \includegraphics[width=0.7cm]{define_projection} & Define projection & Specify the CRS for shapefiles whose CRS has not been defined. \\
% \hline \includegraphics[width=0.7cm]{join_attributes} & Join attributes & 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} & Join attributes by location & 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} & Split vector layer & Split input layer into multiple separate layers based on input field. \\
 \hline \includegraphics[width=0.7cm]{export_projection} & Exporter vers une nouvelle projection & Projette les entités dans un nouveau système de coordonnées et les exporte dans un nouveau shapefile. \\
 \hline \includegraphics[width=0.7cm]{define_projection} & Définir la projection courante & Défini le système de coordonnées pour les shapefiles qui n'en n'auraient pas. \\
 \hline \includegraphics[width=0.7cm]{join_attributes} & Joindre les attributs & Joint des attributs supplémentaires à la table d'attributs d'une couche vecteur et renvoie les résultats dans un nouveau shapefile. Les attributs supplémentaires peuvent provenir d'une autre couche vecteur ou d'un fichier dbf seul. \\
 \hline \includegraphics[width=0.7cm]{join_location} & Joindre les attributs par localisation & Joint des attributs supplémentaires à une couche vecteur en fonction le la localisation. Les attributs d'une couche vecteur sont ajoutés à ceux d'une autre couche et exportés en shapefile. \\
 \hline \includegraphics[width=0.7cm]{split_layer} & Séparer une couche vectorielle & Sépare une couche en de multiples couches distinctes selon un identifiant spécifié. \\
 \hline
\end{tabular}
\caption{Outils de gestion de données fTools}\label{tab:fTool_data_management}
\end{table}