% Generated by Sphinx.
\def\sphinxdocclass{report}
\documentclass[a4paper,10pt,dutch]{sphinxmanual}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{times}
\usepackage[Sonny]{fncychap}
\usepackage{longtable}
\usepackage{sphinx}
\usepackage{multirow}


\title{QGIS User Guide}
\date{10. November 2013}
\release{1.8}
\author{QGIS Project}
\newcommand{\sphinxlogo}{}
\renewcommand{\releasename}{Release}
\makeindex

\makeatletter
\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
    \let\PYG@ul=\relax \let\PYG@tc=\relax%
    \let\PYG@bc=\relax \let\PYG@ff=\relax}
\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
\def\PYG@toks#1+{\ifx\relax#1\empty\else%
    \PYG@tok{#1}\expandafter\PYG@toks\fi}
\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
    \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}

\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
\expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@cm\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@vg\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@m\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@mh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@cs\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
\expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@il\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}}
\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}}
\expandafter\def\csname PYG@tok@nl\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}}
\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
\expandafter\def\csname PYG@tok@no\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}}
\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
\expandafter\def\csname PYG@tok@nd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}}
\expandafter\def\csname PYG@tok@ne\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@nf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}}
\expandafter\def\csname PYG@tok@si\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}}
\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@nt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}}
\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@c1\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@c\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@mf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}}
\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}}
\expandafter\def\csname PYG@tok@mo\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@mi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@kp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\expandafter\def\csname PYG@tok@kt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}}
\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@sd\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}

\def\PYGZbs{\char`\\}
\def\PYGZus{\char`\_}
\def\PYGZob{\char`\{}
\def\PYGZcb{\char`\}}
\def\PYGZca{\char`\^}
\def\PYGZam{\char`\&}
\def\PYGZlt{\char`\<}
\def\PYGZgt{\char`\>}
\def\PYGZsh{\char`\#}
\def\PYGZpc{\char`\%}
\def\PYGZdl{\char`\$}
\def\PYGZhy{\char`\-}
\def\PYGZsq{\char`\'}
\def\PYGZdq{\char`\"}
\def\PYGZti{\char`\~}
% for compatibility with earlier versions
\def\PYGZat{@}
\def\PYGZlb{[}
\def\PYGZrb{]}
\makeatother

\begin{document}
\shorthandoff{"}
\maketitle
\tableofcontents
\phantomsection\label{docs/user_manual/index::doc}\phantomsection\label{docs/user_manual/index:qgis-manual-index-reference}



\chapter{Inleiding}
\label{docs/user_manual/preamble/preamble:qgis-user-guide}\label{docs/user_manual/preamble/preamble:preamble}\label{docs/user_manual/preamble/preamble::doc}\label{docs/user_manual/preamble/preamble:qgis-documentation-preamble}
Dit document is de officiële gebruikershandleiding van Quantum GIS. De software en hardware beschreven in dit document zijn in de meeste gevallen geregistreerde handelsmerken waarop wetgeving bestaat. Quantum GIS is uitgebracht onder de GNU General Public Licentie. Vind meer informatie op de website van Quantum Gis \href{http://www.qgis.org}{http://www.qgis.org}.

De gebruikte details, data, resultaten enz. in dit document zijn geschreven en gecontroleerd met de beste kennis en inzet voorhanden van auteurs en uitgevers. Toch kunnen er inhoudelijk fouten voorkomen.

Er kunnen geen rechten of garanties ontleend worden aan dit document. De auteurs, redacteuren en uitgevers zijn niet verantwoordelijkheid of aansprakelijk voor fouten en eventuele gevolgen daarvan. U bent wel altijd welkom om deze fouten door te geven zodat deze gecorrigeerd kunnen worden.

Dit document is gemaakt met reStructuredText. De broncode in de vorm van reST broncode is beschikbaar via \href{https://github.com/qgis/QGIS-Documentation}{github} en via internet als HTML en PDF via \href{http://documentation.qgis.org}{http://documentation.qgis.org}. Ook kunnen er vertaalde versies van dit document in verschillende formaten gedownload worden van het documentatie gedeelte van het QGIS project. Voor meer informatie over hoe je kunt bijdragen aan dit document en de vertaling ervan, bezoek: \href{http://www.qgis.org/wiki/}{http://www.qgis.org/wiki/}.

\textbf{Koppelingen in dit Document}

Dit document bevat interne en externe koppelingen. Door een interne koppeling te selecteren zul je naar een ander gedeelte van het document springen, bij het selecteren van een externe koppeling wordt een internet adres geopend. Interne en externe koppelingen worden blauw weergegeven en worden door de standaardbrowser afgehandeld. In HTML vorm worden beide koppelingen identiek weergegeven.

\textbf{Auteurs en redactie van de Gebruikers-, Installatie- en Ontwikkelhandleiding:}

\begin{tabulary}{\linewidth}{|L|L|L|L|L|}
\hline

Tara Athan
 & 
Radim Blazek
 & 
Godofredo Contreras
 & 
Otto Dassau
 & 
Martin Dobias
\\

Peter Ersts
 & 
Anne Ghisla
 & 
Stephan Holl
 & 
N. Horning
 & 
Magnus Homann
\\

Werner Macho
 & 
Carson J.Q. Farmer
 & 
Tyler Mitchell
 & 
K. Koy
 & 
Lars Luthman
\\

Claudia A. Engel
 & 
Brendan Morely
 & 
David Willis
 & 
Jürgen E. Fischer
 & 
Marco Hugentobler
\\

Larissa Junek
 & 
Diethard Jansen
 & 
Paolo Corti
 & 
Gavin Macaulay
 & 
Gary E. Sherman
\\

Tim Sutton
 & 
Alex Bruy
 & 
Raymond Nijssen
 & 
Richard Duivenvoorde
 & 
Andreas Neumann
\\
\hline\end{tabulary}




\textbf{Sponsors}

Het bijwerken van de gebruikershandleiding is gesponsord door \href{http://www.so.ch/departemente/bau-und-justiz/amt-fuer-geoinformation.html}{Kanton Solothurn}, Zwitserland.

Copyright (c) 2004 - 2013 QGIS Ontwikkelteam

\textbf{Internet:} \href{http://www.qgis.org}{http://www.qgis.org}

\textbf{Licentie van dit of document}

Iedereen heeft het recht om dit document te kopiëren, verspreiden en aan te passen onder de voorwaarden van de GNU Free Documentation License, Version 1.3 of een latere versie gepubliceerd door de Free Software Foundation; De Voor- en achterkant en de inhoudelijke indeling van het document dient gelijk te blijven. Een kopie van de licentie is toegevoegd in Appendix {\hyperref[docs/user_manual/appendices/appendices:gfl-appendix]{\emph{GNU Free Documentation License}}}.


\chapter{Conventies}
\label{docs/user_manual/preamble/conventions:label-conventions}\label{docs/user_manual/preamble/conventions::doc}\label{docs/user_manual/preamble/conventions:conventions}
Deze sectie beschrijft een aantal uniforme stijlen voor deze handleiding. De volgende conventies worden gebruikt in deze handleiding:

\textbf{GUI-conventies}

De GUI conventie-stijlen zijn bedoeld om de vertoning in de GUI zo goed mogelijk na te bootsen. Zodoende kan een gebruiker snel binnen de QGIS applicatie vinden wat er in de handleiding getoond wordt.
\begin{itemize}
\item {} 
Menu opties: \emph{Kaartlagen \(\rightarrow\) Rasterlaag Toevoegen...} of \emph{Beeld \(\rightarrow\) Werkbalken \(\rightarrow\) Digitaliseren}

\item {} 
Knop in werkbalk: \includegraphics[width=1.5em]{mActionAddRasterLayer.png} $^{\text{Rasterlaag Toevoegen}}$

\item {} 
Knop in dialoog: \textbf{{[}Opslaan als standaard{]}}

\item {} 
Dialoogvenster titel: \emph{Laag Eigenschappen}

\item {} 
Tabblad: \emph{Algemeen}

\item {} 
Aanvinkvak: \includegraphics{checkbox.png} \emph{(Her)teken}

\item {} 
Keuzerondje: \includegraphics{radiobuttonon.png} \emph{Postgis SRID} \includegraphics{radiobuttonoff.png} \emph{EPSG ID}

\item {} 
Selecteer een numerieke waarde: \includegraphics{selectnumber.png}

\item {} 
Selecteer een alphanumerieke waarde: \includegraphics{selectstring.png}

\item {} 
Blader naar een bestand: \includegraphics{browsebutton.png}

\item {} 
Selecteer een kleur: \includegraphics{selectcolor.png}

\item {} 
Schuiver: \includegraphics{slider.png}

\item {} 
Tekst invoer: \includegraphics{inputtext.png}

\end{itemize}

Een schaduw geeft aan dat het om een aanklikbaar GUI-component gaat.

\textbf{Tekst- en toetsenbord-conventies}

De handleiding bevat ook stijlen voor teksten, toetsenbordcommando's en codes waarmee verschillende zaken, zoals klassen en functies, worden aangegeven. Ze komen niet overeen met de werkelijke vertoning.
\begin{itemize}
\item {} 
Hyperlinks: \href{http://qgis.org}{http://qgis.org}

\item {} 
Toetscombinaties: Geef de snelkoppeling \code{Ctrl+B}, betekent houd de Ctrl-toets ingedrukt en druk op de B-toets.

\item {} 
Bestandsnaam: \code{lakes.shp}

\item {} 
Naam van een klasse: \textbf{NewLayer}

\item {} 
Functie: \emph{classFactory}

\item {} 
Server: \emph{myhost.nl}

\item {} 
Invoer door gebruiker: \code{qgis -{-}help}

\end{itemize}

Regels met programmacode wordt getoond in een lettertype met vaste breedte

\begin{Verbatim}[commandchars=\\\{\}]
PROJCS["NAD\_1927\_Albers",
  GEOGCS["GCS\_North\_American\_1927",
\end{Verbatim}

\textbf{Platformspecifieke instructies}

Meerdere aanwijzigen voor verschillende platformen kunnen worden opgenomen binnen 1 regel tekst: Selecteer \includegraphics[width=1em]{nix.png} \includegraphics[width=1em]{win.png} \emph{Bestand \(\rightarrow\) Afsluiten} \includegraphics[width=1em]{osx.png} \emph{QGIS \(\rightarrow\) Afsluiten} om QGIS af te sluiten.

Dit betekent dat je in Linux, Unix en Windows klikt op het menu Bestand en daarna op Afsluiten in het geopende menu, terwijl je in Macintosh OSX klikt ophet menu QGIS, en daarna op Afsluiten in het geopende menu. Aanwijzingen waarbij meer tekst nodig is kunnen ook als een lijst worden weergegeven:
\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png} doe dit;

\item {} 
\includegraphics[width=1em]{win.png} doe dat;

\item {} 
\includegraphics[width=1em]{osx.png} doe iets anders.

\end{itemize}

of als paragrafen.

\includegraphics[width=1em]{nix.png} \includegraphics[width=1em]{osx.png} Doe dit en dit en dit. Doe daarna dit en dit en dit en dit en dit en dit en dit en dit en dit en dit en dit.

\includegraphics[width=1em]{win.png} Doe dat. Doe daarna dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat en dat.

Schermvoorbeelden in de handleiding zijn gemaakt op verschillende platforms; het platform wordt aangegeven door de platform-icoontjes achter de beschrijving van de afbeelding.


\chapter{Voorwoord}
\label{docs/user_manual/preamble/foreword::doc}\label{docs/user_manual/preamble/foreword:foreword}\label{docs/user_manual/preamble/foreword:label-forward}
Welkom in de wondere wereld van Geografische Informatie Systemen (GIS)!

Quantum GIS (QGIS) is een open source GIS systeem. Het project is ontstaan in mei 2002 en werd in juni 2002 als project op SourceForge geplaatst. De belangrijkste doelstelling van QGIS is om GIS beschikbaar en betaalbaar te maken voor iedereen met toegang tot een computer. Op dit moment is QGIS beschikbaar voor Windows, OS X en diverse op Unix gebaseerde systemen zoals linux. QGIS maakt gebruik van de Qt toolkit (\href{http://qt.nokia.com}{http://qt.nokia.com}) en is geschreven in de C++ programmeertaal. Hierdoor heeft QGIS een toegankelijke en herkenbare uitstraling (GUI) en werkt het snel en soepel.

QGIS is een eenvoudig te gebruiken GIS met uitgebreide functionaliteit voor het werken met geografische data en kaarten. In het begin was QGIS enkel een viewer maar momenteel ondersteund QGIS een grote hoeveelheid raster en vector formaten en is het in staat om met een geavanceerde plugin architectuur snel nieuwe functies en formaten te ondersteunen.

QGIS is ontwikkeld onder de GNU Public License (GPL). Ontwikkelen of Deze licentie staat iedereen toe de broncode te bekijken en te bewerken en garandeert de vrije beschikbaarheid van GIS software die door iedereen kan worden aangepast of uitgebreid. Een actuele versie van de licentie dient te zijn meegeleverd met elke kopie van QGIS. De licentie is ook te lezen in Bijlage {\hyperref[docs/user_manual/appendices/appendices:gpl-appendix]{\emph{GNU General Public License}}}.

\index{documentation}
\begin{notice}{tip}{Tip:}
\textbf{Meest recente Documentatie}

De laatste versie van dit document kan altijd gevonden worden op \href{http://download.osgeo.org/qgis/doc/manual/}{http://download.osgeo.org/qgis/doc/manual/}, of in het documentatie gedeelte van de QGIS webpagina op \href{http://www.documentation.qgis.org}{http://www.documentation.qgis.org}
\end{notice}


\section{Introductie GIS}
\label{docs/user_manual/preamble/foreword:introduction-to-gis}
Een Geografisch Informatie Systeem (GIS) (Mitchel 2005 {\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}}) is een collectie software waarmee het mogelijk is geografische gegevens te maken, visualiseren en bewerken. Geografische gegevens zijn gegevens waarbij informatie gekoppeld is aan een plaats op de aarde, zoals een latitude/longitude of een X,Y coordinaat. Geografische gegevens worden ook wel ruimtelijke gegevens genoemd. Andere acroniemen voor geografische gegevens zijn: geodata, GIS data, kaarten, geometrie, locatiegegevens en coordinaatgegevens.

Toepassingen die gebruik maken van geografische gegevens kennen een veelheid van functies. Kaartproductie is een van de meest gebruikte toepassingen. Een kaartproductie programma of toepassing gebruikt geografische gegevens om deze te presenteren als kaart die kan worden bekeken op een computerscherm of op een papieren afdruk. Toepassingen kunnen statische kaarten of dynamische kaarten produceren. Dynamische kaarten kunnen vervolgens weer worden gebruikt op een andere computer of op het internet.

Vaak wordt ten onrechte aangenomen dat GIS enkel bedoeld is voor het produceren van kaarten. Er zijn echter ontelbare analyse functies waarmee ruimtelijke gegevens kunnen worden gebruikt of verrijkt. Denk hierbij bijvoorbeeld aan:
\begin{enumerate}
\item {} 
Afstanden berekenen tussen locaties

\item {} 
De oppervlakte bepalen (b.v. in vierkante meters) binne een bepaalde geografische regio

\item {} 
welke geografische objecten andere overlappen

\item {} 
De hoeveelheid overlap bepalen tussen objecten

\item {} 
Het aantal objecten bepalen die binnen een bepaalde afstand van object voorkomen

\item {} 
enzovoort...

\end{enumerate}

Deze functionaliteiten lijken vanzelfsprekend, maar deze kunnen eindeloos worden toegepast en gecombineerd. De resultaten van deze analyses kunnen in de vorm van een kaart worden getoond, maar verschijnen ook in tabelvorm in managementrapportages die de besluitvorming ondersteunen welke van invloed kunnen zijn op ons dagelijks leven.

Recente ontwikkelingen zoals locatie-gebaseerde diensten beloven nog veel meer nieuwe mogelijkheden, maar de meesten zullen toch altijd zijn gebaseerd op een combinatie van kaarten en analyse. Bijvoorbeeld: Je hebt een smartphone die gebruik maakt van positiebepaling. Met de juiste software kan een smartphone je vertellen hoe ver je verwijderd bent van je favoriete restaurant of winkel. Hoewel dit een noviteit lijkt, worden in essentie geografische gegevens verwerkt tot een eenvoudig resultaat dat precies laat zien wat relevant is.


\subsection{Is dit dan allemaal zo nieuw?}
\label{docs/user_manual/preamble/foreword:why-is-all-this-so-new}
Nee. Er zijn veel apparaten waarmee voor mobiele toepassingen geografische diensten worden aangeboden. Veel mobiele software is als open source beschikbaar. Het concept is niet nieuw. GPS ontvangers komen algemeen beschikbaar maar zijn al tientallen jaren in het bedrijfsleven in gebruik. Op dezelfde manier zijn kaartproductie en analyse toepassingen al vele tientallen jaren als software te koop, in hoofdzaak voor overheden, defensie en het bedrijfsleven.

De vernieuwing zit hem in hoe apparaten en toepassingen de laatste tijd worden gebruikt en door wie. Traditioneel waren geografische gegevens vooral het domein van hoogopgeleide specialisten, cartografen en tekenaars. Dankzij de verwerkingskracht van moderne computers en de beschikbaarheid van open source softeare is het voor hobbyisten, professionals internet ontwikkelaars en studenten nu ook mogelijk om tegen lage kosten te experimenteren en te werken met geografische gegevens. Iedereen kan GIS leren.

Hoe worden ruimtelijke gegevens opgeslagen? In het kort: Er zijn twee soorten formaten die op dit moment in geografische toepassingen het meest gebruikt worden. Deze formaten zijn een aanvulling op de algemeen bekende tabelformaten.


\subsection{Rastergegevens}
\label{docs/user_manual/preamble/foreword:raster-data}
Een van de twee meestgebruikte soorten ruimtelijke gegevens formaten is het ``raster''. Voorbeelden van rasters zijn afbeeldingen. Voor geografische systemen bevatten deze afbeeldingen vaak luchtfoto's. Hoogtemodellen en grondwaterstanden zijn andere voorbeelden van gegevens die als raster kunnen worden gerepresenteerd. Er zijn echter beperkingen.

Een raster is vaak rechthoekig en bestaat uit cellen of, in het geval van afbeeldingen uit pixels. Rasters hebben een vast aantal rijen en kolommen.Elke cel heeft een numerieke waarde en vertegenwoordigt een gebied, (bijv. 30 bij 30 meter).

Meerdere overlappende rasters worden gebruikt om afbeeldingen meer dan een kleur te geven. (b.v. een raster voor rode, een voor groene en een voor blauwe waarden kan worden gecombineerd om een kleurenbeeld te maken). Luchtfoto's bevatten vaak gegevens in meerdere ``banden''. Elke band is in essentie een overlappend raster waar in een golflengte (van licht) is opgeslagen. Een groot raster neemt meer bestandsruimte in beslag.

Een raster met kleinere cellen biedt meer details maar neemt meer ruimte in beslag op de harde schijf. Het is zaak de juiste balans te vinden tussen de benodigde grootte in relatie tot beschikbare opslagruimte en de grootte inzake analysefuncties of kaartvervaardiging.


\subsection{Vectorgegevens}
\label{docs/user_manual/preamble/foreword:vector-data}
Vectorgegevens worden ook gebruikt in GIS toepassingen.In het kort: vectoren zijn een manier om een locatie te beschrijven op basis van een coordinaten. Elke coordinaat refereert aan een geografische locatie middels een systeem van x,y coordinaten.

Vectoren kunnen worden afgebeeld op een Cartesisch vlak, een plat vlak met de bekende x- en y- as. Hoogstwaarschijnlijk heb je hier al tijdens wiskunde op de middelbare school kennis mee gemaakt. Het afbeelden met behulp van x- en y-assen op een plat vlak wordt ook gebruikt bij grafieken en vind je ook terug in de statistiek. In essentie is een vectorkaart een vorm van een grafiek.

Er zijn verschillende manieren en methoden om geografische coordinaten af te beelden, afhankelijk van de behoefte. Dit is een studie op zich en wordt gevat in de principes van kaartprojecties.

Vectorgegevens zijn er in beginsel in drie vormen; opeenvolgend in complexiteit en de volgende gebaseerd op de eerdere vorm.
\begin{enumerate}
\item {} 
Punten - Een enkelvoudig coordinaat (x y) waarmee een discrete geografische locatie wordt aangeduid (in het engels: point)

\item {} 
Lijnen - Meerdere coordinaten (x1 y1, x2 y2, x2 y4, ... xn yn) verbonden in bepaalde volgorde, als het tekenen van een lijn van Punt(x1 y1) naar Punt(x2 y2) enzovoort. De lijnen tussen deze punten zijn de lijnsegmenten. Deze hebben een lengte en de lijn heeft een richting gebaseerd op de volgorde van punten. Technisch gesproken is een lijn twee verbonden coördinaten, daar waar een reeks lijnen meerdere verbonden lijnstukken zijn.

\item {} 
Polygonen - Wanneer lijnen en meervoudige lijnen aan elkaar worden gekoppeld en het laatste punt valt samen met het eerste punt, dan noemen we dit een polygoon of vlak (in het engels: polygon). Een driehoek, cirkel rechthoek of vierkant zijn allemaal polygoonvormen of vlakken. Een belangrijke eigenschap van polygonen is dat ze een oppervlakte hebben.

\end{enumerate}


\chapter{Functionaliteit}
\label{docs/user_manual/preamble/features::doc}\label{docs/user_manual/preamble/features:features}
QGIS biedt veel algemene GIS functionaliteit middels standaard funtionaliteit en plugins. Bij deze een kort overzicht van functionaliteit onderverdeeld over zes categorieën.


\section{Bekijken van data}
\label{docs/user_manual/preamble/features:view-data}
Men kan een groot aantal veelgebruikte vector- en rasterformaten in verschillende coördinatensystemen inlezen, bekijken en over elkaar heen leggen, zonder dat men deze eerst moet omzetten naar een intern of ander veelgebruikt formaat. Ondersteunde formaten zijn:
\begin{itemize}
\item {} 
Spatiale tabellen en views uit databases zoals PostGIS, SpatiaLite en MSSQL Spatial, vector formaten ondersteund door de OGR functie bibliotheek, waaronder ESRI shapefiles, MapInfo, SDTS, GML en vele andere, zie {\hyperref[docs/user_manual/working_with_vector/index:label-workingvector]{\emph{Werken met Vector Data}}}.

\item {} 
Raster- en afbeeldingsformaten ondersteund door de functie bibliotheek GDAL (Geospatial Data Abstraction Library), waaronder GeoTiff, Erdas Img., ArcInfo Ascii, Grid, JPEG, PNG en vele andere, zie {\hyperref[docs/user_manual/working_with_raster/index:working-with-raster]{\emph{Werken met Raster data}}}.

\item {} 
GRASS raster en vector formaten vanuit de GRASS database (location/mapset), zie {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-grass]{\emph{GRASS GIS Integration}}}.

\item {} 
Spatiale data die via internet services wordt aangeboden waaronder de OGC-compliant Web Map Service (WMS) of de Web Feature Service (WFS), zie {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:working-with-ogc]{\emph{Working with OGC Data}}}.

\item {} 
OpenStreetMap data, zie {\hyperref[docs/user_manual/osm/openstreetmap:plugins-osm]{\emph{OpenStreetMap}}}.

\end{itemize}


\section{Bevragen van gegevens en het maken van kaarten}
\label{docs/user_manual/preamble/features:explore-data-and-compose-maps}
Men kan kaarten maken en interactief spatiale gegevens bevragen via een gebruiksvriendelijke interface. Handige tools die dit ondersteunen zijn o.a.:
\begin{itemize}
\item {} 
QGIS browser

\item {} 
Gelijktijdige CRS-transformatie

\item {} 
Layouter manager

\item {} 
Overzichtskaart

\item {} 
Favoriete plaatsen (Spatial Bookmarks)

\item {} 
Identificeren/Selecteren van objecten

\item {} 
Bewerk/Bekijk/Zoek attribuutwaarden van objecten

\item {} 
Toevoegen van labels/annotatie aan objecten

\item {} 
De weergavestijl wijzigen van vector and raster objecten

\item {} 
Het toevoegen van een grid laag - nu via de fTools plugin en Decoratie

\item {} 
Gebruik van kaartattributen als noordpijl, schaalbalk en een copyright label

\item {} 
Opslaan en weer openen van projecten

\end{itemize}


\section{Creëer, bewerk, beheer en exporteer data}
\label{docs/user_manual/preamble/features:create-edit-manage-and-export-data}
Je kunt vector kaarten maken, bewerken, onderhouden en exporteren in en naar verschillende formaten. Om raster formaten te kunnen bewerken en deze om te zetten naar andere formaten kan men het beste de GRASS interface gebruiken. QGIS biedt het volgende:
\begin{itemize}
\item {} 
Middelen om door OGR ondersteunde vector formaten te digitaliseren

\item {} 
Creëer en bewerk shapefiles en GRASS vector lagen

\item {} 
Georefereer afbeeldingen met de Georeferencer plugin

\item {} 
GPS tools om GPS informatie van/naar GPX formaat te importeren/exporteren. Er is ook ondersteuning om andere GPS formaten direct te kunnen inlezen/schrijven naar GPS apparaten. (onder Linux, is usb: toegevoegd aan de lijst van ondersteunde GPS toestellen)

\item {} 
Bekijk en bewerk gegevens van OpenStreetMap

\item {} 
Maak lagen aan in PostGIS vanuit shape bestanden met de SPIT plugin

\item {} 
Verbeterde ondersteuning van PostGIS tabellen

\item {} 
Beheer attribuutwaarden van vector data met de nieuwe attributen tabel (zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-attribute-table]{\emph{Werken met de Attributen Tabel}}}) of de Table Manager plugin

\item {} 
Sla screenshots op als gegeorefereerde afbeeldingen

\end{itemize}


\section{Analyseer data}
\label{docs/user_manual/preamble/features:analyse-data}
Men kan verschillende spatiale analyses uitvoeren op PostGIS en andere door OGR ondersteunde formaten gebruikmakende van de fTools plugin. QGIS bied momenteel aan vector analyses, sampling, geoprocessing, geometrie en database beheer tools. Men kan ook de geïntegreerde GRASS tools gebruiken, die de volledige set van meer dan 400 modules van GRASS functionaliteit bevat (zie {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-grass]{\emph{GRASS GIS Integration}}}). Of gebruik SEXTANTE die QGIS voorziet van een krachtig geospatiaal analyse framework waarmee eigen en derde partijen algoritmes kunnen worden aangeroepen vanuit QGIS zoals GDAL, SAGA, GRASS, fTools en meer (zie {\hyperref[docs/user_manual/sextante/index:label-sextante]{\emph{SEXTANTE}}}).


\section{Publiceer kaarten op het Internet}
\label{docs/user_manual/preamble/features:publish-maps-on-the-internet}
Met QGIS kan een zogenaamde mapfile van kaartgegevens geëxporteerd worden waarmee de kaart zoals men deze heeft geconfigureerd binnen QGIS kan publiceren als kaart op internet via een webserver waarop UMN MapServer is geinstalleerd. QGIS kan behalve als WMS, WMS-C of als WFS, WFS-T client ook als WMS of WFS server gebruikt worden (zie {\hyperref[docs/user_manual/working_with_ogc/index:sec-ogc]{\emph{Werken met OGC Data}}}).


\section{QGIS functionaliteit uitbreiden met plugins}
\label{docs/user_manual/preamble/features:extend-qgis-functionality-through-plugins}
QGIS kan aangepast worden aan jouw speciale behoeften door gebruik te maken van de plugin architecture en uitbreidingen te kiezen. QGIS biedt daarnaast de mogelijkheid om functionaliteit uit te breiden door zelf plugins te maken. Men kan zelfs besluiten om een nieuwe GIS applicatie te maken gebruik makende van C++ of Python!


\subsection{Standaard Plugins}
\label{docs/user_manual/preamble/features:core-plugins}\begin{enumerate}
\item {} 
Voeg Tekstgescheiden kaartlagen toe (Laad en toon tekstbestanden waarbij velden, gescheiden door een scheidingsteken, x \& y coördinaten bevatten)

\item {} 
Coördinaat Prikker (Geeft de coördinaten in verschillende CRS via de muis)

\item {} 
DB Manager (voor het uitwisselen, bewerken en bekijken van kaartlagen en tabellen; uitvoeren van SQL queries)

\item {} 
Diagram overlay (Het plaatsen van diagrammen in vector lagen)

\item {} 
Dxf2Shp Converter (Converteert DXF naar Shape bestanden)

\item {} 
GPS gereedschap (Voor het laden en importeren van GPS-data)

\item {} 
GRASS (GRASS GIS integratie)

\item {} 
GDALTools (Integreer GDAL Tools in QGIS)

\item {} 
Georeferencer GDAL (Georefereren van raster m.b.v. GDAL)

\item {} 
Heatmap gereedschap(Genereert raster heatmaps (hittekaart) vanuit punt gegevens)

\item {} 
Interpolatie-plugin (interpoleert op basis van vector punten laag)

\item {} 
Mapserver Export (Export een QGIS project bestand naar een MapServer map file)

\item {} 
Offline Editing (Offline wijzigen en synchroniseren met database toestaan)

\item {} 
OpenStreetMap plugin (Viewer en editor voor OpenStreetmap data)

\item {} 
Oracle Spatial GeoRaster ondersteuning

\item {} 
Plugin Installer (Download en installeer QGIS python plugins)

\item {} 
Raster terrain analyse plugin (Terrein analyses gebaseerd op Raster)

\item {} 
Road graph plugin (Netwerk analyse voor het bepalen van de kortste route)

\item {} 
SPIT (Importeer Shapebestanden in een PostgreSQL/PostGIS database)

\item {} 
SQL Anywhere Plugin (Sla vector lagen op in een SQL Anywhere database)

\item {} 
Zonal statistics plugin (berekent aantal, som, gemiddeld van raster voor elke polygoon van een vector laag)

\item {} 
Ruimtelijke Query Plugin (voor het maken van ruimtelijke queries voor vector lagen)

\item {} 
eVIS (Bekijk afbeeldingen die gekoppeld zijn aan vector objecten)

\item {} 
fTools (Gereedschapskist van vector analyse en beheer tools)

\end{enumerate}


\subsection{Externe Python Plugins}
\label{docs/user_manual/preamble/features:external-python-plugins}
Het aantal python plugins die wordt aangeboden door gebruiker waarmee de QGIS functionaliteit uitgebreid kan worden welke wordt via de officiële PyQGIS gebruikers repository, groei continue en deze kunnen erg eenvoudig gevonden en geinstalleerd worden via de Python Plugin Installer (Zie {\hyperref[docs/user_manual/plugins/plugins:load-external-plugin]{\emph{Loading an external QGIS Plugin}}}).


\section{Wat is er nieuw in versie 1.8}
\label{docs/user_manual/preamble/features:what-s-new-in-the-version-1-8}
Deze versie is onderdeel van onze `cutting edge' serie. Deze versie bevat nieuwe onderdelen en de programma interface is uitgebreid ten opzichte van QGIS 1.0.x en QGIS 1.7.0. We raden aan om deze versie te gebruiken boven voorgaande versies.

In deze versie zijn honderden foutmeldingen opgelost en vele nieuwe onderdelen en verbeteringen toegevoegd die in deze handeleiding worden beschreven.

\textbf{QGIS Browser}

Een onderdeel in QGIS, die ook buiten QGIS als losse applicatie kan worden gebruik. Met de browser kun je makkelijk door je bestandensysteem zoeken en ook database connecties (PostGIS, WFS etc.) opeen, waarbij je deze vooraf kunt bekijken en middels drag en drop, (slepen en neerzetten) deze kaartgegevens kunt toevoegen aan het kaartbeeld.

\textbf{DB Manager}

De DB manager is nu officieel een onderdeel van QGIS core. Je kunt kaartlagen van QGIS Browser in de DB manager slepen waarmee je een kaartlaag in een spatiale database kunt zetten. Wanneer je een spatiale tabel van de ene spatiale database naar een andere sleept zal deze daarin worden geïmporteerd. Je kunt de DB manager gebruiken om een SQL-queries uit te voeren en het resultaat daarvan zien door deze aan het kaartbeeld toe te voegen. Je kunt ook tabellen aanmaken, wijzigen verwijderen en leegmaken en deze naar een andere database schema verplaatsen.

\textbf{Terrein Analyse Plugin}

Een nieuwe standaard plugin is toegevoegd voor het doen van terrein analyses (helling, hellingoriëntatie, reliëfschaduw, reliëf en ruwheids index).

\textbf{Nieuwe symboollaag typen}
\begin{itemize}
\item {} 
Lijnarcering vulpatroon

\item {} 
Puntarcering vulpatroon

\item {} 
Ellipsen renderen (tekent ellipsen maar ook rechthoeken, driehoeken, kruizen)

\end{itemize}

\textbf{Nieuwe plugin repository}

Let op, de oude plugin repositories worden niet langer ondersteund; de schrijvers van plugins wordt vriendelijk verzocht om hun plugins toe te voegen aan de nieuwe repository. Bekijk de lijst van QGIS Plugins op \href{http://plugins.qgis.org/plugins/}{http://plugins.qgis.org/plugins/}.

\textbf{Meer nieuwe functionaliteit}
\begin{itemize}
\item {} 
Ondersteuning voor het nesten van projecten waarbij een project (+inhoud) onderdeel uitmaakte van een ander project

\item {} 
Groeps selectie: De optie om lagen te groeperen tot een groep

\item {} 
Berichten log: Je kunt de berichten in de gaten houden die QGIS aanmaakt tijdens het starten en tijdens gebruik

\item {} 
GUI instellingen: De gebruikers interface van QGIS kan eenvoudig worden aangepast door schermonderdelen (zoals panelen en werkbalken) in de applicatie te verbergen

\item {} 
De Actie Tool is nu beschikbaar vanuit de werkbalk Attributen en geeft de mogelijkheid om een actie uit te voeren voor een vector object waarop je klikt

\item {} 
Nieuwe schaal selectie : Selecteer een schaal van een lijst van voorgedefinieerde schalen

\item {} 
Verschuif naar Selectie tool: Verschuif de kaart naar geselecteerd(e) object(en); veranderd niet de schaal

\item {} 
Kopiëer en plak stijlen tussen lagen

\item {} 
Het menu waarmee je het Ruimtelijk Referentie Systeem (CRS) kunt selecteren is bijgewerkt

\item {} 
Definieer een Legenda-onafhankelijke tekenvolgorde

\item {} 
Ondersteuning voor MSSQL Spatial - Je hebt nu ook Microsoft SQL Server spatiale databases gebruiken in QGIS

\item {} 
Print Composers meerdere regels op legenda onderdelen is mogelijk door gebruik te maken van een speciaal karakter

\item {} 
Labeling is nu mogelijk op basis van expressies

\item {} 
Heatmap Plugin - een nieuwe basis plugin is toegevoegd voor het genereren van raster heatmaps (hittekaarten) vanuit punt gegevens

\item {} 
De gebruikersinterface van GPS live tracking is sterk gewijzigd en vele verbeteringen zijn eraan toegevoegd

\item {} 
Het menu is iets ander ingedeeld - Er zijn nu aparte menu's voor Vector, Raster, Web en vele plugins zijn aangepast zodat deze kunnen worden opgestart vanuit de Vector, Raster of het Web menu

\item {} 
Verspring Curve - een nieuwe digitaliseer hulpmiddel waarmee je de nieuwe ligging van een lijn/vlak in een richting kunt laten verspringen t.o.v. de oorspronkelijke ligging

\item {} 
Nieuwe hulpmiddelen Geometrieën verdichten en Ruimtelijke index aanmaken toegevoegd in het Vector menu

\item {} 
De Export/toevoegen geometry kolom hulpmiddel kan nu gegevens exporteren met de CRS van de laag, CRS van het project of de ellipsoïde gemeten lengten

\item {} 
Model/view gebaseerde boom voor regels in regels gebaseerde rendering

\item {} 
Verbetering van Favoriete Plaatsen (Spatial Bookmarks)

\item {} 
Nieuwe plugin metadata in metadata.txt

\item {} 
Refactoring van de postgres data provider: ondersteuning van willekeurige sleutelveld (inclusief niet-numerieke en meerdere kolommen), ondersteuning voor het opvragen van bepaald geometrie type en/of srid in QgsDataSourceURI

\item {} 
Toegevoegd gdal\_fillnodata aan GDALTools plugin

\item {} 
Ondersteuning voor PostGIS TopoGeometry datatype

\item {} 
Python bindings voor vector veld symbool laag en generieke verbeteringen aan de Python bindings (programma interface)

\item {} 
Een Benchmark programma is toegevoegd

\item {} 
Toegevoegd Row cache voor attributen tabel

\item {} 
UUID generation widget voor attribuut tabel

\item {} 
Toegevoegd ondersteuning voor views die bewerkt kunnen worden van Spatiale databases

\item {} 
Toegevoegd Expressie gebaseerde widget in de veld calculator

\item {} 
Aanmaken van event lagen in analysis lib gebruik makende van linear referencing

\item {} 
Laden/opslaan van stijlen in de nieuwe symbologie renderer van/naar een SLD document

\item {} 
QGIS Server kan ook dienen als WFS Server

\item {} 
WFS ondersteuning is nu een standaard functionaliteit van QGIS

\item {} 
De mogelijkheid om WKT geometry over te slaan wanneer gekopieerd word van attribuut tabellen

\item {} 
Ondersteuning voor het rechtsstreeks laden van kaartgegevens uit zipped en gzipped bestanden

\item {} 
De QGIS test suite zal iedere nacht alle ingebouwde unit testen uitvoeren op belangrijke OS systemen

\item {} 
Je kunt de tegelgrootte opgeven voor WMS lagen

\end{itemize}


\chapter{Beginnen}
\label{docs/user_manual/introduction/getting_started:label-getstarted}\label{docs/user_manual/introduction/getting_started:getting-started}\label{docs/user_manual/introduction/getting_started::doc}
Dit hoofdstuk geeft een snel overzicht van de installatie van QGIS, voorbeeld data die gedownload kan worden van de QGIS web pagina en een eerste simpele GIS-sessie waarbij raster en vector kaartlagen zichtbaar worden gemaakt.


\section{Installatie}
\label{docs/user_manual/introduction/getting_started:label-installation}\label{docs/user_manual/introduction/getting_started:installation}
Het installeren van QGIS is eenvoudig. Er zijn standaard installatiepakketten beschikbaar voor MS Windows en Mac OS X. Voor GNU/Linux distributies bestaan er zogenaamde binary packages (rpm and deb) of software repositories die toegevoegd en daarmee gedownload kunnen worden m.b.v. de installatie manager. De laatste informatie over binary packages is beschibaar op de QGIS website onder \href{http://download.qgis.org}{http://download.qgis.org}.


\subsection{Installatie vanuit broncode}
\label{docs/user_manual/introduction/getting_started:installation-from-source}
Wanneer je QGIS vanuit de broncode wilt opbouwen zie de installatie instructies. Deze worden gedistribueerd met de QGIS broncode in een bestand met de naam `INSTALL'. Deze is ook online beschikbaar zie \href{https://github.com/qgis/Quantum-GIS/blob/master/INSTALL}{https://github.com/qgis/Quantum-GIS/blob/master/INSTALL}


\subsection{Installatie op een extern medium}
\label{docs/user_manual/introduction/getting_started:installation-on-external-media}
Het is mogelijk om QGIS op een USB stick of een ander extern medium te zetten met plugins, persoonlijke instellingen en data. Dit kan door gebruik te maken van de –configpath optie als extra opstart argument mee te geven die het standaardpad (bijv. \textasciitilde{}/.qgis onder linux) die gebruikt word voor de gebruikersconfiguratie en instellingen (QSettings gebruikt dan nl. dit pad).


\section{Voorbeeld Data}
\label{docs/user_manual/introduction/getting_started:label-sampledata}\label{docs/user_manual/introduction/getting_started:sample-data}
De gebruikershandleiding bevat voorbeelden die gebaseerd zijn op de QGIS voorbeeld dataset.

\includegraphics[width=1em]{win.png} Het installatiepakket voor Windows, bevat de optie om ook de QGIS voorbeeld dataset te downloaden. Wanneer die optie wordt aangevinkt, zal de data worden gedownload en geplaatst onder Mijn Documenten in een folder genaamd GIS Database. Je kunt uiteraard de Windows Explorer gebruiken om deze folder ergens anders neer te zetten. Wanneer je de optie niet hebt aangevinkt om de voorbeeld database te downloaden tijdens de installie van QGIS, kan men
\begin{itemize}
\item {} 
GIS data gebruiken die je al hebt;

\item {} 
de voorbeeld dataset downloaden van de QGIS website \href{http://download.qgis.org}{http://download.qgis.org}; of

\item {} 
de installatie verwijderen en QGIS opnieuw installeren, maar deze keer met de data download optie aangevinkt, maar doe die alleen als je problemen had met de voorgaande keuzes.

\end{itemize}

\includegraphics[width=1em]{nix.png} \includegraphics[width=1em]{osx.png} Voor GNU/Linux en Mac OSX is de voorbeeld dataset nog niet beschikbaar via RPM, deb of dmg packages. Download de voorbeeld dataset door het gecomprimeerd bestand qgis\_sample\_data als ZIP of TAR archief te dowloaden van \href{http://download.osgeo.org/qgis/data/}{http://download.osgeo.org/qgis/data/} en pak deze vervolgens uit met unzip of untar op jouw systeem. De Alaska dataset bevat de GIS data die is gebruikt in de voorbeelden en in de screenshots van de gebruikershandleiding. Ook is er een kleine GRASS database gebruikt in de voorbeelden. De gebruikte projectie voor de qgis voorbeeld dataset is Alaska Albers Equal Area met als lengte-eenheid de Engelse lengtemaat feet (1 ft=0.305 m). De EPSG code is 2964.

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{PROJCS}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{Albers Equal Area}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
    \PYG{n}{GEOGCS}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{NAD27}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
        \PYG{n}{DATUM}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{North\PYGZus{}American\PYGZus{}Datum\PYGZus{}1927}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}
            \PYG{n}{SPHEROID}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{Clarke 1866}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mf}{6378206.4}\PYG{p}{,}\PYG{l+m+mf}{294.978698213898}\PYG{p}{,}
                \PYG{n}{AUTHORITY}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{EPSG}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{7008}\PYG{l+s}{\PYGZdq{}}\PYG{p}{]}\PYG{p}{]}\PYG{p}{,}
            \PYG{n}{TOWGS84}\PYG{p}{[}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{3}\PYG{p}{,}\PYG{l+m+mi}{142}\PYG{p}{,}\PYG{l+m+mi}{183}\PYG{p}{,}\PYG{l+m+mi}{0}\PYG{p}{,}\PYG{l+m+mi}{0}\PYG{p}{,}\PYG{l+m+mi}{0}\PYG{p}{,}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{,}
            \PYG{n}{AUTHORITY}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{EPSG}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{6267}\PYG{l+s}{\PYGZdq{}}\PYG{p}{]}\PYG{p}{]}\PYG{p}{,}
        \PYG{n}{PRIMEM}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{Greenwich}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mi}{0}\PYG{p}{,}
            \PYG{n}{AUTHORITY}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{EPSG}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{8901}\PYG{l+s}{\PYGZdq{}}\PYG{p}{]}\PYG{p}{]}\PYG{p}{,}
        \PYG{n}{UNIT}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{degree}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mf}{0.0174532925199433}\PYG{p}{,}
            \PYG{n}{AUTHORITY}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{EPSG}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{9108}\PYG{l+s}{\PYGZdq{}}\PYG{p}{]}\PYG{p}{]}\PYG{p}{,}
        \PYG{n}{AUTHORITY}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{EPSG}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{4267}\PYG{l+s}{\PYGZdq{}}\PYG{p}{]}\PYG{p}{]}\PYG{p}{,}
    \PYG{n}{PROJECTION}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{Albers\PYGZus{}Conic\PYGZus{}Equal\PYGZus{}Area}\PYG{l+s}{\PYGZdq{}}\PYG{p}{]}\PYG{p}{,}
    \PYG{n}{PARAMETER}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{standard\PYGZus{}parallel\PYGZus{}1}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mi}{55}\PYG{p}{]}\PYG{p}{,}
    \PYG{n}{PARAMETER}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{standard\PYGZus{}parallel\PYGZus{}2}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mi}{65}\PYG{p}{]}\PYG{p}{,}
    \PYG{n}{PARAMETER}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{latitude\PYGZus{}of\PYGZus{}center}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mi}{50}\PYG{p}{]}\PYG{p}{,}
    \PYG{n}{PARAMETER}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{longitude\PYGZus{}of\PYGZus{}center}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{154}\PYG{p}{]}\PYG{p}{,}
    \PYG{n}{PARAMETER}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{false\PYGZus{}easting}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{,}
    \PYG{n}{PARAMETER}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{false\PYGZus{}northing}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{,}
    \PYG{n}{UNIT}\PYG{p}{[}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{us\PYGZus{}survey\PYGZus{}feet}\PYG{l+s}{\PYGZdq{}}\PYG{p}{,}\PYG{l+m+mf}{0.3048006096012192}\PYG{p}{]}\PYG{p}{]}
\end{Verbatim}

Wanneer je QGIS wilt gebruiken als de grafische gebruikersinterface om te werken met GRASS databases, kun je ook voorbeeld gegevens vinden (Spearfish en South Dakota) op de officiële GRASS GIS website van GRASS http: //grass.osgeo.org/download/data.php.


\section{Voorbeeld Sessie}
\label{docs/user_manual/introduction/getting_started:sample-session}\label{docs/user_manual/introduction/getting_started:samplesession}
Nu QGIS is geïnstalleerd en je beschikt over voorbeeldgegevens, kunnen we het gebruik van QGIS demonstreren via een eenvoudige sessie. We zullen kaartgegevens in raster- en vectorformaat laden en zichtbaar maken. We gebruiken daarvoor de landcover raster laag \code{qgis\_sample\_data/raster/landcover.img} en de vectorlaag lakes \code{qgis\_sample\_data/gml/lakes.gml}.


\subsection{Start QGIS}
\label{docs/user_manual/introduction/getting_started:start-qgis}\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png} Start QGIS door ``QGIS'' in te typen op de commando regel, of door deze te starten vanuit het Applicaties menu.

\item {} 
\includegraphics[width=1em]{win.png} Start QGIS vanuit het Start menu of vanuit de snelkoppeling op je bureaublad of door te dubbelklikken op een QGIS project.

\item {} 
\includegraphics[width=1em]{osx.png} Dubbelklik op het icoontje van QGIS in de Applicatie folder.

\end{itemize}
\phantomsection\label{docs/user_manual/introduction/getting_started:fig-simple-session}

\subsection{Laad een raster- en vectorkaart uit de voorbeeld dataset}
\label{docs/user_manual/introduction/getting_started:load-raster-and-vector-layers-from-the-sample-dataset}\begin{enumerate}
\item {} 
Klik op het icoon \includegraphics[width=1.5em]{mActionAddRasterLayer.png} $^{\text{Rasterlaag Toevoegen}}$.

\item {} 
Ga naar de folder \code{qgis\_sample\_data/raster/}, selecteer het ERDAS Img bestand \code{landcover.img} en klik op \textbf{{[}Open{]}}.

\item {} 
Wanneer het bestand niet in de lijst voorkomt, controleer dan of het juiste bestandstype is geselecteerd in dit geval ``Erdas Imagine Images (\code{*.img}, \code{*.IMG})''.

\item {} 
Klik vervolgens op het icoon \includegraphics[width=1.5em]{mActionAddOgrLayer.png} $^{\text{Vectorlaag Toevoegen}}$.

\item {} 
De \includegraphics{radiobuttonon.png} \emph{Bestand} dient te worden geselecteerd als Databron in de dialoog \emph{Vectorlaag toevoegen}. Klik op de knop**{[}Bladeren{]}** om het vectorbestand te selecteren.

\item {} 
Ga naar de folder \code{qgis\_sample\_data/gml/}, selecteer ``GML'' als bestandstype, selecteer het GML bestand \code{lakes.gml} en klik op \textbf{{[}Open{]}}, klik in het menu Toevoegen Vector op \textbf{{[}OK{]}} .

\item {} 
Zoom een beetje in op een gebied met enkele meren.

\item {} 
Dubbelklik op de kaartlaag \code{lakes} in het lagen panel aan de linkerkant, om de dialoog \emph{Eigenschappen} te openen.

\item {} 
Selecteer het tabblad \emph{Stijl} en selecteer blauw als vulkleur.

\item {} 
Selecteer het tabblad \emph{Labels} en vink de optie \includegraphics{checkbox.png} \emph{Toon labels} aan. Kies als Veld te gebruiken voor labels, het veld NAMES.

\item {} 
Om de leesbaarheid van de labels te vergroten, kun je er een witte buffer omheen tekenen. Deze staat onderin het menu, gebruik eventueel de schuifbalk aan de rechterkant van dit tabblad of maak het scherm van de dialoog Laag Eigenschappen groter. Vink vervolgens de optie \includegraphics{checkbox.png} \emph{Labels met buffer} en kies 3 als waarde voor Grootte van buffer.

\item {} 
Klik op \textbf{{[}Apply{]}}, en controleer of het resultaat er goed uitziet, klik tenslotte op \textbf{{[}OK{]}}.

\end{enumerate}

U ziet hoe eenvoudig het is om Raster en Vector gegevens te tonen in QGIS. Laten we verder gaan om meer te leren over de beschikbare functionaliteit, eigenschappen en mogelijke instellingen en hoe deze te gebruiken.


\section{Het starten en afsluiten van QGIS}
\label{docs/user_manual/introduction/getting_started:label-startingqgis}\label{docs/user_manual/introduction/getting_started:starting-and-stopping-qgis}
In {\hyperref[docs/user_manual/introduction/getting_started:samplesession]{\emph{Voorbeeld Sessie}}} heb je geleerd hoe je QGIS kunt starten. Dit komt nogmaals aan bod en we zullen ook laten zien dat QGIS opgestart kan worden met extra opties op de opdrachtregel.
\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png} Er vanuitgaande dat het pad naar QGIS is opgenomen in PATH, kun je QGIS opstarten door: qgis op de opdrachtregel in te typen of door te dubbelklikken op de snelkoppeling naar de QGIS applicatie op het bureaublad of in het applicatiemenu.

\item {} 
\includegraphics[width=1em]{win.png} Start QGIS door in het Start-menu of via een snelkoppeling op het bureaublad, of dubbelklik op een QGIS project bestand.

\item {} 
\includegraphics[width=1em]{osx.png} Dubbelklik op het icoon van QGIS in je Applicatie folder. Wanneer je QGIS wilt opstarten vanuit een terminal-venster, start deze dan op met: /pad-naar-installatie-executable/Contents/MacOS/Qgis.

\end{itemize}

Om QGIS af te sluiten, klic in het menu \includegraphics[width=1em]{nix.png} \includegraphics[width=1em]{win.png} \emph{Bestand} \includegraphics[width=1em]{osx.png} \emph{QGIS \(\rightarrow\) Afsluiten} Om QGIS af te sluiten, of gebruik de toetsencombinatie \code{Ctrl+Q}.


\section{Commando Regel Opties}
\label{docs/user_manual/introduction/getting_started:label-commandline}\label{docs/user_manual/introduction/getting_started:command-line-options}
\index{command line options}
\includegraphics[width=1em]{nix.png} QGIS ondersteund een aantal opties die meegegeven kunnen worden wanneer deze gestart worden vanaf de opdrachtregel. Om een lijst van argumenten te zien die je op de opdrachtregel mee kunt geven gebruik geef \code{qgis –-help} op de opdrachtregel. Het te gebruikte statement voor QGIS en het resultaat is hieronder weergegeven:

\begin{Verbatim}[commandchars=\\\{\}]
qgis --help
Quantum GIS - 1.8.0-Lisboa 'Lisboa' (exported)
Quantum GIS (QGIS) is a viewer for spatial data sets, including
raster and vector data.
Usage: qgis [options] [FILES]
  options:
        [--snapshot filename]           emit snapshot of loaded datasets to given file
        [--width width]                 width of snapshot to emit
        [--height height]               height of snapshot to emit
        [--lang language]               use language for interface text
        [--project projectfile]         load the given QGIS project
        [--extent xmin,ymin,xmax,ymax]  set initial map extent
        [--nologo]                      hide splash screen
        [--noplugins]                   don't restore plugins on startup
        [--nocustomization]             don't apply GUI customization
        [--optionspath path]            use the given QSettings path
        [--configpath path]             use the given path for all user configuration
        [--help]                        this text

  FILES:
    Files specified on the command line can include rasters,
    vectors, and QGIS project files (.qgs):
    1. Rasters - Supported formats include GeoTiff, DEM
       and others supported by GDAL
    2. Vectors - Supported formats include ESRI Shapefiles
       and others supported by OGR and PostgreSQL layers using
       the PostGIS extension
\end{Verbatim}

\begin{notice}{tip}{Tip:}
\textbf{Voorbeeld gebruik argumenten opdrachtregel}

Je kunt QGIS starten door één of meerdere gegevensbestanden te geven op de opdrachtregel. Bijvoorbeeld wanneer je je in de folder qgis\_sample\_data bevindt kun je QGIS starten en tegelijkertijd een raster en een vectorbestand openen tijdens het opstarten met de volgende opdracht: \code{qgis ./raster/landcover.img ./gml/lakes.gml}
\end{notice}

\textbf{Opdrachtregel optie} \code{–-snapshot}

Deze optie geeft de mogelijkheid om een shapshot (een plaatje) te schieten in PNG formaat van de huidige view. Dit is een handige optie wanneer je heel veel projecten hebt en je snel snapshots wilt aanmaken van de projecten.

Standaard genereerd deze een PNG bestand met een resolutie van 800x600 pixels. Dit kan worden aangepast door de opties \code{–-width} en \code{–-height} mee te geven op de opdrachtregel. Een bestandsnaam kan worden meegegeven achter \code{–-snapshot}.

\textbf{Opdrachtregel optie} \code{–-lang}

Gebaseerd op de ingestelde standaard taal van je systeem zal QGIS opstarten in die taal. Wanneer je echter toch QGIS in een andere taal wilt opstarten dan kun je dit doen door een taalcode mee te geven bijvoorbeeld: \code{–-lang=it} start QGIS in het italiaans. Een lijst van de huidige ondersteunde talen met taalcode is gegeven op \href{http://hub.qgis.org/wiki/quantum-gis/GUI\_Translation\_Progress}{http://hub.qgis.org/wiki/quantum-gis/GUI\_Translation\_Progress}

\textbf{Opdrachtregel optie} \code{–-project}

Het opstarten van QGIS met een bestaand projectbestand is ook mogelijk. Voeg aan de opdrachtregel de optie \code{–-project} gevolgd door het QGIS project bestand waarmee je QGIS wilt openen.

\textbf{Opdrachtregel optie} \code{–-extent}

Met deze optie kun je precies geografische gebied aangeven dat je in direct na het opstarten in beeld wilt zien. De volgende coordinaten van de linker onderhoek en de rechterbovenhoek dienen gescheiden met een comma als volgt ingegeven te worden:

\begin{Verbatim}[commandchars=\\\{\}]
--extent xmin,ymin,xmax,ymax
\end{Verbatim}

\textbf{Opdrachtregel optie} \code{–-nologo}

Hiermee start je QGIS op zonder het eerste intro scherm van QGIS te zien.

\textbf{Opdrachtregel optie} \code{–-noplugins}

Wanneer het opstarten problemen geeft en je denkt dat dit veroorzaakt wordt door plugins, kun je deze optie meegeven zodat de plugins niet direct worden bijgeladen tijdens het opstarten. De plugins zullen wel beschikbaar en te starten zijn vanuit de QGIS Plugins Manager.

\textbf{Opdrachtregel optie} \code{–-nocustomization}

Met deze opdrachtregel optie zullen bestaande GUI aanpassingen niet worden toegepast tijdens het opstarten.

\textbf{Opdrachtregel optie} \code{–-optionspath}

Je kunt meerdere configuraties maken met welke instellingen QGIS opstart. Zie ref:\emph{gui\_options} waar de opslag van de voorkeursinstellingen van QGIS voor de verschillende platforms worden opgeslagen. Je kunt op dit moment niet een bestand aanmaken dus je hebt eerst een bestaande configuratie nodig die je vervolgens copieert naar een andere en vervolgens de instellingen van QGIS aanpast, bij het afsluiten worden de instellingen naar het nieuwe configuratiebestand opgeslagen.

\textbf{Opdrachtregel optie} \code{–-configpath}

Deze optie lijkt sterk op voorgaande optie, maar daarbij wordt ook het standaard pad /.qgis overschreven voor de voorkeursinstellingen van QGIS en dwingt QSettings om in plaats daarvan gegeven folder te gebruiken. Gebruik van deze optie geeft gebruikers de mogelijkheid om de QGIS installatie met alle plugins en instellingen op een USB-stick te zetten en van daaruit op te starten.


\section{Projecten}
\label{docs/user_manual/introduction/getting_started:sec-projects}\label{docs/user_manual/introduction/getting_started:projects}
De staat van een QGIS sessie wordt beschouwd als een project. QGIS werkt met één project tegelijkertijd. Instellingen kunnen betrekking hebben op het project, maar ook standaardinstellingen betreffen voor nieuwe projecten (zie {\hyperref[docs/user_manual/introduction/qgis_configuration:gui-options]{\emph{Opties}}}). QGIS kan de huidige staat opslaan in een project bestand met de menu opties \emph{Bestand \(\rightarrow\)} \includegraphics[width=1.5em]{mActionFileSave.png} $^{\text{Project opslaan}}$ of \emph{Bestand \(\rightarrow\)} \includegraphics[width=1.5em]{mActionFileSaveAs.png} \emph{Project opslaan als...}.

Laad een opgeslagen project in de huidige QGIS session met \emph{Bestand \(\rightarrow\)} \includegraphics[width=1.5em]{mActionFileOpen.png} \emph{Open Project...} of \emph{Bestand \(\rightarrow\) Open Recente Projecten}.

Wanneer je de huidige sessie wilt opschonen en met een nieuwe wilt beginnen, kies \emph{Bestand \(\rightarrow\)} \includegraphics[width=1.5em]{mActionFileNew.png} \emph{Nieuw Project}. Beide menu opties zullen met de vraag komen of je de laatste wijzigingen wilt opslaan, wanneer er wijzigingen zijn geweest sinds de laatste keer dat je het project hebt opgeslagen of geopend.

De informatie die wordt opgeslagen in een projectbestand zijn:
\begin{itemize}
\item {} 
De toegevoegde kaartlagen

\item {} 
De eigenschappen van elke laag, inclusief symbologie

\item {} 
Gebruikte coordinatensysteem voor het kaartbeeld

\item {} 
De grootte en inhoud van de kaart zoals je deze het laatst zag

\end{itemize}

Het projectbestand wordt opgeslagen in XML formaat, wat een formaat is dat men ook buiten QGIS eenvoudig kan bewerken, maar dan moet je wel voorzichtig zijn met wijzigingen. De opbouw van het XML bestand is gewijzigd met het uitkomen van nieuwe versies van QGIS. De kans is groot dat delen van oudere projectbestanden op een gegeven moment niet meer goed functioneren. Om hiervan op de hoogte te worden gehouden kan men in het tabblad \emph{Algemeen} tab under \emph{Instellingen \(\rightarrow\) Opties} het volgende aanvinken:

\includegraphics{checkbox.png} \emph{Geef een waarschuwing om project op te slaan indien nodig}

\includegraphics{checkbox.png} \emph{geef een waarschuwing bij het openen van een projectfile uit een oudere versie van QGIS}


\section{Eindproducten}
\label{docs/user_manual/introduction/getting_started:output}\label{docs/user_manual/introduction/getting_started:sec-output}
\index{output save as image}
\index{print composer quick print}
Er zijn verschillende manieren om eindproducten te maken vanuit je QGIS sessie. We hebben al een manier besproken in {\hyperref[docs/user_manual/introduction/getting_started:sec-projects]{\emph{Projecten}}} opslaan als een project bestand. Hier is een voorbeeld van andere manieren om eindproducten te genereren:
\begin{itemize}
\item {} 
Menu optie \emph{Bestand \(\rightarrow\)} \includegraphics[width=1.5em]{mActionSaveMapAsImage.png} $^{\text{Opslaan als afbeelding...}}$ opent een bestandsdialoog waarmee je de naam, het pad en een afbeeldingstype (PNG of JPG formaat) kunt selecteren waarmee deze wordt opgslagen. Er wordt automatisch een \emph{world file} toegevoegd die de afbeelding een goede georeferentie meegeven.

\item {} 
Menu optie:menuselection:\emph{Bestand --\textgreater{}} \includegraphics[width=1.5em]{mActionNewComposer.png} \emph{Nieuwe Print Layouter} opent een nieuw scherm waarmee je een nieuwe kaartlayout kunt maken waarin het kaartbeeld kan worden verwerkt om deze vervolgens af te drukken (zie {\hyperref[docs/user_manual/print_composer/print_composer:label-printcomposer]{\emph{Print Composer}}}).

\end{itemize}


\chapter{Gebruikersinterface van QGIS}
\label{docs/user_manual/introduction/qgis_gui:label-qgismainwindow}\label{docs/user_manual/introduction/qgis_gui:qgis-gui}\label{docs/user_manual/introduction/qgis_gui::doc}
Wanneer QGIS start zal de volgende gebruikersinterface getoond worden (de nummers 1 tot 5 in het geel refereren naar 5 belangrijke onderdelen van de gebruikersinterface):
\phantomsection\label{docs/user_manual/introduction/qgis_gui:fig-startup}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{startup.png}
\caption{QGIS GUI with Alaska sample data \includegraphics[width=1em]{nix.png}}\end{figure}

\begin{notice}{note}{Notitie:}
Dit kan enigszins afwijken afhankelijk onder welk platform QGIS draait en welke window manager je gebruikt of hoe deze is ingesteld.
\end{notice}

De QGIS gebruikersinterface is onderverdeeld in 5 gebieden:
\begin{enumerate}
\item {} 
Menubalk

\item {} 
Werkbalk

\item {} 
Legenda

\item {} 
Kaartbeeld

\item {} 
Statusbalk

\end{enumerate}

Deze vijf onderdelen worden in de volgende subparagrafen in detail beschreven. Daarnaast wordt in twee subparagrafen de snelkoppelingen en de context helpfunctie beschreven.


\section{Menubalk}
\label{docs/user_manual/introduction/qgis_gui:label-menubar}\label{docs/user_manual/introduction/qgis_gui:menu-bar}
\index{menus}
De menubalk biedt toegang to verschillende QGIS functies vanuit een standaard hiërarchisch opgebouwd menu. De hoofdmenu’s en een samenvatting van enkel menu-opties die zich daarin bevinden worden hieronder gegeven samen met van elk daarvan het icoon van de daarbij behorende knop op de werkbalk en bijbehorende snelkoppeling.Snelkoppelingen kunnen nu ook geconfigureerd worden (de hier beschreven snelkoppelingen zijn standaard ingesteld), gebruik de menuoptie \emph{Snelkoppelingen bewerken} onder het hoofdmenu \emph{Extra}.

Alhoewel de meeste menu opties een corresponderende knop hebben op een werkbalk en andersom zijn de menu’s toch anders ingericht dan de werkbalken. De werkbalk die de functie bevat wordt hieronder gegeven voor elke menuoptie als een aanvinkvakje. Voor meer informatie over functies en werkbalken zie {\hyperref[docs/user_manual/introduction/qgis_gui:label-toolbars]{\emph{Werkbalk}}}.


\subsection{Bestand}
\label{docs/user_manual/introduction/qgis_gui:file}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\includegraphics[width=1.5em]{mActionFileNew.png} \emph{Nieuw Project}
 & 
\code{Ctrl+N}
 & 
zie  {\hyperref[docs/user_manual/introduction/getting_started:sec-projects]{\emph{Projecten}}}
 & 
\emph{Bestand}
\\

\includegraphics[width=1.5em]{mActionFileOpen.png} \emph{Open Project}
 & 
\code{Ctrl+O}
 & 
zie  {\hyperref[docs/user_manual/introduction/getting_started:sec-projects]{\emph{Projecten}}}
 & 
\emph{Bestand}
\\

\emph{Open Recente Projecten \(\rightarrow\)}
 & 

 & 
zie  {\hyperref[docs/user_manual/introduction/getting_started:sec-projects]{\emph{Projecten}}}
 & 

\\

\includegraphics[width=1.5em]{mActionFileSave.png} \emph{Project opslaan}
 & 
\code{Ctrl+S}
 & 
zie  {\hyperref[docs/user_manual/introduction/getting_started:sec-projects]{\emph{Projecten}}}
 & 
\emph{Bestand}
\\

\includegraphics[width=1.5em]{mActionFileSaveAs.png} \emph{Project opslaan als}
 & 
\code{Ctrl+Shift+S}
 & 
zie  {\hyperref[docs/user_manual/introduction/getting_started:sec-projects]{\emph{Projecten}}}
 & 
\emph{Bestand}
\\

\includegraphics[width=1.5em]{mActionSaveMapAsImage.png} \emph{Opslaan als afbeelding}
 & 

 & 
see {\hyperref[docs/user_manual/introduction/getting_started:sec-output]{\emph{Eindproducten}}}
 & 

\\

\includegraphics[width=1.5em]{mActionNewComposer.png} \emph{Nieuwe print Layouter}
 & 
\code{Ctrl+P}
 & 
zie {\hyperref[docs/user_manual/print_composer/print_composer:label-printcomposer]{\emph{Print Composer}}}
 & 
\emph{Bestand}
\\

\includegraphics[width=1.5em]{mActionComposerManager.png} \emph{Layouter manager}
 & 

 & 
zie {\hyperref[docs/user_manual/print_composer/print_composer:label-printcomposer]{\emph{Print Composer}}}
 & 
\emph{Bestand}
\\

\emph{Print Layouter \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/print_composer/print_composer:label-printcomposer]{\emph{Print Composer}}}
 & 

\\

\includegraphics{mActionFileExit.png} \emph{Afsluiten}
 & 
\code{Ctrl+Q}
 & 

 & 

\\
\hline\end{tabulary}



\subsection{Bewerken}
\label{docs/user_manual/introduction/qgis_gui:edit}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\includegraphics[width=1.5em]{mActionUndo.png} \emph{Ongedaan maken}
 & 
\code{Ctrl+Z}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionRedo.png} \emph{Opnieuw}
 & 
\code{Ctrl+Shift+Z}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionEditCut.png} \emph{Kaartobjecten knippen}
 & 
\code{Ctrl+X}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionEditCopy.png} \emph{Kaartobjecten kopiëren}
 & 
\code{Ctrl+C}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionEditPaste.png} \emph{Kaartobjecten Plakken}
 & 
\code{Ctrl+V}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionCapturePoint.png} \emph{Object toevoegen}
 & 
\code{Ctrl+.}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionMoveFeature.png} \emph{Object(en) Verplaatsen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionDeleteSelected.png} \emph{Geselecteerd(e) Object(en) Verwijderen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=2em]{mActionSimplify.png} \emph{Versimpel Object}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=2em]{mActionAddRing.png} \emph{Ring Toevoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=2em]{mActionAddIsland.png} \emph{Onderdeel Toevoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=2em]{mActionDeleteRing.png} \emph{Verwijder Ring}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=2em]{mActionDeletePart.png} \emph{Verwijder Onderdeel}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionReshape.png} \emph{Object vervormen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionOffsetCurve.png} \emph{Verspring Curve}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionSplitFeatures.png} \emph{Kaartobjecten splitsen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionMergeFeatures.png} \emph{Geselecteerde objecten samenvoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionMergeFeatures.png} \emph{Attributen van geselecteerde objecten samenvoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionNodeTool.png} \emph{Knooppunt-gereedschap}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionRotatePointSymbols.png} \emph{Puntsymbolen roteren}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}
 & 
\emph{Geavanceerd Digitaliseren}
\\
\hline\end{tabulary}






Na het activeren van de Bewerken modus \includegraphics[width=1.5em]{mActionToggleEditing.png} $^{\text{Bewerken aan/uitzetten}}$ voor een geselecteerde vector kaartlaag, zal er een extra menu optie \code{Toevoegen} zijn toegevoegd in het menu \emph{Bewerken} afhankelijk van het type vector (punt, lijn of polygoon).


\subsection{Bewerken (extra)}
\label{docs/user_manual/introduction/qgis_gui:edit-extra}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\includegraphics[width=1.5em]{mActionCapturePoint.png} \emph{Object toevoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionCaptureLine.png} \emph{Object toevoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionCapturePolygon.png} \emph{Object toevoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}
 & 
\emph{Digitaliseren}
\\
\hline\end{tabulary}



\subsection{Beeld}
\label{docs/user_manual/introduction/qgis_gui:view}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\includegraphics[width=1.5em]{mActionPan.png} \emph{Kaart verschuiven}
 & 

 & 

 & 
\emph{Kaart Navigatie}
\\

\includegraphics[width=1.5em]{mActionPanToSelected.png} \emph{Kaart verschuiven naar selectie}
 & 

 & 

 & 
\emph{Kaart Navigatie}
\\

\includegraphics[width=1.5em]{mActionZoomIn.png} \emph{Inzoomen}
 & 
\code{Ctrl++}
 & 

 & 
\emph{Kaart Navigatie}
\\

\includegraphics[width=1.5em]{mActionZoomOut.png} \emph{Uitzoomen}
 & 
\code{Ctrl+-}
 & 

 & 
\emph{Kaart Navigatie}
\\

\emph{Selecteren \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/introduction/general_tools:sec-selection]{\emph{Selecteren en deselecteren van objecten}}}
 & 
\emph{Attributen}
\\

\includegraphics[width=1.5em]{mActionIdentify.png} \emph{Objecten Identificeren}
 & 
\code{Ctrl+Shift+I}
 & 

 & 
\emph{Attributen}
\\

\emph{Opmeten \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/introduction/general_tools:sec-measure]{\emph{Meten}}}
 & 
\emph{Attributen}
\\

\includegraphics[width=1.5em]{mActionZoomFullExtent.png} \emph{Volledig uitzoomen}
 & 
\code{Ctrl+Shift+F}
 & 

 & 
\emph{Kaart Navigatie}
\\

\includegraphics[width=1.5em]{mActionZoomToLayer.png} \emph{Op Kaartlaag Inzoomen}
 & 

 & 

 & 
\emph{Kaart Navigatie}
\\

\includegraphics[width=1.5em]{mActionZoomToSelected.png} \emph{Inzoomen Op Selectie}
 & 
\code{Ctrl+J}
 & 

 & 
\emph{Kaart Navigatie}
\\

\includegraphics[width=1.5em]{mActionZoomLast.png} \emph{Laatste Zoomniveau}
 & 

 & 

 & 
\emph{Kaart Navigatie}
\\

\includegraphics[width=1.5em]{mActionZoomNext.png} \emph{Zoom naar Volgende}
 & 

 & 

 & 
\emph{Kaart Navigatie}
\\

\includegraphics[width=1.5em]{mActionZoomActual.png} \emph{Zoom naar Ware Grootte}
 & 

 & 

 & 
\emph{Kaart Navigatie}
\\

\emph{Decoraties \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/introduction/general_tools:decorations]{\emph{Decoraties}}}
 & 

\\

\includegraphics[width=1.5em]{mActionMapTips.png} \emph{Kaart Tips}
 & 

 & 

 & 
\emph{Attributen}
\\

\includegraphics[width=1.5em]{mActionNewBookmark.png} \emph{Nieuwe Favoriet}
 & 
\code{Ctrl+B}
 & 
zie {\hyperref[docs/user_manual/introduction/general_tools:sec-bookmarks]{\emph{Favoriete Plaatsen}}}
 & 
\emph{Attributen}
\\

\includegraphics[width=1.5em]{mActionShowBookmarks.png} \emph{Toon Favorieten}
 & 
\code{Ctrl+Shift+B}
 & 
zie {\hyperref[docs/user_manual/introduction/general_tools:sec-bookmarks]{\emph{Favoriete Plaatsen}}}
 & 
\emph{Attributen}
\\

\includegraphics[width=1.5em]{mActionDraw.png} \emph{Bijwerken}
 & 
\code{Ctrl+R}
 &  & 
\emph{Kaart Navigatie}
\\

\emph{Tile schaalschuif}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:tilesets]{\emph{Tilesets}}}
 & 
\emph{Tile schaal}
\\
\hline\end{tabulary}



\subsection{Kaartlagen}
\label{docs/user_manual/introduction/qgis_gui:layer}
\begin{longtable}{|l|l|l|l|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline\endfirsthead

\multicolumn{4}{c}%
{{\textsf{\tablename\ \thetable{} -- Vervolgd van vorige pagina}}} \\
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline\endhead

\hline \multicolumn{4}{|r|}{{\textsf{Vervolgd op volgende pagina}}} \\ \hline
\endfoot

\endlastfoot


\emph{Nieuw \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-create-shape]{\emph{Het aanmaken van een nieuwe Vectorlaag}}}
 & 
\emph{Kaartlagen bewerken}
\\

\emph{Kaartlagen en groepen inbedden ...}
 & 

 & 
zie {\hyperref[docs/user_manual/introduction/general_tools:nesting-projects]{\emph{Projecten in een project}}}
 & 

\\

\includegraphics[width=1.5em]{mActionAddNonDbLayer.png} \emph{Vectorlaag Toevoegen}
 & 
\code{Ctrl+Shift+V}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/index:label-workingvector]{\emph{Werken met Vector Data}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{mActionAddRasterLayer.png} \emph{Rasterlaag Toevoegen}
 & 
\code{Ctrl+Shift+R}
 & 
zie {\hyperref[docs/user_manual/working_with_raster/supported_data:load-raster]{\emph{Raster data laden in QGIS}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{mActionAddLayer.png} \emph{PostGIS Laag Toevoegen}
 & 
\code{Ctrl+Shift+D}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/supported_data:label-postgis]{\emph{PostGIS kaartlagen}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{mActionAddSpatiaLiteLayer.png} \emph{Spatialite-laag Toevoegen}
 & 
\code{Ctrl+Shift+L}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/supported_data:label-spatialite]{\emph{SpatiaLite Kaartlagen}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{mActionAddMssqlLayer.png} \emph{MSSQL Spatial-Laag Toevoegen}
 & 
\code{Ctrl+Shift+M}
 & 
zie {\hyperref[docs/user_manual/working_with_vector/supported_data:label-mssql]{\emph{MSSQL Spatial kaartlagen}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{mActionAddWmsLayer.png} \emph{WMS-Laag Toevoegen}
 & 
\code{Ctrl+Shift+W}
 & 
zie {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms]{\emph{WMS Client}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{delimited_text.png} \emph{Toevoegen Tekengescheidentekst kaartlaag}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_delimited_text:label-dltext]{\emph{Delimited Text Plugin}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{gps_importer.png} \emph{Creëer nieuwe GPX laag}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_gps/plugins_gps:plugin-gps]{\emph{GPS Plugin}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{oracle_raster.png} \emph{Oracle GeoRaster Toevoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_oracle_raster:oracle-raster]{\emph{Oracle GeoRaster Plugin}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{sqlanywhere.png} \emph{SQL Anywhere Laag Toevoegen}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_sql_anywhere:sqlanywhere]{\emph{SQL Anywhere Plugin}}}
 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{wfs.png} \emph{WFS-Laag toevoegen}
 & 

 & 

 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{mActionEditCopy.png} \emph{Kopiëer stijl}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-style-tab]{\emph{Tabblad Stijl}}}
 & 

\\

\includegraphics[width=1.5em]{mActionEditPaste.png} \emph{Plak stijl}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-style-tab]{\emph{Tabblad Stijl}}}
 & 

\\

\includegraphics[width=1.5em]{mActionOpenTable.png} \emph{Open attributentabel}
 & 

 & 

 & 
\emph{Attributen}
\\

\includegraphics[width=1.5em]{mActionFileSave.png} \emph{Wijzigingen opslaan}
 & 

 & 

 & 
\emph{Digitaliseren}
\\

\includegraphics[width=1.5em]{mActionToggleEditing.png} \emph{Bewerken aan/uitzetten}
 & 

 & 

 & 
\emph{Digitaliseren}
\\

\emph{Opslaan als...}
 & 

 & 

 & 

\\

\emph{Selectie opslaan als vectorbestand...}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-attribute-table]{\emph{Werken met de Attributen Tabel}}}
 & 

\\

\includegraphics[width=1.5em]{mActionRemoveLayer.png} \emph{Laag/lagen verwijderen}
 & 
\code{Ctrl+D}
 & 

 & 

\\

\emph{Instellen laag-CRS}
 & 
\code{Ctrl+Shift+C}
 & 

 & 

\\

\emph{Project CRS van kaartlaag overnemen}
 & 

 & 

 & 

\\

\emph{Eigenschappen}
 & 

 & 

 & 

\\

\emph{Query...}
 & 

 & 

 & 

\\

\includegraphics[width=1.5em]{mActionLabeling.png} \emph{Labels}
 & 

 & 

 & 

\\

\includegraphics[width=1.5em]{mActionInOverview.png} \emph{Toevoegen aan Overzichtskaart}
 & 
\code{Ctrl+Shift+O}
 & 

 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{mActionAddAllToOverview.png} \emph{Alles aan Overzichtskaart Toevoegen}
 & 

 & 

 & 

\\

\includegraphics[width=1.5em]{mActionRemoveAllFromOverview.png} \emph{Verwijder Alles Van Overzichtskaart}
 & 

 & 

 & 

\\

\includegraphics[width=1.5em]{mActionShowAllLayers.png} \emph{Toon Alle Lagen}
 & 
\code{Ctrl+Shift+U}
 & 

 & 
\emph{Kaartlagen bewerken}
\\

\includegraphics[width=1.5em]{mActionHideAllLayers.png} \emph{Verberg Alle Lagen}
 & 
\code{Ctrl+Shift+H}
 & 

 & 
\emph{Kaartlagen bewerken}
\\
\hline\end{longtable}



\subsection{Instellingen}
\label{docs/user_manual/introduction/qgis_gui:settings}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\emph{Panelen \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/introduction/qgis_configuration:sec-panels-and-toolbars]{\emph{Panelen en Werkbalken}}}
 & 

\\

\emph{Werkbalken \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/introduction/qgis_configuration:sec-panels-and-toolbars]{\emph{Panelen en Werkbalken}}}
 & 

\\

\emph{Volledig scherm aan/uit}
 & 
\code{Ctrl-F}
 & 

 & 

\\

\includegraphics[width=1.5em]{mActionProjectProperties.png} \emph{Projectinstellingen ...}
 & 
\code{Ctrl+Shift+P}
 & 
zie  {\hyperref[docs/user_manual/introduction/getting_started:sec-projects]{\emph{Projecten}}}
 & 

\\

\includegraphics[width=1.5em]{mActionCustomProjection.png} \emph{Aangepaste CRS ...}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_projections/working_with_projections:sec-custom-projections]{\emph{Aangepaste Coördinaten Referentie Systeem}}}
 & 

\\

\emph{Stijl Manager...}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-style-manager]{\emph{Stijl Manager}}}
 & 

\\

\includegraphics[width=1em]{mActionOptions.png} \emph{Snelkoppelingen bewerken ...}
 & 

 & 

 & 

\\

\includegraphics[width=1em]{mActionOptions.png} \emph{Aanpassingen ...}
 & 

 & 
zie {\hyperref[docs/user_manual/introduction/qgis_configuration:sec-customization]{\emph{Aanpassingen}}}
 & 

\\

\includegraphics[width=1em]{mActionOptions.png} \emph{Opties ...}
 & 

 & 
zie {\hyperref[docs/user_manual/introduction/qgis_configuration:gui-options]{\emph{Opties}}}
 & 

\\

\emph{`Snapping'-opties ...}
 & 

 & 

 & 

\\
\hline\end{tabulary}



\subsection{Plugins}
\label{docs/user_manual/introduction/qgis_gui:plugins}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\includegraphics[width=1.5em]{plugin_installer.png} \emph{Python Plugins Ophalen}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins:plugins]{\emph{QGIS Plugins}}}
 & 

\\

\includegraphics[width=1.5em]{mActionShowPluginManager.png} \emph{Plugin-manager...}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins:managing-plugins]{\emph{Managing Plugins}}}
 & 

\\

\emph{Python Console}
 & 

 & 

 & 

\\

\emph{GRASS \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-grass]{\emph{GRASS GIS Integration}}}
 & 
\emph{GRASS}
\\
\hline\end{tabulary}



\subsection{Vector}
\label{docs/user_manual/introduction/qgis_gui:vector}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\emph{Analyse Gereedschappen \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_ftools:ftools]{\emph{fTools Plugin}}}
 & 

\\

\emph{Coördinaat Klikken \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_coordinate_capture:coordcapt]{\emph{Coordinate Capture Plugin}}}
 & 

\\

\emph{Datamanagement Gereedschappen \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_ftools:ftools]{\emph{fTools Plugin}}}
 & 

\\

\emph{Dxf2Shp \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_dxf2shape_converter:dxf2shape]{\emph{Dxf2Shp Converter Plugin}}}
 & 
\emph{Vector}
\\

\emph{Geometrie Gereedschappen \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_ftools:ftools]{\emph{fTools Plugin}}}
 & 

\\

\emph{Geoprocessing Gereedschap \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_ftools:ftools]{\emph{fTools Plugin}}}
 & 

\\

\emph{GPS \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/working_with_gps/plugins_gps:plugin-gps]{\emph{GPS Plugin}}}
 & 
\emph{Vector}
\\

\emph{Onderzoeksgereedschap \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_ftools:ftools]{\emph{fTools Plugin}}}
 & 

\\

\emph{Road Graph \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_road_graph:roadgraph]{\emph{Road Graph Plugin}}}
 & 

\\

\emph{Ruimtelijke Query \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_spatial_query:spatial-query]{\emph{Spatial Query Plugin}}}
 & 
\emph{Vector}
\\
\hline\end{tabulary}



\subsection{Raster}
\label{docs/user_manual/introduction/qgis_gui:raster}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\emph{Rasterberekeningen}
 & 

 & 
zie  {\hyperref[docs/user_manual/working_with_raster/raster_calculator:sec-raster-calc]{\emph{Rasterberekeningen}}}
 & 

\\

\emph{Georeferencer \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_georeferencer:georef]{\emph{Georeferencer Plugin}}}
 & 
\emph{Raster}
\\

\emph{Heatmap \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_heatmap:heatmap-plugin]{\emph{Heatmap Plugin}}}
 & 
\emph{Raster}
\\

\emph{Interpolatie \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_interpolation:interpol]{\emph{Interpolation Plugin}}}
 & 
\emph{Raster}
\\

\includegraphics[width=1.5em]{dem.png} \emph{Terrein Analyse}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_raster_terrain:rasterrain]{\emph{Raster Terreinanalyses Plugin}}}
 & 

\\

\emph{Gebiedsstatistieken \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_zonal_statistics:zonal-statistics]{\emph{Zonal Statistics Plugin}}}
 & 
\emph{Raster}
\\

\emph{Projecties \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_gdaltools:label-plugingdaltools]{\emph{GDAL Tools Plugin}}}
 & 

\\

\emph{Conversie \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_gdaltools:label-plugingdaltools]{\emph{GDAL Tools Plugin}}}
 & 

\\

\emph{Extractie \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_gdaltools:label-plugingdaltools]{\emph{GDAL Tools Plugin}}}
 & 

\\

\emph{Analyse \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_gdaltools:label-plugingdaltools]{\emph{GDAL Tools Plugin}}}
 & 

\\

\emph{Allerlei \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_gdaltools:label-plugingdaltools]{\emph{GDAL Tools Plugin}}}
 & 

\\

\emph{GdalTools instellingen}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_gdaltools:label-plugingdaltools]{\emph{GDAL Tools Plugin}}}
 & 

\\
\hline\end{tabulary}



\subsection{Database}
\label{docs/user_manual/introduction/qgis_gui:database}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\emph{DB manager \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_db_manager:dbmanager]{\emph{DB Manager Plugin}}}
 & 
\emph{Database}
\\

\emph{eVis \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_evis:evis]{\emph{eVis Plugin}}}
 & 
\emph{Database}
\\

\emph{Offline Bewerken \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_offline_editing:offlinedit]{\emph{Offline Editing Plugin}}}
 & 
\emph{Database}
\\

\emph{Spit \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_spit:label-spit]{\emph{SPIT Plugin}}}
 & 
\emph{Database}
\\
\hline\end{tabulary}



\subsection{Web}
\label{docs/user_manual/introduction/qgis_gui:web}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\emph{MapServer Export ... \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/plugins/plugins_mapserver_export:mapserver-export]{\emph{MapServer Export Plugin}}}
 & 
\emph{Web}
\\

\emph{OpenStreetMap \(\rightarrow\)}
 & 

 & 
zie {\hyperref[docs/user_manual/osm/openstreetmap:plugins-osm]{\emph{OpenStreetMap}}}
 & 
\emph{OpenStreetMap}
\\
\hline\end{tabulary}



\subsection{Help}
\label{docs/user_manual/introduction/qgis_gui:help}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Menu Optie
} & \textsf{\relax 
Snelkoppeling
} & \textsf{\relax 
Referentie
} & \textsf{\relax 
Werkbalk
}\\
\hline
\includegraphics[width=1.5em]{mActionHelpContents.png} \emph{Inhoudsopgave}
 & 
\code{F1}
 & 

 & 
\emph{Help}
\\

\includegraphics[width=1.5em]{whats_this.png} \emph{What's This?}
 & 
\code{Shift+F1}
 & 

 & 
\emph{Help}
\\

\emph{API documentatie}
 & 

 & 

 & 

\\

\includegraphics[width=1.5em]{mActionQgisHomePage.png} \emph{QGIS start pagina}
 & 
\code{Ctrl+H}
 & 

 & 

\\

\includegraphics[width=1.5em]{mActionCheckQgisVersion.png} \emph{QGIS op updates controleren}
 & 

 & 

 & 

\\

\includegraphics[width=1.5em]{mActionHelpAbout.png} \emph{Info}
 & 

 & 

 & 

\\

\includegraphics[width=1.5em]{mActionHelpSponsors.png} \emph{QGIS Sponsors}
 & 

 & 

 & 

\\
\hline\end{tabulary}




De hierboven genoemde Menubalk items zijn standaard allemaal aanwezig onder de KDE window managers. Onder GNOME ontbreekt het hoofdmenu Instellingen en deze kunnen hier gevonden worden:

\begin{tabulary}{\linewidth}{|L|L|}
\hline

\includegraphics[width=1.5em]{mActionProjectProperties.png} \emph{Projectinstellingen}
 & 
\emph{Bestand}
\\

\includegraphics[width=1em]{mActionOptions.png} \emph{Opties}
 & 
\emph{Bewerken}
\\

\includegraphics[width=1em]{mActionOptions.png} \emph{Snelkoppelingen bewerken ...}
 & 
\emph{Bewerken}
\\

\emph{Stijl Manager...}
 & 
\emph{Bewerken}
\\

\includegraphics[width=1.5em]{mActionCustomProjection.png} \emph{Aangepaste CRS ...}
 & 
\emph{Bewerken}
\\

\emph{Panelen \(\rightarrow\)}
 & 
\emph{Beeld}
\\

\emph{Werkbalken \(\rightarrow\)}
 & 
\emph{Beeld}
\\

\emph{Volledig scherm aan/uit}
 & 
\emph{Beeld}
\\

\emph{Tile schaalschuif}
 & 
\emph{Beeld}
\\

\emph{GPS-informatie}
 & 
\emph{Beeld}
\\
\hline\end{tabulary}



\section{Werkbalk}
\label{docs/user_manual/introduction/qgis_gui:label-toolbars}\label{docs/user_manual/introduction/qgis_gui:toolbar}
\index{toolbar}
De werkbalken geven toegang tot de meeste functies die je ook terugvindt in de menu-structuur. Elke knop op de werkbalk heeft ook een tooltip, informatie die na een tijdje automatisch verschijnt wanneer je de muisaanwijzer er even boven houdt.

Elke werkbalk kan verplaatst worden en zowel verticaal als horizontaal geplaatst worden waar jij wilt, tussen de menubalk bovenin en de statusbalk onderin. Daarnaast kun je werkbalken tijdelijk verwijderen via het popup-menu, die verschijnt wanneer je de rechtermuisknop indrukt wanneer de muisaanwijzer zich boven een werkbalk bevindt (zie ook {\hyperref[docs/user_manual/introduction/qgis_configuration:sec-panels-and-toolbars]{\emph{Panelen en Werkbalken}}}).

\index{layout toolbars}
\begin{notice}{tip}{Tip:}
\textbf{Werkbalken weer terugzetten}

Wanneer je per ongeluk al je werkbalken hebt verwijderd, dan kun je ze weer terugzetten via de menukeuze \emph{Instellingen \(\rightarrow\) Werkbalken \(\rightarrow\)}. Wanneer een werkbalk verdwenen is onder Windows, wat blijkbaar wel eens gebeurt, dan kun je dat ook oplossen door de registry key \code{\textbackslash{}HKEY\_CURRENT\_USER\textbackslash{}Software\textbackslash{}QuantumGIS\textbackslash{}qgis\textbackslash{}UI\textbackslash{}state} te verwijderen uit de registry. Wanneer je vervolgens QGIS opnieuw start zullen de werkbalken weer zichtbaar zijn.
\end{notice}


\section{Legenda}
\label{docs/user_manual/introduction/qgis_gui:map-legend}\label{docs/user_manual/introduction/qgis_gui:label-legend}
\index{legend}
Het paneel met de legenda bevat een lijst met alle geladen kaartlagen in het project. Het aanvinkvakje voor elke laag kan gebruikt worden om een laag aan of uit te zetten.

\index{layer visibility}
Een laag kan na selectie hoger of lager in de lijst gezet worden door deze te slepen met ingedrukte linker- muisknop. Hoe hoger in de lijst, hoe later deze laag getekend wordt. De bovenste kaartlaag wordt dan ook over alle andere kaartlagen getekend.

Lagen in het Legenda venster, kunnen georganiseerd worden in groepen. Er zijn twee manieren om dit te doen:
\begin{enumerate}
\item {} 
Start, door in de legenda op de rechtermuisknop in te drukken, het snelmenu op en kies daarin voor \emph{Groep toevoegen}.Vervolgens kun je de groep een naam geven en op \code{Enter} drukken.

\item {} 
Selecteer enkele lagen, start met de rechtermuisknop het snelmenu vanuit het paneel van de legenda en kies \emph{Groep geselecteerd}. De geselecteerde lagen zullen automatisch aan de nieuwe groep worden toegevoegd.

\end{enumerate}

Om een laag uit een groep te halen kun je deze eruit slepen, of door een laag in een groep te selecteren en dan via de rechtermuis het snelmenu te openen en te kiezen voor \emph{Maak hier een toplevel item van}. Een groep kan groepen bevatten.

Met het aanvinkvakje kun je ineens de zichtbaarheid van alle lagen die behoren tot die groep aan- of uitzetten.

De inhoud van het snelmenu, die je met de rechtermuisknop kunt oproepen voor een geselecteerde legenda object, is afhankelijk van wat voor laag je selecteert. Deze is anders voor vector of raster kaartlagen en wanneer het een GRASS vector laag betreft ontbreekt de menu-optie \emph{bewerken aan/uitzetten}. Zie section {\hyperref[docs/user_manual/grass_integration/grass_integration:grass-digitizing]{\emph{Digitizing and editing a GRASS vector layer}}} voor informatie hoe je GRASS vector kaartlagen kunt bewerken.

\textbf{Snelmenu onder rechtermuisknop voor raster lagen}
\begin{itemize}
\item {} 
\emph{Zoom naar laagextent}

\item {} 
\emph{Zoom naar beste schaal (100\%)}

\item {} 
\emph{Toon in overzichtskaart}

\item {} 
\emph{Verwijder}

\item {} 
\emph{Instellen laag-CRS}

\item {} 
\emph{Project CRS van kaartlaag overnemen}

\item {} 
\emph{Eigenschappen}

\item {} 
\emph{Hernoem}

\item {} 
\emph{Kopiëer stijl}

\item {} 
\emph{Nieuwe Groep toevoegen}

\item {} 
\emph{Alles uitklappen}

\item {} 
\emph{Alles inklappen}

\item {} 
\emph{Vernieuw volgorde tekenen}

\end{itemize}

Aanvullen, volgens laagpositie en selectie
\begin{itemize}
\item {} 
\emph{Maak hier een `top level' item van}

\item {} 
\emph{Groep geselecteerd}

\end{itemize}



\textbf{Snelmenu onder Rechter muisknop voor vector lagen}
\begin{itemize}
\item {} 
\emph{Zoom naar laagextent}

\item {} 
\emph{Toon in overzichtskaart}

\item {} 
\emph{Verwijder}

\item {} 
\emph{Instellen laag-CRS}

\item {} 
\emph{Project CRS van kaartlaag overnemen}

\item {} 
\emph{Open attributentabel}

\item {} 
\emph{Bewerken aan/uitzetten} (niet beschikbaar voor GRASS lagen)

\item {} 
\emph{Opslaan Als...}

\item {} 
\emph{Selectie opslaan als...}

\item {} 
\emph{Query}

\item {} 
\emph{Aantal kaartobjecten tonen}

\item {} 
\emph{Eigenschappen}

\item {} 
\emph{Hernoem}

\item {} 
\emph{Kopiëer stijl}

\item {} 
\emph{Nieuwe Groep toevoegen}

\item {} 
\emph{Alles uitklappen}

\item {} 
\emph{Alles inklappen}

\item {} 
\emph{Vernieuw volgorde tekenen}

\end{itemize}

Aanvullen, volgens laagpositie en selectie
\begin{itemize}
\item {} 
\emph{Maak hier een `top level' item van}

\item {} 
\emph{Groep geselecteerd}

\end{itemize}



\textbf{Snelmenu onder rechtermuisknop voor laag groepen}
\begin{itemize}
\item {} 
\emph{Zoom naar groep}

\item {} 
\emph{Verwijder}

\item {} 
\emph{Instellen groep-CRS}

\item {} 
\emph{Hernoem}

\item {} 
\emph{Nieuwe Groep toevoegen}

\item {} 
\emph{Alles uitklappen}

\item {} 
\emph{Alles inklappen}

\item {} 
\emph{Vernieuw volgorde tekenen}

\end{itemize}

Het is mogelijk om meer dan een laag of groep tegelijkertijd te selecteren door de \code{Ctrl} -toets vast te houden tijdens het selecteren van lagen met de linkermuisknop. Je kunt dan ineens alles wat je geselecteerd hebt verplaatsen naar een groep.

Je kunt ook meer dan een laag en/of groep tegelijkertijd verwijderen door deze te selecteren met ingehouden \code{Ctrl} -toets en daarna de toetsencombinatie    \code{Ctrl+D} te gebruiken. Dan zullen alle geselecteerde lagen en/of groepen verwijderd worden van de legenda met kaartlagen.


\subsection{Werken met de Legenda onafhankelijke volgorde van lagen}
\label{docs/user_manual/introduction/qgis_gui:working-with-the-legend-independent-layer-order}
Sinds QGIS versie 1.8 is er een paneel waarmee je de tekenvolgorde onafhankelijk van de legenda kunt aangeven. Dit paneel kan geactiveerd worden via de menu's \emph{Instellingen \(\rightarrow\) Panelen} en activeer \emph{Laag volgorde}. Bepaal de tekenvolgorde van de lagen in het paneel \emph{Laag Volgorde}. Vervolgens kun je in de legenda de groepen anders indelen, waarbij deze lagen toch in de goede volgorde worden getekend (zie {\hyperref[docs/user_manual/introduction/qgis_gui:figure-layer-order]{figure\_layer\_order}}). Wanneer onderin het panel van de legenda, het aanvinkvak \includegraphics{checkbox.png} \emph{Rendervolgorde controleren} uitgezet wordt, dan geldt alleen de tekenvolgorde van de legenda.
\phantomsection\label{docs/user_manual/introduction/qgis_gui:figure-layer-order}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{layer_order.png}
\caption{Define a legend independent layer order \includegraphics[width=1em]{nix.png}}\end{figure}


\section{Kaartbeeld}
\label{docs/user_manual/introduction/qgis_gui:map-view}\label{docs/user_manual/introduction/qgis_gui:label-mapview}
Het kaartbeeld is deel van QGIS waar het resultaat van de QGIS -  de kaarten worden getoond! De kaart die getoond word is afhankelijk van de geladen vector en rasterkaarten (zie volgende onderwerpen voor meer informatie hoe kaartlagen geladen worden). Men kan het kaartbeeld verschuiven of erop inzoomen of uitzoomen. Men kan er verschillende dingen doen met het kaartbeeld. De legenda van kaartlagen en het kaartbeeld hebben een sterke relatie met elkaar. Het kaartbeeld veranderd direct wanneer je lagen in de legenda wijzigt.

\index{zoom mouse wheel}
\begin{notice}{tip}{Tip:}
\textbf{Het kaartbeeld in/uitzoomen met het muiswieltje}

Met het muiswieltje kun je in- en uitzoomen op de kaart. Plaats de muisaanwijzer in het kaartbeeld en roll het wieltje naar voren (van je af) om in te zoomen en achteruit (naar je toe) om uit te zoomen. De plaats van de muisaanwijzer is de plaats waar het in/uitzoomen gebeurd. Je kunt het gedrag van de muiswieltje instellen in het Opties menu \emph{Instellingen \(\rightarrow\) Opties} in het tabblad \emph{Kaart gereedschap}.
\end{notice}

\begin{notice}{tip}{Tip:}
\textbf{Verschuiven van het kaartbeeld met de pijltjestoetsen en de spatiebalk}

\index{pan arrow keys}
Je kunt de pijtljestoetsen gebruiken om het kaartbeeld te verschuiven. Plaats de muisaanwijzer in het kaartbeeld en druk op de toets met het linkerpijltje/rechterpijltje om het kaartbeeld naar west/oost te verschuiven of pijltje omhoog/pijltje omlaag om deze naar noord/zuid te verschuiven. Maar je kunt ook de spatiebalk gebruiken om het kaartbeeld te verschuiven! Hou deze ingedrukt en met de muisaanwijzer kun je het kaartbeeld verschuiven in gewenste richting.
\end{notice}
\phantomsection\label{docs/user_manual/introduction/qgis_gui:label-mapoverview}

\section{Statusbalk}
\label{docs/user_manual/introduction/qgis_gui:label-statusbar}\label{docs/user_manual/introduction/qgis_gui:status-bar}\label{docs/user_manual/introduction/qgis_gui:label-mapoverview}
De statusbak laat o.a. de huidige positie in kaartcoördinaten zien. Wanneer je de muisaanwijzer over kaart heenbeweegt, worden de coordinaten van de muisaanwijzer direct getoond. Links van de plaats waar de coördinaten wordt getoond op de statusbalk is een knop waarmee je kunt wisselen tussen Coöordinaat en Extents. De Extents laat de coördinaten van linkeronderhoek en rechterbovenhoek zien van wat er in het kaartbeeld getoond wordt welke veranderd wanneer je het kaartbeeld wijzigt door deze te verschuiven of door in/uitzoomen.

Naast het getoonde coordinaat wordt de schaal getoond. Hier kun je de huidige schaal zien van het kaartbeeld. Sinds QGIS 1.8 is er ook een keuzelijst van voorgedefinieerde schalen toegevoegd van schaal 1:500 tot 1:1000000. Behalve dat je een schaal kunt kiezen kun je hier ook zelf een schaal ingeven waarna het kaartbeeld in die schaal getoond zal worden.

Op de statusbalk bevindt zich ook een voortgangsbalkje waarmee de voortgang kan worden gezien wanneer het kaart opnieuw wordt opgebouwd (het renderen van de kaart). In enkele andere gevallen wordt de voort- gangsbalk ingezet voor het tonen van de voortgang van andere processen die meer tijd in beslagnemen, zoals het verzamelen van statistieken over rasterlagen.

Wanneer er een nieuwe plugin of een update van een plugin beschikbaar is zal dit bekend worden gemaakt via de statusbalk. Aan de rechterkant van de statusbalk kan men via een aanvinkvakje aangeven of je het opnieuw opbouwen van het kaartbeeld even wilt stoppen (zie {\hyperref[docs/user_manual/introduction/general_tools:redraw-events]{\emph{Renderen}}} onderaan). Het icoontje \includegraphics[width=1.5em]{mIconStopRendering.png} stopt onmiddeling het renderen van de kaart.

Helemaal aan de rechterkant van de statusbalk kan men de EPSG code van het huidige gebruikte coördinaten referentie systeem zien. Daarnaast bevindt zich een icoontje waarmee je direkt toegang hebt tot het tabblad Ruimtelijk Referentie Systeem van het menu Projectinstellingen zodat je deze kunt bekijken/aanpassen.

\begin{notice}{tip}{Tip:}
\textbf{Rekenen met de correcte schaal in het kaartbeeld}

\index{scale calculate}
Wanneer je QGIS voor het eerst start, worden standaard de eenheid graden gebruikt en worden de coördinaten in graden weergegeven. Men kan de eenheid omzetten van graden naar meters in het tabblad \emph{Algemeen} onder \emph{Instellingen \(\rightarrow\) Projectinstellingen} of je kunt de project coordinaten referentie systeem wijzigen via het icoontje \includegraphics[width=1.5em]{mIconProjectionDisabled.png} $^{\text{CRS status}}$ helemaal aan de rechterkant van de statusbalk. Wanneer het nieuwe coordinaten referentie systeem in de definitie een eenheid bevat, bijvoorbeeld ’+units=m’, dan wordt de gebruikte eenheid van het kaartbeeld hier ook direct door aangepast.
\end{notice}


\chapter{Algemeen Gereedschap}
\label{docs/user_manual/introduction/general_tools::doc}\label{docs/user_manual/introduction/general_tools:general-tools}

\section{Snelkoppelingen toetsenbord}
\label{docs/user_manual/introduction/general_tools:shortcuts}\label{docs/user_manual/introduction/general_tools:keyboard-shortcuts}
\index{Snelkoppelingen toetsenbord}
QGIS heeft voor veel functies standaard snelkoppelingen. Deze worden in {\hyperref[docs/user_manual/introduction/qgis_gui:label-menubar]{\emph{Menubalk}}} beschreven. Daarnaast geeft de menu optie \emph{Instellingen \(\rightarrow\) Snelkoppelingen bewerken ...} de mogelijkheid om de standaard snelkoppelingen aan te passen en nieuwe toe te voegen, voor QGIS functies die nog geen snelkoppeling hebben.
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-shortcuts}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{shortcuts.png}
\caption{Define shortcut options \includegraphics[width=1em]{nix.png} (KDE)}\end{figure}

Configuratie van snelkoppelingen is erg eenvoudig. Selecteer een actie van de lijst, selecteer \textbf{{[}Aanpassen{]}}, \textbf{{[}Niet gebruiken{]}} of \textbf{{[}Als standaard zetten{]}}. Wanneer je tevreden bent over je configuratie, dan kun je deze opslaan als een XML file en laden in een andere QGIS installatie via dit menu.


\section{Contextuele help}
\label{docs/user_manual/introduction/general_tools:context-help}\label{docs/user_manual/introduction/general_tools:id1}
\index{Contextuele help}
Wanneer je hulp nodig hebt over een specifiek onderwerp, kun je in veel dialogen/menu’s op de \textbf{{[}Help{]}} knop drukken. De help knop in plugins die door derden zijn ontwikkeld, kunnen verwijzen naar speciaal daarvoor gemaakte webpagina’s.


\section{Renderen}
\label{docs/user_manual/introduction/general_tools:rendering}\label{docs/user_manual/introduction/general_tools:redraw-events}
\index{Renderen}
QGIS zal standaard automatisch de zichtbare lagen opnieuw opbouwen, renderen, wanneer nodig. De volgende gebeurtenissen zullen het verversen van het kaartbeeld starten:
\begin{itemize}
\item {} 
Toevoegen van een kaartlaag

\item {} 
Verschuiven of in/uitzoomen

\item {} 
Het wijzigen van de grootte van het QGIS programma venster

\item {} 
Het wijzigen van de zichtbaarheden van een laag of lagen

\end{itemize}

QGIS geeft je op een aantal manieren controle op het renderings-proces.


\subsection{Schaalafhankelijk Tonen}
\label{docs/user_manual/introduction/general_tools:scale-dependent-rendering}
\index{Rendering scale dependent}
Met schaalafhankelijk tonen is het mogelijk om de minimum en maximum schalen in te stellen waarbij een laag zichtbaar dient te zijn. Om schaalafhankelijk tonen int te stellen open de dialoog \emph{Eigenschappen} door te dubbelklikken op een kaartlaag in de legenda. In het tabblad \emph{Algemeen} kan men het aanvinkvakje \includegraphics{checkbox.png}\emph{Gebruik schaalafhankelijk tonen} aanvinken en vervolgens de minimum en maximum schaalwaarden invullen waarbinnen de kaartlaag zichtbaar dient te zijn.

Je kunt deze waarden achterhalen door het kaartbeeld eerst in te zoomen tot je de kaart net niet/wel wilt zien en dan de bijbehorende schaal af te lezen van de statusbalk.

\index{Scale}

\subsection{Controle over het renderen van de kaart}
\label{docs/user_manual/introduction/general_tools:index-4}\label{docs/user_manual/introduction/general_tools:controlling-map-rendering}\label{docs/user_manual/introduction/general_tools:label-controlmap}
Men kan op de volgende manieren meer controle krijgen over het renderen van het kaartbeeld:


\subsubsection{Uitstellen van het Renderen}
\label{docs/user_manual/introduction/general_tools:label-suspendrender}\label{docs/user_manual/introduction/general_tools:suspending-rendering}
Om het renderen uit te stellen, vink het aanvinkvakje \includegraphics{checkbox.png} \emph{Render} uit in de rechteronderhoek van de sta- tusbalk. Wanneer het aanvinkvakje \includegraphics{checkbox.png} \emph{Render} niet is aangevinkt, zal QGIS het kaartbeeld niet opnieuw opbouwen in de gebeurtenissen die beschreven zijn in {\hyperref[docs/user_manual/introduction/general_tools:redraw-events]{\emph{Renderen}}}. Voorbeelden wanneer je het opnieuw opbouwen van de kaart wilt uitstellen:
\begin{itemize}
\item {} 
Na het toevoegen van veel kaartbladen wil je deze eerst van symbologie voorzien en de tekenvolgorde instellen

\item {} 
Na het toevoegen van een of meer grote kaartlagen wil je eerst instellen bij welke schalen deze getekend mag worden

\item {} 
Na het toevoegen van een of meer grote kaart lagen wil je eerst in zoom en op een bepaald gebied voordat deze getekend wordt

\item {} 
Een combinatie van bovenstaande redenen

\end{itemize}

Het weer aanvinken van \includegraphics{checkbox.png} \emph{Render} zal onmiddelijk het opnieuw opbouwen van het kaartbeeld starten.


\subsubsection{Instelling Toevoegen Laag Optie}
\label{docs/user_manual/introduction/general_tools:setting-layer-add-option}\label{docs/user_manual/introduction/general_tools:label-settinglayer}
Er is ook de mogelijkheid om niet direkt de kaart opnieuw te tekenen na het toevoegen van nieuwe kaartlagen. Dit betekent dat het aanvinkvakje voor de zichtbaarheid van nieuw toegevoegde lagen, standaard niet zal zijn aangevinkt. Om deze optie in te stellen kies de menuoptie \emph{Instellingen \(\rightarrow\) Opties \(\rightarrow\)} en open het tabblad \emph{Rendering}. Ontvink het aanvinkvakje \includegraphics{checkbox.png} \emph{Standaard zullen nieuw toegevoegde lagen aan de kaart direct worden afgebeeld}. Elke laag die hierna wordt toegevoegd, zal standaard uit staan (onzichtbaar) in de legenda.


\subsubsection{Het renderen stoppen}
\label{docs/user_manual/introduction/general_tools:stopping-rendering}
\index{Rendering halting}\phantomsection\label{docs/user_manual/introduction/general_tools:label-stoprender}
Om het tekenen van de kaart te stoppen druk op de \code{ESC} toets. Dit zal het tekenen van de kaart onderbreken waarbij de kaart slechts gedeeltelijk getekend is. Het kan even duren voordat het tekenen stopt na het indrukken van de \code{ESC} toets.

\begin{notice}{note}{Notitie:}
Het is momenteel niet mogelijk om het renderen te stoppen - dit is tijdelijk uitgeschakeld in de op qt4 gebouwde versie aangezien dit kon leiden tot problemen als een vastlopende applicatie.
\end{notice}


\subsubsection{Bijwerken van het kaartbeeld tijdens het Renderen}
\label{docs/user_manual/introduction/general_tools:updating-the-map-display-during-rendering}\label{docs/user_manual/introduction/general_tools:label-updatemap}
\index{rendering update during drawing}
Men kan gebruik maken van een optie om kaartgegevens al te tekenen tijdens het inlezen en opbouwen van kaartgegevens. Standaard, laat QGIS nog geen objecten van een laag zien totdat het inlezen en opbouwen van de kaartlaag is afgerond. Om kaartgegevens te tekenen tijden het lezen ervan, kies de menuoptie \emph{Instellingen \(\rightarrow\) Opties} Open het tabblad. \emph{Rendering}. Zet het aantal objecten alvorens de kaart te hertekenen op een geschikte waarde om tijdens het inlezen de kaart al te zien opbouwen. Wanneer de waarde op 0 staat zal de kaartlaag pas getoond worden wanneer deze volledig is opgebouwd. Het instellen van een te lage waarde zal resulteren in een traag opbouwende kaart omdat de kaart bijna continue moet worden bijgewerkt. Een voorgestelde waarde om mee te beginnen is 500.


\subsubsection{Beïnvloeden van de kwaliteit van het renderen}
\label{docs/user_manual/introduction/general_tools:label-renderquality}\label{docs/user_manual/introduction/general_tools:influence-rendering-quality}
\index{rendering quality}
Er zijn twee opties waarmee men de kwaliteit van het renderen kan beïnvloeden. Kies de menuoptie \emph{Extra \(\rightarrow\) Opties} open het tabblad \emph{Rendering} en vink of ontvink de volgende aanvinkvakjes.
\begin{itemize}
\item {} 
\includegraphics{checkbox.png} \emph{Maak de lijnen minder rafelig ten koste van de tijd dat het tekenen kost}

\item {} 
\includegraphics{checkbox.png} \emph{Problemen met fout (gevulde) polygonen oplossen}

\end{itemize}


\section{Meten}
\label{docs/user_manual/introduction/general_tools:measuring}\label{docs/user_manual/introduction/general_tools:sec-measure}
\index{measure}
Men kan direct beginnen te meten binnen geprojecteerde coördinaten systemen zoals het UTM of het Nederlandse RijksDriekhoek stelsel. Wanneer de geladen kaartlaag echter een geographisch coördinatensysteem betreft, die gebruik maakt van lengtegraden/breedtegraden, dan zal het resultaat van gemeten lengtes en op- pervlaktes in eerste instantie onjuist zijn. Om dit op te lossen moet er eerst een meer toepasselijk coördinaten systeem ingesteld worden (zie {\hyperref[docs/user_manual/working_with_projections/working_with_projections:label-projections]{\emph{Werken met Projecties}}}). Alle onderdelen die gebruikt worden om te meten gebruiken dezelfde snapping opties van het digitaliseer gereedschap. Dit is vooral handig wanneer je bestaande lijnen en vlakken van vectorlagen wilt opmeten.

Om een meetgereedschap te kiezen selecteer \includegraphics[width=1.5em]{mActionMeasure.png} en kies vervolgens het gereedschap dat je wilt gebruiken.


\subsection{Het meten van lengte, oppervlakte of hoek}
\label{docs/user_manual/introduction/general_tools:measure-length-areas-and-angles}
\index{measure!line length}
\index{measure!areas}
\index{measure!angles}
\includegraphics[width=1.5em]{mActionMeasure.png} QGIS kan de directe afstand meten tussen twee punten of via de gedefiniëerde ellipsoïde oftewel de aardkromming, van gebruikt coördinaten systeem. Om dit in te stellen, kies de menuoptie \emph{Instellingen \(\rightarrow\) Opties}. Open het tabblad \emph{Kaart gereedschap} en kies de juiste ellipsoïde voor afstandsberekeningen. Men kan hier ook de kleur van de rubberband en de voorkeuren voor te gebruiken eenheden voor lengtematen en hoeken instellen. Met de rubberband wordt het flexibele meetlint bedoelt waarmee de afstanden kunnen worden opgemeten. Men kan nu het meetgereedschap gebruiken door te klikken in het kaartbeeld. Het menu opmeten verschijnt waarbij zowel de lengtes van de lijnsegmenten als de totale lengte wordt getoond. Gebruik de rechtermuisknop om te stoppen met meten.
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-measure-length}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{measure_line.png}
\caption{Measure Distance \includegraphics[width=1em]{nix.png} (KDE)}\end{figure}

\includegraphics[width=1.5em]{mActionMeasureArea.png} Je kunt ook oppervlaktes meten. In het menu opmeten, komt dan de totale oppervlakte te staan. Ook in dit geval zal de meettool naar objecten van de geselecteerde vectorlaag proberen te snappen, tenminste wanneer voor die laag een snapping tolerantie is ingesteld. (Zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:snapping-tolerance]{\emph{Het instellen van de Snapping Toleranties en Zoek Radius}}}). Wanneer men nauwkeurig oppervlakte wilt opmeten, zet dan eerst voor een laag de snapping tolerantie, en selecteer dan vervolgens die laag. Vervolgens kan men nu precies oppervlaktes inmeten waarbij elke muisklik naar de dichtsbijzijnde hoek of lijn van geselecteerde laag zal springen, wanneer deze zich binnen ingestelde tolerantie bevindt.
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-measure-area}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{measure_area.png}
\caption{Measure Area \includegraphics[width=1em]{nix.png} (KDE)}\end{figure}

\includegraphics[width=1.5em]{mActionMeasureAngle.png} Men kan ook hoeken opmeten, selecteer Hoek Opmeten. De muisaanwijzer veranderd in een kruisje. Zet eerst twee punten de basislijn om vervolgens met het derde punt de relatieve hoek t.o.v. de basislijn op te meten.
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-measure-angle}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{measure_angle.png}
\caption{Measure Angle \includegraphics[width=1em]{nix.png} (KDE)}\end{figure}


\subsection{Selecteren en deselecteren van objecten}
\label{docs/user_manual/introduction/general_tools:select-and-deselect-features}\label{docs/user_manual/introduction/general_tools:sec-selection}
De QGIS werkbalk bevat functionaliteit waarmee men objecten kan selecteren in het kaartbeeld. Om een of
meerdere objecten te selecteren klik op \includegraphics[width=1.5em]{mActionSelect.png} en kies de gewenste selectie functie:
\begin{itemize}
\item {} 
\includegraphics[width=1.5em]{mActionSelect.png} $^{\text{Selecteer objecten}}$

\item {} 
\includegraphics[width=1.5em]{mActionSelectRectangle.png} $^{\text{Selecteer objecten binnen rechthoek}}$

\item {} 
\includegraphics[width=1.5em]{mActionSelectPolygon.png} $^{\text{Selecteer objecten binnen polygoon}}$

\item {} 
\includegraphics[width=1.5em]{mActionSelectFreehand.png} $^{\text{Selecteer objecten door vrije selectie}}$

\item {} 
\includegraphics[width=1.5em]{mActionSelectRadius.png} $^{\text{Selecteer objecten binnen straal}}$

\end{itemize}

Om de huidige selectie van geselecteerde objecten ongedaan te maken klik op \includegraphics[width=1.5em]{mActionDeselectAll.png} $^{\text{Objecten uit alle layers deselecteren}}$.


\section{Decoraties}
\label{docs/user_manual/introduction/general_tools:id2}\label{docs/user_manual/introduction/general_tools:decorations}
De kaartdecoraties van QGIS zijn het Copyright Label, de Noordpijl en de Schaalbalk. Ze worden gebruikt om de kaart te decoreren door kaartelementen toe te voegen.

\begin{notice}{note}{Notitie:}
Voor QGIS 1.8 dezelfde functionaliteit was beschikbaar via de Decoraties Plugin.
\end{notice}


\subsection{Copyright Label}
\label{docs/user_manual/introduction/general_tools:copyright-label}
\includegraphics[width=1.5em]{copyright_label.png} \emph{Copyright label} plaatst een Copyright label met je eigen tekst op de kaart.
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-decorations-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{copyright.png}
\caption{The copyright Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{enumerate}
\item {} 
Selecteer via het menu \emph{Beeld \(\rightarrow\) Decoraties \(\rightarrow\) Copyright Label}. De dialoog opent (zie {\hyperref[docs/user_manual/introduction/general_tools:figure-decorations-1]{figure\_decorations\_1}}).

\item {} 
Geef de tekst die geplaatst dient te worden op de kaart. Je kunt daarbij HTML gebruiken zoals getoond in het voorbeeld

\item {} 
Geef aan waar het copyright label geplaatst moet worden op de kaart met de keuzelijst \emph{Plaats} `RechtsOnder'

\item {} 
Zorg ervoor dat het aanvinkvak \includegraphics{checkbox.png} \emph{Copyright Label tonen} aangevinkt is

\item {} 
Klik op \textbf{{[}OK{]}}

\end{enumerate}

In het voorgaande voorbeeld (standaard) plaatst QGIS het copyright symbool gevolgd door de datum rechtsonder in het kaartbeeld.


\subsection{Noordpijl}
\label{docs/user_manual/introduction/general_tools:north-arrow}
\includegraphics[width=1.5em]{north_arrow.png} \emph{Noordpijl} plaatst een simpele noordpijl op de kaart. Momenteel is er slechts 1 stijl beschikbaar.
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-decorations-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{north_arrow_dialog.png}
\caption{The North Arrow Dialog \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{Schaalbalk}
\label{docs/user_manual/introduction/general_tools:scale-bar}
\includegraphics[width=2.5em]{scale_bar.png} \emph{Schaalbalk} plaatst een eenvoudige schaalbalk op de kaart. De stijl en de plaats kan worden aangepast evenals de labels van de Schaalbalk.
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-decorations-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{scale_bar_dialog.png}
\caption{The Scale Bar Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

QGIS ondersteunt alleen het tonen van de schaal in dezelfde lengteenheid als die van de kaart. Wanneer de eenheid van je lagen in meters zijn kun je niet een schaalbalk maken in feet . Zo kun je ook geen schaalbalk in meters tonen wanneer de gebruikte kaart als eenheid in graden wordt getoond.

Toevoegen van een schaalbalk:
\begin{enumerate}
\item {} 
Selecteer via het men \emph{Beeld \(\rightarrow\) Decoraties \(\rightarrow\) Schaalbalk} The dialoog opent (zie {\hyperref[docs/user_manual/introduction/general_tools:figure-decorations-3]{figure\_decorations\_3}})

\item {} 
Kies de plaatsing met de keuzelijst \emph{Plaats} `RechtsBoven'

\item {} 
Kies de stijl in de keuzelijst \emph{Schaalbalkstijl} `Waardeaanduiding Boven'

\item {} 
Kies de kleur van de balk via het kleurenpalet achter \emph{Schaalbalkkleur} of laat deze op zwart staan

\item {} 
Zet de grootte van de schaalbalk en het label \emph{Grootte van de balk}

\item {} 
Zorg ervoor dat het aanvinkvak \includegraphics{checkbox.png} \emph{Schaalbalk gebruiken} is aangevinkt

\item {} 
Geef aan of de schaalbalk automatisch naar gehele getallen verspringt wanneer de kaart van grootte wijzigd door het aanvinkvak \includegraphics{checkbox.png} \emph{Klik automatisch naar gehele getallen tijdens het aanpassen van de grootte} aan te vinken

\item {} 
Klik op \textbf{{[}OK{]}}

\end{enumerate}

\begin{notice}{tip}{Tip:}
\textbf{Decoratie Instellingen}

Wanneer je een QGIS project opslaat, zullen de wijzigingen die je hebt gemaakt aan Noordpijl, Schaalbalk en Copyright mee worden opgeslagen in het projectbestand en teruggezet worden bij het openen van het project.
\end{notice}
\phantomsection\label{docs/user_manual/introduction/general_tools:sec-annotations}
\index{annotation}

\section{Annotatie Functies}
\label{docs/user_manual/introduction/general_tools:annotation-tools}\label{docs/user_manual/introduction/general_tools:index-12}
De \includegraphics[width=1.5em]{mActionTextAnnotation.png} \emph{Tekst Annotatie} functies in de werkbalk Attributen geven de mogelijkheid om een tekstballon ergens in het kaartbeeld te plaatsen. Gebruik de Annotatie functie en klik ergens in het kaartbeeld.
\phantomsection\label{docs/user_manual/introduction/general_tools:annotation}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{annotation.png}
\caption{Annotation text dialog \includegraphics[width=1em]{nix.png}}\end{figure}

Wanneer men dubbelklik op de ballontekst heeft men verschillende mogelijkheden om deze aan te passen. Er is een tekstvak waar men de tekst mee kan aanpassen. Men kan kiezen of het de tekst verbonden is aan een kaartlokatie of dat deze steeds op dezelfde plaats blijft staan ook al verschuifd men de kaart. Men kan het tekst item verplaatsen door de marker of de ballontekst naar een andere plek te slepen. De gebruikte icoontjes zijn onderdeel van het gis thema, maar worden ook in de andere thema’s gebruikt.

De \includegraphics[width=1.5em]{mActionAnnotation.png} \emph{Verplaats Annotatie} functie wordt gebruikt om de annotatie te verplaatsen in het kaartbeeld.


\subsection{Formulier annotatie}
\label{docs/user_manual/introduction/general_tools:form-annotations}
Het is mogelijk om je eigen annotatie formulieren te maken en te gebruiken. De functie \includegraphics[width=1.5em]{mActionFormAnnotation.png} \emph{Formulier annotatie} kan gebruikt worden om de attributen van een vector laag te tonen in een speciaal daarvoor door jezelf ontworpen formulier in de QT designer (zie {\hyperref[docs/user_manual/introduction/general_tools:figure-custom-annotation]{figure\_custom\_annotation}}). Dit is hetzelfde formulier dat wordt gebruikt voor de identiteit tool, maar dan gebruikt als annotatie. Zie ook de QGIS blog \href{http://blog.qgis.org/node/143}{http://blog.qgis.org/node/143} voor meer informatie.
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-custom-annotation}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{custom_annotation.png}
\caption{Customized qt designer annotation form \includegraphics[width=1em]{nix.png}}\end{figure}

\begin{notice}{note}{Notitie:}
Wanneer je de toetsencombinatie \code{Ctrl+T} gebruikt terwijl een annotatie functie actief is (verplaats annotatie, tekst annotatie, formulier annotatie), dan wisselt het tekstitem van zichtbaar naar onzichtbaar en andersom.
\end{notice}


\section{Favoriete Plaatsen}
\label{docs/user_manual/introduction/general_tools:spatial-bookmarks}\label{docs/user_manual/introduction/general_tools:sec-bookmarks}
\index{bookmarks}
\index{spatial bookmarks!see bookmarks}
De Engelse term ’Spatial Bookmarks’ is vrij vertaald naar ’Favoriete Plaatsen. Je kunt met Favoriete Plaatsen aangeven waar je later (vaker) terug wilt keren.


\subsection{Aanmaken van Favoriete Plaats}
\label{docs/user_manual/introduction/general_tools:creating-a-bookmark}
Hoe je een favoriete plaats aanmaakt:
\begin{enumerate}
\item {} 
Zoom in op een gebied naar keuze.

\item {} 
Selecteer de menu optie \emph{Beeld \(\rightarrow\) Nieuwe Favoriet ...}  of gebruik de snelkoppeling \code{Ctrl-B}.

\item {} 
Geef een beschrijvende naam waaronder je de Favoriete plaats op wilt slaan (tot 255 tekens).

\item {} 
Klik op  \code{Enter} om de Favoriete plaats toe te voegen of \textbf{{[}Verwijderen{]}} om de Favoriete plaats te verwijderen.

\end{enumerate}

Men kan meerdere favorieten onder dezelfde naam opslaan.


\subsection{Werken met Favoriete Plaatsen}
\label{docs/user_manual/introduction/general_tools:working-with-bookmarks}
Om een Favoriet te gebruiken of te beheren, kies de menu optie \emph{Beeld \(\rightarrow\) Toon Favorieten}. De dialoog \emph{Favoriete Plaatsen} geeft de mogelijkheid om snel te springen naar die opgeslagen favoriete plaats of om een Favoriete plaats te verwijderen. Je kunt de naam of de positie van een Favoriete plaats niet wijzigen.


\subsection{Verplaatsen naar een Favoriete Plaats}
\label{docs/user_manual/introduction/general_tools:zooming-to-a-bookmark}
Vanuit de dialoog \emph{Ruimtelijke Favorieten ...}, kies de favoriete plaats door deze te selecteren en druk daarna op de knop \textbf{{[}Zoom naar{]}}. Je kunt ook naar een Favoriete plaats springen door hierop te dubbelklikken.


\subsection{Verwijderen van een Favoriete Plaats}
\label{docs/user_manual/introduction/general_tools:deleting-a-bookmark}
Om een favoriete plaats te verwijderen vanuit de dialoog \emph{Ruimtelijke Favorieten ...} selecteer de favoriet en druk op \textbf{{[}Verwijder{]}}. Bevestig gemaakte keuze in het vervolgschermpje door op \textbf{{[}Ja{]}} te drukken of maak het verwijderen alsnog ongedaan door te drukken op \textbf{{[}Nee{]}} .


\section{Projecten in een project}
\label{docs/user_manual/introduction/general_tools:nesting-projects}\label{docs/user_manual/introduction/general_tools:id3}
\index{nesting projects}
Wanneer je de inhoud van een ander project wilt opnemen in een project kun je kiezen voor menuselection:\emph{Kaartlagen --\textgreater{} Kaartlagen en groepen inbedden}.


\subsection{Inbedden van lagen}
\label{docs/user_manual/introduction/general_tools:embedding-layers}
De volgende dialoog maakt het inbedden.van lagen van een ander project mogelijk:
\begin{enumerate}
\item {} 
Gebruik \includegraphics{browsebutton.png} om een ander project te selecteren van de Alaska dataset.

\item {} 
Selecteer het projectbestand grassland. Je kunt de inhoud van het project zien (zie {\hyperref[docs/user_manual/introduction/general_tools:figure-embed-dialog]{figure\_embed\_dialog}}).

\item {} 
Druk op \code{Ctrl} en selecteer de lagen grassland en regio's. De lagen zijn nu toegevoegd in de kaartlegenda en het kaartbeeld.

\end{enumerate}
\phantomsection\label{docs/user_manual/introduction/general_tools:figure-embed-dialog}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{embed_dialog.png}
\caption{Select layers and groups to embed \includegraphics[width=1em]{nix.png}}\end{figure}

Wanneer de ingebedde kaartlagen bewerkbaar worden gemaakt kun je eigenschappen als Stijl en Labeling van deze lagen niet aanpassen.

\textbf{Verwijderen van ingebedde lagen}

Klik met de rechtermuis op de ingebedde lagen en selecteer \includegraphics[width=1.5em]{mActionRemoveLayer.png} \emph{Verwijder}.


\chapter{QGIS Configureren}
\label{docs/user_manual/introduction/qgis_configuration:qgis-configuration}\label{docs/user_manual/introduction/qgis_configuration::doc}
QGIS is zeer goed te configuren via het menu \emph{Extra}. Kies tussen Panelen, Werkbalken, Project instellingen, Opties en Aanpassingen.


\section{Panelen en Werkbalken}
\label{docs/user_manual/introduction/qgis_configuration:sec-panels-and-toolbars}\label{docs/user_manual/introduction/qgis_configuration:panels-and-toolbars}
Via het menu \emph{Panelen\(\rightarrow\)} kun je QGIS panelen aan of uitzetten. Via het menu \emph{Werkbalken\(\rightarrow\)} kun je werkbalken toevoegen of verwijderen in de ruimte gereserveerd voor werkbalken in QGIS.
\phantomsection\label{docs/user_manual/introduction/qgis_configuration:figure-panels-toolbars}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{panels_and_toolbars.png}
\caption{The Panels and Toolbars menu \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Map overview}
\begin{notice}{tip}{Tip:}
\textbf{Het activeren van Kaartoverzicht in QGIS}

In QGIS kun je een paneel activeren die een overzichtskaart toon met de volledige extent van de toegevoegde lagen. Activeer deze via \emph{Extra \(\rightarrow\) Panelen}. Binnen de overzichtskaart wordt een rechthoek getoond die overeenkomt met de gebiedsgrenzen van het getoonde kaartbeeld. Labels worden niet getoond in de overzichtskaart ook al zijn de lagen zo ingesteld dat er labels moeten worden getoond. Wanneer je het rode vierkant in de overzichtskaart versleept met ingehouden linkermuisknop, zal het kaartbeeld zich overeenkomstig aanpassen.
\end{notice}

\begin{notice}{tip}{Tip:}
\textbf{Toon Logboekmeldingen}

Vanaf QGIS versie 1.8 is het mogelijk om gegenereerde logboekmeldingen te bekijken. Deze kan geactiveerd worden door het aanvinkvakje \includegraphics{checkbox.png}\emph{Logboekmeldingen} in het menu \emph{Extra \(\rightarrow\) Panelen} aan te vinken. De meldingen die worden gegeneerd tijdens het opstarten en gebruik van QGIS kunnen bekeken worden onder de tabbladen \emph{Algemeen} en \emph{Plugins}.
\end{notice}


\section{Projectinstellingen}
\label{docs/user_manual/introduction/qgis_configuration:project-properties}
Je kunt instellingen voor een project wijzigen via \includegraphics[width=1em]{nix.png} \includegraphics[width=1em]{win.png} \emph{Extra \(\rightarrow\) Projectinstellingen} of \includegraphics[width=1em]{osx.png} \emph{Bestand \(\rightarrow\) Projectinstellingen...}. Deze bevat:
\begin{itemize}
\item {} 
Onder het tabblad \emph{Algemeen} kan men het volgende instellen; de projecttitel, de selectie- en achtergrondkleur, de laageenheden, de precisie (aantal decimalen van coördinaten) en of paden relatief of absoluut moeten worden opgeslagen. De te gebruiken eenheden kan alleen worden ingesteld wanneer gelijktijdige CRS transformatie is uitgeschakeld (onder tabblad \emph{Ruimtelijk Referentie Systeem}).

\item {} 
In het tabblad \emph{Ruimtelijke Referentie Systeem (CRS)} kun je de gewenst CRS voor dit project instellen. Daarnaast kun je instellen dat gelijktijdige CRS transformatie moet worden gebruikt wanneer er lagen aanwezig zijn met verschillende CRS.

\item {} 
In het derde tabblad \emph{Identificeerbare Lagen} kun je instellen welke lagen zullen reageren wanneer \emph{Objecten Indentificeren} wordt gebruikt. (zie de paragraaf Kaartgereedschap van :ref{}`gui\_options{}` waarin het gebruik hiervan wordt uitgelegd.)

\item {} 
In het tabblad \emph{OWS-Server} kun je de QGIS mapserver Service Capabilities instellen, de Extent en welke CRS er gebruikt kan worden als ook de WFS Capabilities. Na het activeren van het aanvinkvakje \includegraphics{checkbox.png} :guilabel: \emph{WKT geometrie aan feature info response toevoegen} kun je de WMS lagen bevragen.

\end{itemize}


\section{Opties}
\label{docs/user_manual/introduction/qgis_configuration:options}\label{docs/user_manual/introduction/qgis_configuration:gui-options}
\includegraphics[width=1em]{mActionOptions.png} Voor het instellen van globale instellingen van QGIS gebruik de dialoog \emph{Opties}. Open deze via het menu \emph{Extra \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties}. De volgende tabbladen zijn beschikbaar:


\subsection{Tabblad Algemeen}
\label{docs/user_manual/introduction/qgis_configuration:general-tab}\begin{itemize}
\item {} 
\includegraphics{checkbox.png} \emph{Geef een waarschuwing om project op te slaan indien nodig}

\item {} 
\includegraphics{checkbox.png} \emph{Geef een waarschuwing bij het openen van een projectfile uit een oudere versie van QGIS}

\item {} 
Wijzig de Selectie- en Achtergrondkleur

\item {} 
Wijzig de QGIS thema Stijl

\item {} 
Wijzig het icoon thema (kies tussens `default', `classic' en `gis')

\item {} 
Wijzig de icoon grootte naar 16, 24 of 32 pixels.

\item {} 
Wijzig grootte lettertype menu

\item {} 
Bepaal dubbelklik actie in legenda (kies tussen `open laagproperties' en `open') attributen tabel.

\item {} 
\includegraphics{checkbox.png} \emph{Laagnamen in hoofdletters in legenda}

\item {} 
\includegraphics{checkbox.png} \emph{Toon classificatie-attribuutnamen in legenda}

\item {} 
\includegraphics{checkbox.png} \emph{Raster iconen aanmaken in legenda}

\item {} 
\includegraphics{checkbox.png} \emph{Verberg het openingsscherm tijdens opstarten}

\item {} 
\includegraphics{checkbox.png} \emph{Tips tonen tijdens het opstarten}

\item {} 
\includegraphics{checkbox.png} \emph{Identificeer-resultaten naar een `dock-window' (QGIS herstart vereist)}

\item {} 
\includegraphics{checkbox.png} \emph{Snapping instellingen openen in een `dock-window' (QGIS herstart vereist)}

\item {} 
\includegraphics{checkbox.png} \emph{Attribuut tabel openen in een `dock window' (QGIS herstart vereist)}

\item {} 
\includegraphics{checkbox.png} \emph{PostGIS lagen toevoegen door dubbelklikken en selectie in uitgebreide modus}

\item {} 
\includegraphics{checkbox.png} \emph{Voeg nieuwe lagen toe aan geselecteerde of huidige groep}

\item {} 
\includegraphics{checkbox.png} \emph{Kopiëer geometrie in WKT representatie van attributentabel}

\item {} 
\emph{Attributen tabel gedrag} (kies tussen `Alle attributen tonen' (standaard) `Geselecteerde objecten tonen', `Toon objecten in huidig kaartvenster')

\item {} 
\emph{Attributentabel rijcache}

\item {} 
Zet de \emph{Weergave van NULL waarden}

\item {} 
\emph{Suggereer raster sublagen} \includegraphics{selectstring.png}.Enkele rasterformaten ondersteunen sublagen - deze worden subdatasets in GDAL genoemd. Een voorbeeld is het netcdf bestandsformaat - wanneer er veel netcdf variabelen zijn, dan ziet GDAL elke variabele als een subdataset. De optie wordt gebruikt om controle te krijgen hoe om te gaan, tijdens het laden van, een rasterfile die sublagen bevat. De volgende keuzes zijn mogelijk:
\begin{itemize}
\item {} 
`Altijd': altijd vragen (wanneer er sublagen aanwezig zijn)

\item {} 
`indien nodig': vraag wanneer de laag geen bandlagen maar wel sublagen heeft

\item {} 
`Nooit': geen vragen, laad geen sublagen

\item {} 
`Laad alles': geen vragen gewoon alle sublagen laden

\end{itemize}

\item {} 
\emph{Zoek naar geldige items in het browser dock}  \includegraphics{selectstring.png} De optie `extensie controleren' zorgt voor het sneller laden van een folder, wat veel tijd kan kosten wanneer gecontroleerd wordt op bestandsinhoud met de keuze `bestandinhoud controleren' en er veel bestanden aanwezig zijn (tientallen of honderden).

\item {} 
\emph{Zoek naar de inhoud van gecomprimeerde (zip) bestanden in het browser-dock} \includegraphics{selectstring.png} Deze optie is ook aanwezig voor het sneller laden van de inhoud van een folder. De volgende keuzes zijn aanwezig:
\begin{itemize}
\item {} 
`Basisscan' controleert op basis van bestandsextensie of deze ondersteund wordt door een van de `drivers'

\item {} 
`Volledige Scan': opent elk bestand om te controleren of deze valide is

\item {} 
`Passthru': gebruik deze optie maar niet, deze zal verwijderd zijn in de volgde versie van QGIS

\end{itemize}

\end{itemize}


\subsection{Tabblad GDAL}
\label{docs/user_manual/introduction/qgis_configuration:gdal-tab}
GDAL is een functiebibliotheek voor het kunnen inlezen converteren van veel rasterformaten. In dit tabblad kun je instellen welke GDAL functiebibliotheek gebruikt moet worden in het geval er meerdere versies aanwezig zijn.


\subsection{Tabblad Plugins}
\label{docs/user_manual/introduction/qgis_configuration:plugins-tab}\begin{itemize}
\item {} 
Toevoegen \emph{Pad(en) om voor additionele C++ pluginbibliotheken} te zoeken.

\end{itemize}


\subsection{Tabblad Rendering}
\label{docs/user_manual/introduction/qgis_configuration:rendering-tab}\begin{itemize}
\item {} 
\includegraphics{checkbox.png} \emph{Standaard zullen nieuw toegevoegde lagen aan de kaart direct worden afgebeeld}

\item {} 
Zet het \emph{Aantal objecten alvorens de kaart te hertekenen}.

\item {} 
\includegraphics{checkbox.png} \emph{Gebruik de cache voor tekenen indien mogelijk om het opnieuw tekenen te versnellen}

\item {} 
\includegraphics{checkbox.png} \emph{Maak de lijnen minder rafelig ten koste van de tijd dat het tekenen kost}

\item {} 
\includegraphics{checkbox.png} \emph{Problemen met fout (gevulde) polygonen oplossen}

\item {} 
\includegraphics{checkbox.png} \emph{Nieuwe generatie symbologie gebruiken voor tekenen}

\item {} 
Bepaal de standaard Raster instelling voor visualisatie: `RGB-band selectie' \includegraphics{checkbox.png} \emph{Gebruik standaard afwijking} en `Contrastverhoging'

\item {} 
Toevoegen/verwijderen van \emph{Pad(en) voor Scalable Vector Graphic (SVG)-symbolen}

\end{itemize}

Aanvullend kun je bepalen of de paden die gebruikt worden voor SVG symbologie met absolute of relatieve paden dienen te worden opgeslagen via het tabblad \emph{Algemeen} van het menu \emph{Extra \(\rightarrow\) Projectinstellingen} menu.


\subsection{Tabblad Kaart gereedschap}
\label{docs/user_manual/introduction/qgis_configuration:map-tools-tab}\begin{itemize}
\item {} 
De \emph{Modus} instelling bepaald mede voor welke lagen `Objecten Identificeren' werkt. Wanneer gekozen wordt voor `Van bovenaf' of `Van bovenaf, stop bij eerste' in plaats van `Huidige laag' zal deze voor meerdere lagen werken (zie ook het onderdeel {\hyperref[docs/user_manual/introduction/getting_started:sec-projects]{\emph{Projecten}}} in de Project instellingen om in te stellen welke lagen door `Objecten Identificeren' getoond zullen worden bij selectie.

\item {} 
\includegraphics{checkbox.png} \emph{Open object formulier, als er slechts 1 object wordt geprikt}

\item {} 
Bepaal de \emph{Zoekradius voor de indentificatie van objecten en het vertonen van kaarttips als een percentage van de kaart breedte}

\item {} 
Zet de \emph{Ellipsoïde voor afstandsberekeningen}

\item {} 
Geef de \emph{Rubberband kleur} voor het meetgereedschap

\item {} 
Zet het  aantal te gebruiken \emph{Decimale posities}

\item {} 
\includegraphics{checkbox.png} \emph{Basis eenheid bewaren}

\item {} 
Geef de \includegraphics{radiobuttonon.png} \emph{Voorkeurs meeteenheden (`meters of voet')}

\item {} 
Geef de \includegraphics{radiobuttonon.png} \emph{Voorkeur hoekeenheden (`Graden', Radialen' of `Gon')}

\item {} 
Zet het \emph{Muiswielgedrag} op \includegraphics{selectstring.png} (`Zoom', `Zoom en recenter', `Zoom naar muis cursor', `Niets')

\item {} 
Stel de \emph{Zoom factor} in voor het muiswiel

\end{itemize}


\subsection{Tabblad Overlays}
\label{docs/user_manual/introduction/qgis_configuration:overlays-tab}\begin{itemize}
\item {} 
Kies het \emph{Plaatsingsalgoritme} \includegraphics{selectstring.png} voor labels, symbolen and diagrammen (kies tussen `Middelpunt (snelst)',  `Chain', `Popmusic tabu chain', `Popmusic tabu' en `Popmusic chain')

\end{itemize}


\subsection{Tabblad Digitaliseren}
\label{docs/user_manual/introduction/qgis_configuration:digitizing-tab}\begin{itemize}
\item {} 
Wijzig de \emph{Lijnkleur} en \emph{Lijndikte} van de Rubberband

\item {} 
Zet de \emph{Standaard `snap'-modus} \includegraphics{selectstring.png} (`Naar hoekpunt', Naar segment', `Naar hoekpunt en segment')

\item {} 
Zet de \emph{Standaard `snapping'-tolerantie} in kaarteenheden of pixels

\item {} 
Zet de zoekradius voor hoekpuntaanpassingen in `kaart eenheden' of `pixels'

\item {} 
\includegraphics{checkbox.png} \emph{Markers alleen gebruiken voor geselecteerde objecten} heeft betrekking op het tonen ervan

\item {} 
Wijzig de \emph{Markerstijl} naar \includegraphics{selectstring.png} (`Kruis' (standaard), `Semi transparente cirkel' of `Niets') en de \emph{Markergrootte}.

\item {} 
\includegraphics{checkbox.png} \emph{Geen attribuut-popus na het aanmaken van elk kaartobject tonen}

\item {} 
\includegraphics{checkbox.png} \emph{Laatst ingevoerde attribuutwaarden gebruiken}

\item {} 
\emph{Valideer geometriën} tijdens het bewerken van complexe lijnen/polygonen bestaande uit veel punten kan dat dit het tekenen vertraagd. Dit komt omdat de standaard validatie `QGIS' veel tijd kan kosten. Om het tekenen te versnellen tijdens het editen kan gekozen worden voor de optie `GEOS' of om de validatie uit te zetten. De validatie met GEOS is veel sneller maar het nadeel is dat deze alleen het eerste geometrie probleem rapporteert.

\end{itemize}

De volgende 3 opties hebben betrekking op de tool \includegraphics[width=1.5em]{mActionOffsetCurve.png} $^{\text{Verspring Curve}}$, zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}, waarmee je de vorm van de versprongen lijn kan beïnvloeden.
\begin{itemize}
\item {} 
\emph{Verbindingsstijl voor de curve offset}

\item {} 
guilabel:\emph{Kwadrantsegmenten voor curve offset}

\item {} 
\emph{Hoeklimiet voor curve offset}

\end{itemize}


\subsection{Tabblad CRS}
\label{docs/user_manual/introduction/qgis_configuration:crs-tab}
Het CRS tabblad is onderverdeeld in twee delen. Het eerste deel geeft de mogelijkheid de standaard CRS in te stellen voor nieuwe projecten.
\begin{itemize}
\item {} 
Selecteer een CRS voor \emph{Altijd dit CRS gebruiken voor nieuwe projecten}.

\item {} 
\includegraphics{checkbox.png} \emph{Gelijktijdige CRS-transformatie gebruiken}

\end{itemize}

Het tweede deel geeft de mogelijkheid of er een actie volgt nadat, een nieuwe laag is aangemaakt, of wanneer een laag zonder CRS wordt geladen.
\begin{itemize}
\item {} 
\includegraphics{radiobuttonoff.png} \emph{Vraag om CRS}

\item {} 
\includegraphics{radiobuttonoff.png} \emph{Gebruik huidige project CRS}

\item {} 
\includegraphics{radiobuttonoff.png} \emph{Gebruik het standaard CRS zoals hieronder getoond}

\end{itemize}


\subsection{Tabblad Locale}
\label{docs/user_manual/introduction/qgis_configuration:locale-tab}\begin{itemize}
\item {} 
\includegraphics{checkbox.png} \emph{Systeem locale negeren} en \emph{Te gebruiken locale}

\item {} 
Informatie over gedetecteerde systeem locale

\end{itemize}


\subsection{Tabblad Netwerk}
\label{docs/user_manual/introduction/qgis_configuration:network-tab}\phantomsection\label{docs/user_manual/introduction/qgis_configuration:figure-network-tab}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{proxy-settings.png}
\caption{Proxy-settings in QGIS}\end{figure}
\begin{itemize}
\item {} 
\includegraphics{checkbox.png} \emph{Gebruik een proxy voor internettoegang} en geef de `Host', `Poort', `Gebruiker' en `Wachtwoord'.

\item {} 
Geef het \emph{Proxy type} \includegraphics{selectstring.png} naar behoefte.
\begin{itemize}
\item {} 
\emph{Default Proxy}: Proxy wordt bepaald gebasseerd op de huidige applicatie proxy set

\item {} 
\emph{Socks5Proxy}: Een generieke proxy die voor meerdere connectie protocollen. Ondersteund TCP, UDP, directe verbinding op poort (binnenkomende connecties) en autenticatie.

\item {} 
\emph{HttpProxy}: Gebruikt de ``CONNECT'' opdracht, ondersteund alleen uitgaande TCP connecties; ondersteund autenticatie.

\item {} 
\emph{HttpCachingProxy}: Gebruikt normale HTTP opdrachten, deze is alleen goed bruikbaar bij het gebruik van HTTP requests

\item {} 
\emph{FtpCachingProxy}: Gebruikt een FTP proxy, die alleen goed bruikbaar is in de context van FTP requests

\end{itemize}

\item {} 
Geef de \emph{Cache instellingen} (pad en grootte)

\item {} 
Geef een \emph{WMS zoekadres}, het standaard adres is \code{http://geopole.org/wms/search?search=\textbackslash{}\%1\textbackslash{}\&type=rss}

\item {} 
Geef de \emph{Timeout for netwerkaanvraagen (ms)} - standaard ingesteld op 60000

\end{itemize}

Het uitsluiten van enkele URLs die geen gebruik maken van proxy-settings (zie {\hyperref[docs/user_manual/introduction/qgis_configuration:figure-network-tab]{Figure\_Network\_Tab}}) kan gedaan worden door op de knop \textbf{{[}Toevoegen{]}} te drukken. Dubbelklik daarna op de zojuist aangemaakte URL-veld en geef de URL die je wilt uitsluiten van het gebruiken van de proxy. Uiteraard kun je met de knop \textbf{{[}Verwijderen{]}} de geselecteerde URL verwijderen uit de lijst.

Wanneer je meer gedetailleerde informatie nodig hebt over de verschillende proxy settings, verwijzen we naar de handleiding QT functie bibliotheek documentatie zie \href{http://doc.trolltech.com/4.5/qnetworkproxy.html\#ProxyType-enum}{http://doc.trolltech.com/4.5/qnetworkproxy.html\#ProxyType-enum}.

\begin{notice}{tip}{Tip:}
\textbf{Het gebruik van Proxies}

Het gebruiken van proxies kan soms erg lastig zijn. Gebruik de `trial and error' methode om de verschillende proxy typen te testen en controleer of deze voor jou werken.
\end{notice}

Je kunt de opties wijzigen naar behoefte. Enkele aanpassingen hebben echter een herstart van QGIS nodig voordat deze effectief worden.
\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png} instellingen worden opgeslagen in het tekstbestand: \$HOME/.config/QuantumGIS/qgis.conf

\item {} 
\includegraphics[width=1em]{osx.png} de instellingen worden opgeslagen in: \$HOME/Library/Preferences/org.qgis.qgis.plist

\item {} 
\includegraphics[width=1em]{win.png} instellingen worden opgeslagen in de windows registry onder:

\end{itemize}

\begin{Verbatim}[commandchars=\\\{\}]
\PYGZbs{}HKEY\PYGZbs{}CURRENT\_USER\PYGZbs{}Software\PYGZbs{}QuantumGIS\PYGZbs{}qgis
\end{Verbatim}


\section{Aanpassingen}
\label{docs/user_manual/introduction/qgis_configuration:sec-customization}\label{docs/user_manual/introduction/qgis_configuration:customization}
De tool Aanpassingen is een nieuw onderdeel van QGIS versie 1.8.. Hiermee kun je bijna elke element aan-/uitzetten in de QGIS gebruikersinterface. Dit kan erg handig zijn wanneer veel plugins geinstalleerd zijn die je nooit gebruikt en die veel schermruimte innemen.
\phantomsection\label{docs/user_manual/introduction/qgis_configuration:figure-customization}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{customization.png}
\caption{The Customization dialog \includegraphics[width=1em]{nix.png}}\end{figure}

QGIS Aanpassingen is onderverdeeld in vijf groepen. Onder \includegraphics{checkbox.png} \emph{Docks} vind je `dockable windows'. Dockable windows zijn applicaties die gestart kunnen worden als een losstaand window maar die ook kunnen worden ingebed in het window van de QGIS applicatie zelf.(zie ook {\hyperref[docs/user_manual/introduction/qgis_configuration:sec-panels-and-toolbars]{\emph{Panelen en Werkbalken}}}). Onder \includegraphics{checkbox.png} \emph{Menus} kun je menu onderdelen verbergen. Onder \includegraphics{checkbox.png} \emph{Status Bar} kun je onderdelen zoals de coördinaten informatie uitzetten. Onder \includegraphics{checkbox.png} \emph{Toolbars} kun je iconen van de QGIS werkbalken (de)activeren en onder \includegraphics{checkbox.png} \emph{Hulpmiddelen} kun je ook knoppen en bijbehorende dialogen verbergen.

Met \includegraphics[width=1.5em]{mActionSelect.png} \emph{Schakel naar widgets in de hoofdapplicatie} kun je klikken op elementen in QGIS die je wilt verbergen waarna deze ook direct springt naar de bijbehorende entry in het Aanpassingen dialoog (zie {\hyperref[docs/user_manual/introduction/qgis_configuration:figure-customization]{figure\_customization}}). Je kunt ook verschillende sets van instellingen voor verschillende soorten gebruikers opslaan. Om de wijzigen toe te passen is een herstart van QGIS nodig.


\chapter{Werken met Projecties}
\label{docs/user_manual/working_with_projections/working_with_projections::doc}\label{docs/user_manual/working_with_projections/working_with_projections:label-projections}\label{docs/user_manual/working_with_projections/working_with_projections:working-with-projections}
\index{Projections}\index{CRS}\index{Coordinate\_Reference\_System}
QGIS geeft gebruikers de mogelijkheid om een globale en projectbrede CRS (Coördinaten Referentie Systeem) toe te voegen aan lagen die zelf geen CRS bevatten. Het is ook mogelijk om zelf een custom coördinaten referentie systeem te maken en het ondersteund gelijktijdige CRS transformaties van vector- en rasterkaartlagen. Dit geeft de gebruiker de mogelijkheid om lagen die verschillende CRS bevatten over elkaar heen te projecteren.


\section{Overzicht Ondersteuning van Projecties}
\label{docs/user_manual/working_with_projections/working_with_projections:label-projoverview}\label{docs/user_manual/working_with_projections/working_with_projections:overview-of-projection-support}
QGIS ondersteund ongeveer 2700 bekende CRS. De definities van al deze Coordinaat Referentie Systemen zijn opgeslagen in een SQLite database die onderdeel is van een QGIS installatie. Normaal gesproken hoeven deze beschrijvingen niet te worden aangepast. Dit kan zelfs er voor zorgen dat hierdoor de ondersteuning van projecties faalt. Custom CRS worden opgeslagen in een gebruikers database. Zie het onderdeel {\hyperref[docs/user_manual/working_with_projections/working_with_projections:sec-custom-projections]{\emph{Aangepaste Coördinaten Referentie Systeem}}} voor informatie over het beheer van custom coördinaten referentie systemen.

\index{EPSG}\index{IGNF}\index{European\_Petroleom\_Search\_Group}
\index{Institut\_Geographique\_National\_de\_France}
De beschikbare CRS in QGIS zijn gebaseerd op definities die zijn gepubliceerd door de European Petroleum Search Group (EPSG) en het Institut Geographique National de France (IGNF) die grotendeels zijn opgenomen in de spatiale referentie tabellen die gebruikt worden in GDAL. De EPSG ID zijn aanwezig in de database en kunnen gebruikt worden om een CRS te selecteren in QGIS.

Om de gelijktijdige CRS transformatie te gebruiken, dienen alle kaartlagen zelf een coordinaat referentie systeem te bevatten of moet er een globale of een projectbrede CRS gedefinieerd te zijn (gebruikt voor alle kaartlagen zonder CRS). Voor PostGIS lagen gebruikt QGIS de spatiale referentie die gebruikt is tijdens het aanmaken van de laag. Voor kaartgegevens die ondersteund worden door OGR, gaat QGIS uit van de aanwezigheid van onderdelen die de CRS definitie bevatten. Voor Shapefiles betekent dit dat er een bestand aanwezig moet zijn die de Well Known Text (\index{WKT}WKT) beschrijving van een CRS bevat. Dit projectiebestand heeft dezelfde basis naam als de shapefile en wordt gevolgd door de bestandsextensie `.prj'. Voorbeeld, naast een shapefile met de naam \code{alaska.shp} dient ook een bijbehorend projectbestand met de naam \code{alaska.prj} te bestaan.

Wanneer je een nieuw CRS selecteert, zal de gebruikte lengte-eenheid mee veranderen in het tabblad \emph{Algemeen} van de \includegraphics[width=1em]{mActionOptions.png} \emph{Projectinstellingen} dialoog onder het menu \emph{Bestand} (Gnome, OSX) of \emph{Extra} (KDE, Windows) menu.

\index{default\_CRS}

\section{Een Projectie Definiëren}
\label{docs/user_manual/working_with_projections/working_with_projections:index-4}\label{docs/user_manual/working_with_projections/working_with_projections:specifying-a-projection}
QGIS gebruikt voor elk nieuw project de globale standaard projectie. De standaard globale CRS na installatie van QGIS is EPSG:4326 - WGS 84 (\code{proj=longlat +ellps=WGS84 +datum=WGS84 +no\_defs}). Deze globale CRS kan worden gewijzigd gebruik makende van de knop \textbf{{[}Selecteren...{]}} in het eerste deel waarmee de Standaard Coördinaten Referentie Systeem te gebruiken voor nieuwe projecten (bijvoorbeeld het Nederlands RD systeem) zoals getoond in {\hyperref[docs/user_manual/working_with_projections/working_with_projections:figure-projection-1]{figure\_projection\_1}}. Deze keuze zal opgeslagen worden voor gebruik in volgende QGIS sessies.
\phantomsection\label{docs/user_manual/working_with_projections/working_with_projections:figure-projection-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{crsdialog.png}
\caption{CRS tab in the QGIS Options Dialog \includegraphics[width=1em]{osx.png}}\end{figure}

Wanneer je kaartlagen gebruikt die geen CRS bevatten, dan zul je moeten definiëren welke CRS QGIS moet gebruiken voor deze lagen. Dit kan met een globale of een project CRS in het \emph{CRS} tabblad onder \emph{Bewerken \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties} (Gnome) of \emph{Extra \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties} (KDE, Windows, OSX).

De opties getoond in {\hyperref[docs/user_manual/working_with_projections/working_with_projections:figure-projection-1]{figure\_projection\_1}} zijn:
\begin{itemize}
\item {} 
\includegraphics{radiobuttonoff.png} \emph{Vraag om CRS}

\item {} 
\includegraphics{radiobuttonoff.png} \emph{Gebruik huidige project CRS}

\item {} 
\includegraphics{radiobuttonon.png} \emph{Gebruik het standaard CRS zoals hieronder getoond}

\end{itemize}

Wanneer je de coördinaten referentie systeem voor een bepaalde laag zonder CRS informatie wilt definiëren, dan kun je dat doen in het tabblad \emph{Algemeen} van de dialoog eigenschappen van de -raster (zie {\hyperref[docs/user_manual/working_with_raster/raster_properties:label-generaltab]{\emph{Tabblad Algemeen}}}) en vectorlaag (see {\hyperref[docs/user_manual/working_with_vector/vector_properties:vectorgeneraltab]{\emph{Tabblad Algemeen}}}). Wanneer je laag al een CRS heeft, zal dit getoond worden als in figuur {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-vector-properties-1]{\emph{Vector Layer Properties Dialog }}} .

\begin{notice}{tip}{Tip:}
\textbf{CRS in de kaartlegenda}

Met de rechtermuis op een laag klikken in de Kaartlegenda (zie {\hyperref[docs/user_manual/introduction/qgis_gui:label-legend]{\emph{Legenda}}}) geeft twee CRS snelkoppelingen \emph{Instellen laag CRS} zal direct de Ruimtelijk Referentie Systeem Keuze openen (zie {\hyperref[docs/user_manual/working_with_projections/working_with_projections:figure-projection-2]{figure\_projection\_2}}). \emph{Project CRS van laag overnemen} zal de project CRS instellen en gelijk maken aan de CRS van geselecteerde laag
\end{notice}


\section{Gelijktijdige CRS transformatie gebruiken}
\label{docs/user_manual/working_with_projections/working_with_projections:define-on-the-fly-otf-reprojection}
QGIS ondersteund gelijktijdige CRS transformatie voor zowel raster- als vectorkaartgegevens, deze is echter standaard niet geactiveerd. Vink het aanvinkvakje \includegraphics{checkbox.png} \emph{Gelijktijdige CRS transformatie gebruiken} an in het tabblad \emph{CRS} van de \includegraphics[width=1.5em]{mActionProjectProperties.png} \emph{Projectinstellingen} dialog.

Er zijn drie manieren om dit dialoog te openen:
\begin{enumerate}
\item {} 
Selecteer \includegraphics[width=1em]{mActionOptions.png} \emph{Projectinstellingen} van het menu \emph{Bewerken} (Gnome) of \emph{Extra} (KDE, Windows, OSX).

\item {} 
Klik op de \includegraphics{geographic.png} $^{\text{CRS status}}$ icoon in de linkeronderhoek van de statusbalk.

\item {} 
Zet Gelijktijdige CRS transformatie standaard aan, door in het tabblad \emph{CRS} van de \emph{Opties} dialoog en de checkbox\textbar{} \emph{Gelijktijdige CRS transformatie gebruiken} aan te vinken.

\end{enumerate}

Wanneer je al een laag geladen hebt, en je wilt gelijktijdige CRS transformatie gebruiken, dan kun je het beste het tabblad \emph{CRS} van de \emph{Projectinstellingen} dialog openen, een CRS selecteren en daarna de optie \includegraphics{checkbox.png} \emph{Gelijktijdige CRS transformatie gebruiken} aanvinken. Het \includegraphics{geographic.png} $^{\text{CRS status}}$ icoon zal niet langer uitgegrijsd zijn en alle lagen zullen geprojecteerd worden naar de CRS dit getoond wordt naast het icoon.

\index{Proj4}\index{Proj4\_text}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{projectionDialog.png}
\caption{Projection Dialog \includegraphics[width=1em]{win.png}}\label{docs/user_manual/working_with_projections/working_with_projections:figure-projection-2}\end{figure}

Het tabblad \emph{CRS} van de \emph{Projectinstellingen} dialoog bevat vijf belangrijke onderdelen zoals getoond in {\hyperref[docs/user_manual/working_with_projections/working_with_projections:figure-projection-2]{Figure\_projection\_2}} die hieronder worden beschreven.
\begin{enumerate}
\item {} 
\textbf{Gelijktijdige CRS-Transformatie gebruiken} - dit aanvinkvakje wordt gebruikt om de gelijktijdige CRS transformatie te (de)activeren. Wanneer uit, zal elke laag getekent worden gebruik maken van de de coördinaten zoals gelezen van de gegevensbron en de onderstaande beschreven componenten zijn daarbij uitgeschakeld. Wanneer aan, zullen de coördinaten van elke laag worden geprojecteerd naar het coördinaten referentie systeem zoals ingesteld voor het kaartbeeld.

\item {} 
\textbf{Coördinaten Referentie Systeem} - dit is een lijst van alle CRS die ondersteund worden door QGIS, inclusief geografische, geprojecteerde en zelf gedefiniëerde coördinaten referentie systemen. Om een CRS in te stellen, selecteer deze uit de lijst door de bijbehorende lijst uit te klappen en de CRS te selecteren. De actieve CRS is voorgeselecteerd.

\item {} 
\textbf{Proj4 text} - dit is de CRS tekst gebruikt door de Proj4 projectie engine. Deze tekst is alleen-lezen en wordt gegeven ter informatie.

\item {} 
\textbf{Filter} - wanneer de EPSG code bekend is, of de identifier of de naam ven een Coördinaten Referentie Systeem, kun je gebruik maken van een zoekterm om deze te vinden. Geef de EPSG code, de identifier of de naam als zoekterm.

\item {} 
\textbf{Recent gebruikte coördinatenreferentiesystemen} - wanneer je bepaalde CRS vaker gebruikt, dan zullen deze getoond worden onder in de tabel van de Projectie Dialoog. Klik op een van deze knoppen om de daarbijhorende CRS te selecteren.

\end{enumerate}

\begin{notice}{tip}{Tip:}
\textbf{Projectinstellingen Dialog}

Wanneer je de \emph{Projectinstellingen} dialoog opent via het menu  \emph{Bewerken} (Gnome) of \emph{Extra} (KDE, Windows, OSX), dan moet je het tabblad \emph{CRS} selecteren om de CRS instellingen te bekijken.

Het openen van de dialoog vanuit het icoon \includegraphics{geographic.png} \emph{CRS status} zal direct het tabblad \emph{CRS} openen.
\end{notice}


\section{Aangepaste Coördinaten Referentie Systeem}
\label{docs/user_manual/working_with_projections/working_with_projections:custom-coordinate-reference-system}\label{docs/user_manual/working_with_projections/working_with_projections:sec-custom-projections}
\index{Custom\_CRS}
Indien QGIS niet het coördinaten referentie systeem levert die je nodig hebt, kun je zelf een CRS maken. Om een CRS te maken kies \includegraphics[width=1.5em]{mIconNew.png} \emph{Aangepaste CRS} via het menu \emph{Bewerken} (Gnome) of \emph{Extra} (KDE, Windows, OSX). Zelf gemaakte CRS worden opgeslagen in een QGIS gebruikers database. Deze database bevat ook de Favoriete Plaatsen (spatial bookmarks) en andere eigen instellingen.
\phantomsection\label{docs/user_manual/working_with_projections/working_with_projections:figure-projection-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{customProjectionDialog.png}
\caption{Custom CRS Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Proj.4}
Om zelf een CRS in QGIS te maken, betekent dat je wel de Proj.4 projectie functie bibliotheek moet snappen. Om te beginnen, verwijzen we naar Cartographic Projection Procedures for the UNIX Environment - A User's Manual by Gerald I. Evenden, U.S. Geological Survey Open-File Report 90-284, 1990 (beschikbaar via \href{ftp://ftp.remotesensing.org/proj/OF90-284.pdf}{ftp://ftp.remotesensing.org/proj/OF90-284.pdf} ).

Deze handleiding beschrijft het gebruik van \code{proj.4} en de daarbijhorende `command line utilities'. De cartografische parameters die gebruikt worden voor \code{proj.4} worden beschreven in de gebruikershandleiding en deze kunnen ook worden gebruikt in QGIS.

De \emph{Aangepaste Coordinaten Referentie Systeem Definitie} dialoog heeft slechts twee parameters nodig om een gebruikers CRS te maken:
\begin{enumerate}
\item {} 
een beschrijvende naam en

\item {} 
de cartographische parameters in PROJ.4 formaat.

\end{enumerate}

Om een nieuwe CRS te maken, klik op de knop \includegraphics[width=1.5em]{mIconNew.png} $^{\text{Nieuw}}$ en geef een beschrijvende naam en de CRS parameters. Daarna kun je deze CRS opslaan door de klikken op de knop \includegraphics[width=1.5em]{mActionFileSave.png} $^{\text{Opslaan}}$.

Let daarbij op dat \emph{Parameters} moet beginnen met \code{+proj=} om een nieuw coördinaten referentie systeem te maken.

Je kunt de gegeven CRS parameters testen om te zien of deze goede resultaten geeft door de klikken op de knop \textbf{{[}Bereken{]}} binnen het \emph{Test} gedeelte en door de in te geven CRS parameters te plakken in het veld \emph{Parameters}. Geef daarna de bekende coördinaten in WGS84 lat/long waarden in de velden \emph{Noord} en \emph{Oost}. Klik op \textbf{{[}Bereken{]}} en vergelijk de resultaten met de bekende waarden in jou coördinaten referentie systeem.

\index{Browse\_Maps}
\index{Import\_Maps}

\chapter{QGIS Browser}
\label{docs/user_manual/qgis_browser/qgis_browser:label-qgis-browser}\label{docs/user_manual/qgis_browser/qgis_browser::doc}\label{docs/user_manual/qgis_browser/qgis_browser:index-1}\label{docs/user_manual/qgis_browser/qgis_browser:qgis-browser}
De QGIS Browser is een nieuw paneel in QGIS waarmee je eenvoudige door je database kunt browsen. Je hebt daarbij toegang tot vector bestanden (bijv. ESRI shapefiles of MapInfo bestanden), databases (bijv. PostGIS of MSSQL Spatial) en WMS/WFS webservices. Je kunt ook GRASS data bekijken (hoe deze data in QGIS in te lezen zie {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-grass]{\emph{GRASS GIS Integration}}}).
\phantomsection\label{docs/user_manual/qgis_browser/qgis_browser:figure-browser-standalone-metadata}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=35em]{browser_standalone_metadata.png}
\caption{Qgis browser as a standalone application to view metadata, preview and attributes \includegraphics[width=1em]{nix.png}}\end{figure}

Gebruik QGIS Browser om vooraf de gegevens te bekijken. Met de `drag en drop' functie kun je eenvoudig gegevens in je kaart en in de legenda slepen.
\begin{enumerate}
\item {} 
Activeren van het QGIS Browser paneel: Klik met de rechtermuis op een werkbalk en selecteer \includegraphics{checkbox.png}\emph{Browser}.

\item {} 
Sleep het paneel in het paneel van de legenda.

\item {} 
Selecteer het tabblad \emph{Browser}.

\item {} 
Browse in je database en kies de folder shapefiles van qgis\_sample\_data.

\item {} 
Selecteer met ingehouden \code{Shift} toets airport.shp en alaska.shp .

\item {} 
Sleep met ingehouden linkermuisknop deze selectie de kaart in.

\item {} 
Selecteer een laag open het snelmenu met de rechtermuisknop en kies \emph{Project CRS van laag overnemen}. Voor meer informatie zie {\hyperref[docs/user_manual/working_with_projections/working_with_projections:label-projections]{\emph{Werken met Projecties}}}.

\item {} 
Selecteer \includegraphics[width=1.5em]{mActionZoomFullExtent.png} \emph{Volledig uitzoomen} om de lagen zichtbaar te maken.

\end{enumerate}

De QGIS Browser kan ook gebruikt worden als een losse applicatie.

\textbf{Opstarten van qgis browser}
\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png} Geef ``qbrowser'' in op de opdracht prompt.

\item {} 
\includegraphics[width=1em]{win.png} Start QGIS browser vanuit het Startmenu of via de snelkoppeling op het bureaublad, of door te dubbelklikken op een QGIS projectbestand.

\item {} 
\includegraphics[width=1em]{osx.png} QGIS browser is nog niet beschikbaar in de Applicatie folder. Echter deze kan eenvoudig beschikbaar worden gemaakt. In Finder gebruik \emph{Ga \(\rightarrow\) Ga naar map...} en gebruik deze om de folder{}`{}`/Applications/QGIS.app/Contents/MacOS/bin{}`{}` te openen. Gebruik de toetscombinatie \code{option - command} en sleep \textbf{qbrowser.app} met ingehouden linkermuisknop naar de Applicatie folder. Hiermee maak je een link aan waarmee de QGIS browser gestart kan worden.

\end{itemize}

In {\hyperref[docs/user_manual/qgis_browser/qgis_browser:figure-browser-standalone-metadata]{figure\_browser\_standalone\_metadata}} kun je de uitgebreidde functionaliteit van de Qgis browser applicatie zien. Het tabblad \emph{Param} geeft de details de database connecties van bijvoorbeeld PostGIS of MSSQL Spatial. Het tabblad \emph{Metadata} bevat algemene informatie over het bestand (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:vectormetadatatab]{\emph{Tabblad Metadata}}}). Met het tabblad \emph{Preview} kun je de inhouden van bestanden bekijken zonder deze eerst te importeren in je QGIS project. Het is ook mogelijk de attribuutvelden te bekijken via het tabblad :guilabel:{\color{red}\bfseries{}{}`}Attributes.


\chapter{Werken met Vector Data}
\label{docs/user_manual/working_with_vector/index:label-workingvector}\label{docs/user_manual/working_with_vector/index:working-with-vector-data}\label{docs/user_manual/working_with_vector/index::doc}

\section{Ondersteunde Formaten}
\label{docs/user_manual/working_with_vector/supported_data:supported-data-formats}\label{docs/user_manual/working_with_vector/supported_data::doc}
QGIS gebruikt standaard de OGR functie-bibliotheek om vectorgegevens te kunnen lezen van, en te schrijven naar ESRI Shapefiles, MapInfo en Microstation bestandsformaten; PostGIS, SpatiaLite, Oracle Spatiale databases en vele andere formaten. De vector gegevens kunnen ook geladen worden vanuit gecomprimeerde zip en gzip-archiefbestanden waarbij gegevens dan alleen gelezen kunnen worden in QGIS. Op het moment van schrijven van dit document worden, 69 vector formaten ondersteund door de OGR functiebibliotheek (zie OGR-SOFTWARE-SUITE {\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}}). De volledige lijst is beschikbaar op \href{http://www.gdal.org/ogr/ogr\_formats.html}{http://www.gdal.org/ogr/ogr\_formats.html}. QGIS ondersteund ook GRASS vector en PostgreSQL middels standaard plugins.

\begin{notice}{note}{Notitie:}
Niet alle genoemde formaten zullen zomaar werken in QGIS voor verschillende redenen. Sommige formaten vereisen de aanwezigheid van externe commerciële funktiebibliotheken. Of een formaat wordt niet ondersteund door GDAL/OGR functiebibliotheek die is opgebouwd in voor het gebruikte besturingssysteem. Alleen die formaten die goed zijn getest zullen verschijnen in de lijst van bestandtypen wanneer men een vectorbestand in QGIS wilt inlezen. Overige niet geteste formaten kunnen worden geladen door \code{*.*} te selecteren.
\end{notice}

Het werken met GRASS vector gegevens is beschreven in {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-grass]{\emph{GRASS GIS Integration}}}.

Dit deel beschrijft hoe je kunt werken met enkele veelvoorkomende vectorformaten: ESRI shapefiles, PostGIS lagen en Spatialite lagen. Veel van de beschikbare gebruikerfuncties in QGIS werken precies hetzelfde voor ondersteunde vectorformaten. Dit is een uitgangspunt geweest bij het ontwerp van QGIS en betreft o.a. de volgende functies, het identificeren, het selecteren, het toevoegen van labels en het werken met attributen.

\index{ESRI}\index{Shapefile}\index{OGR}

\subsection{ESRI Shapefiles}
\label{docs/user_manual/working_with_vector/supported_data:esri-shapefiles}\label{docs/user_manual/working_with_vector/supported_data:index-0}\label{docs/user_manual/working_with_vector/supported_data:vector-shapefiles}
Het standaard vector bestandsformaat dat gebruikt wordt in QGIS is de ESRI Shapefile. De ondersteuning hiervoor wordt mogelijk gemaakt door de \index{OGR Simple Feature Library}OGR Simple Feature Library ( \href{http://www.gdal.org/ogr/}{http://www.gdal.org/ogr/} ).

Een shapefile bestaat uit meerdere bestanden. De volgende drie zijn noodzakelijk:
\begin{enumerate}
\item {} 
\code{.shp} bestand die de geometrieën van de objecten bevat.

\item {} 
\code{.dbf} bestand die de attribuutwaarden bevat in dBase formaat.

\item {} 
\code{.shx} het index bestand.

\end{enumerate}

Shapefiles kunnen ook een bestand bevatten met de bestandsextensie \code{.prj} , het projectiebestand die informatie over het gebruikte coördinatensysteem bevat. Alhoewel een projectie bestand erg handig is, is het niet noodzakelijk. Een shapefile dataset kan daarnaast nog meer bestanden bevatten. Voor verdere details, bekijk de ESRI technisch specificaties op \href{http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf}{http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf}.


\subsubsection{Het laden van een Shapefile}
\label{docs/user_manual/working_with_vector/supported_data:vector-load-shapefile}\label{docs/user_manual/working_with_vector/supported_data:loading-a-shapefile}
\includegraphics[width=1.5em]{mActionAddNonDbLayer.png} Om een shapefile te laden, open QGIS en klik op het icoontje \includegraphics[width=1.5em]{mActionAddNonDbLayer.png} $^{\text{Vectorlaag Toevoegen}}$ in de werkbalk of gebruik de snelkoppeling \code{Ctrl+Shift+V}. Dit zal een nieuw scherm openen (zie {\hyperref[docs/user_manual/working_with_vector/supported_data:figure-vector-1]{figure\_vector\_1}}).
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:figure-vector-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{addvectorlayerdialog.png}
\caption{Add Vector Layer Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

Uit de beschikbare opties selecteer het keuzerondje \includegraphics{radiobuttonon.png} \emph{Bestand}. Klik vervolgens op de knop \textbf{{[}Bladeren{]}}. Dit zal een standaard bestandskeuze menu openen (zie {\hyperref[docs/user_manual/working_with_vector/supported_data:figure-vector-2]{figure\_vector\_2}}) waarmee je kunt bladeren naar de gewenste shapefile of een andere door QGIS ondersteund vectorformaat. De keuzelijst \emph{Bestandstypen} \includegraphics{selectstring.png} geeft de mogelijkheid om te filteren op door OGR ondersteunde bestandsformaten.

Je kunt ook, indien gewenst de karakterset codering, oftewel de encoding meegeven voor de te openen shapefile, (CP1252 is de latijnse karakterset veelal gebruikt in westerse talen).
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:figure-vector-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{shapefileopendialog.png}
\caption{Open an OGR Supported Vector Layer Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

Selecteer een shapefile uit de lijst en selecteer de knop \textbf{{[}Open{]}} zodat deze geladen wordt in QGIS. {\hyperref[docs/user_manual/working_with_vector/supported_data:figure-vector-3]{Figure\_vector\_3}} toont QGIS na het laden van de shapefile \code{alaska.shp}.
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:figure-vector-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{shapefileloaded.png}
\caption{QGIS with Shapefile of Alaska loaded \includegraphics[width=1em]{nix.png}}\end{figure}
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:tip-layer-colors}
\begin{notice}{tip}{Tip:}
\textbf{Kleuren van kaartlagen}

Wanneer je een kaartlaag toevoegt, zullen de objecten getoond worden in een willekeurige kleur. Wanneer je meer dan één kaartlaag toevoegd, zal elke kaartlaag een andere kleur krijgen.
\end{notice}

Eenmaal geladen, kun je kaartlaag bestuderen met de kaart navigatie functies. Om de symbologie van een kaartlaag te wijzigen, open het scherm: guilabel:\emph{Laag Eigenschappen} door te dubbelklikken op de naam van de kaartlaag in de legenda, of door de laag te selecteren en met de rechtermuis het snelmenu op te roepen en daarin te kiezen voor \emph{Eigenschappen}. Zie ook {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-style-tab]{\emph{Tabblad Stijl}}} voor meer informatie over het toekennen van symbologie aan Vector kaartlagen.
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:tip-load-from-external-drive-osx}
\begin{notice}{tip}{Tip:}
\textbf{Het laden van kaartlagen en projecten van exerne drives onder OS X}

Onder OS X, worden de extern toegevoegde USB-sticks en externe harde schijven niet getoond onder  \emph{Bestand \(\rightarrow\) Open Project} zoals men zou verwachten. Er wordt gewerkt aan een oplossing die beter aansluit op de OSX-standaard open/opslaan menu om dit te verhelpen. Je kunt echter, als tijdelijke oplossing, `/Volumes' invullen bij Bestandsnaam en op \code{return} drukken. Vervolgens kun je nu ook de externe gekoppelde geheugeneenheden, zoals USB sticks, benaderen.
\end{notice}


\subsubsection{Verbeteren van de performance van Shape}
\label{docs/user_manual/working_with_vector/supported_data:vector-improving-performance-shape}\label{docs/user_manual/working_with_vector/supported_data:improving-performance-shape}
Om de performance van het werken met shapefiles te verbeteren, kun je een spatiale index maken. Een spatiale index zal er voor zorgen dat het kaartbeeld veel sneller getekend wordt zodat je ook sneller kunt in- en uitzoomen of het beeld kunt verschuiven. Spatiale indexen gebruikt door QGIS hebben de bestandsnaamextensie \code{.qix}.

Gebruik volgende stappen om een index te maken:
\begin{itemize}
\item {} 
Laad een shapefile.

\item {} 
Open het menu \emph{Laag Eigenschappen} door in de legenda te dubbelklikken op de naam van de shapefile of na selectie in de legenda, met de rechtermuisknop het snelmenu te openen en hierin \emph{Eigenschappen} te kiezen.

\item {} 
In het tabblad \emph{Algemeen} selecteer de knop \textbf{{[}Ruimtelijke index maken{]}}.

\end{itemize}


\subsubsection{Problemen bij het laden van een shape .prj bestand}
\label{docs/user_manual/working_with_vector/supported_data:vector-shape-problem-loading}\label{docs/user_manual/working_with_vector/supported_data:problem-loading-a-shape-prj-file}
Wanneer je een shapefile laad met een \code{.prj} bestand en QGIS is niet in staat om het Coördinate referentie systeem van dat bestand te lezen, dan kun je zelf handmatig de goede CRS projectie zetten binnen het tabblad \emph{Algemeen} van het scherm \emph{Laag Eigenschappen} voor die laag. Dit is nodig omdat het gegeven definies in het \code{.prj} bestanden vaak niet alle benodigde projectie parameters bevatten, die gebruikt worden in QGIS en gegeven zijn in de lijst van de \emph{CRS} dialoog.

Om die reden wordt er bij het aanmaken van een nieuwe shapefile met QGIS, twee verschillende projectie bestanden aangemaakt. Een \code{.prj} bestand met een kleiner aantal projectie parameters, compatibel met ESRI software, en een \code{.qpj} bestand, die een uitgebreidere set van parameters bevat van de gebruikte CRS. Wanneer QGIS een \code{.qpj} bestand aantreft, zal deze gebruikt worden in plaats van het \code{.prj} bestand.

\index{MapInfo}

\subsection{Het laden van MapInfo gegevens}
\label{docs/user_manual/working_with_vector/supported_data:loading-a-mapinfo-layer}\label{docs/user_manual/working_with_vector/supported_data:vector-loading-mapinfo}\label{docs/user_manual/working_with_vector/supported_data:index-3}
\includegraphics[width=1.5em]{mActionAddNonDbLayer.png} Om MapInfo gegevens te laden, druk op het icoontje \includegraphics[width=1.5em]{mActionAddNonDbLayer.png} $^{\text{Vectorlaag Toevoegen}}$ in de werkbalk of gebruik snelkoppeling \code{Ctrl+Shift+V} om het menu vectorlaag toevoegen te openen. Wijzig het bestandstype filter naar \emph{Bestandstype MapInfo Bestand {[}OGR{]}} en selecteer het MapInfo bestand die je wilt laden.

\index{ArcInfo\_Binary\_Coverage}\index{Tiger\_Format}\index{UK\_National\_Transfer\_Format}
\index{US\_Census\_Bureau}

\subsection{Het laden van ArcInfo Binary Coverage}
\label{docs/user_manual/working_with_vector/supported_data:loading-an-arcinfo-binary-coverage}\label{docs/user_manual/working_with_vector/supported_data:index-5}\label{docs/user_manual/working_with_vector/supported_data:vector-loading-arcinfo-coverage}
\includegraphics[width=1.5em]{mActionAddNonDbLayer.png} Om een ArcInfo Binary Coverage te laden, druk op het icoontje \includegraphics[width=1.5em]{mActionAddNonDbLayer.png} $^{\text{Vectorlaag Toevoegen}}$ in de werkbalk of gebruik snelkoppeling \code{Ctrl+Shift+V} om het menu Vectorlaag toevoegen te openen. Selecteer nu eerst de status van keuzerondje \includegraphics{radiobuttonon.png} \emph{Map}. Wijzig vervolgens in de keuzelijst \emph{Type Arc/Info Binary Coverage} \includegraphics{selectstring.png}. Navigeer vervolgens naar de folder die de Arc/Info Coverage bestanden bevat en selecteer deze.

Op de zelfde wijze kun je ook de vector bestanden in het UK National Transfer formaat laden, die eveneens zijn opgeslagen in een folder als bestanden in het TIGER formaat van het US Census Bureau.

\index{PostGIS}\index{PostgreSQL}

\subsection{PostGIS kaartlagen}
\label{docs/user_manual/working_with_vector/supported_data:label-postgis}\label{docs/user_manual/working_with_vector/supported_data:postgis-layers}\label{docs/user_manual/working_with_vector/supported_data:index-6}
PostGIS kaartlagen zijn opgeslagen in een PostgreSQL database. Het voordeel van PostGIS zijn de spatiale indexering, filters en de uitgebreidere bevraagmogelijkheden waarin PostGIS voorziet. Wanneer men gebruik maakt van PostGIS, werken vector functies zoals het selecteren en het identificeren van objecten meer accuraat dan met OGR lagen in QGIS.

\index{Connection\_Manager}

\subsubsection{Een Connectie maken met PostGIS}
\label{docs/user_manual/working_with_vector/supported_data:vector-create-stored-connection}\label{docs/user_manual/working_with_vector/supported_data:creating-a-stored-connection}\label{docs/user_manual/working_with_vector/supported_data:index-7}
\includegraphics[width=1.5em]{mActionAddLayer.png} De eerste keer wanneer je een PostGIS database wilt openen, moet er eerst een connectie met de PostgreSQL database gemaakt worden die de spatiale gegevens bevat. Begin met het selecteren van het icoontje \includegraphics[width=1.5em]{mActionAddLayer.png} $^{\text{PostGIS-laag Toevoegen}}$ in de werkbalk, of selecteer de menuoptie \includegraphics[width=1.5em]{mActionAddLayer.png} \emph{PostGIS-laag Toevoegen...} van het menu \emph{Kaartlagen} of gebruik de snelkoppeling \code{Ctrl+Shift+D}. Het menu \emph{PostGIS Tabel(len) Toevoegen} zal vervolgens geopend worden. Dit menu kun je ook openen vanuit het menu  \emph{Vectorlaag Toevoegen} waarbij je de status van het keuzerondje \includegraphics{radiobuttonon.png} \emph{Database}.aanzet. Druk eerst op de knop \textbf{{[}Nieuw{]}} om toegang te krijgen tot de connectie manager, vervolgens opent het menu \emph{Nieuwe PostGIS-verbinding aanmaken}. De verplichte velden voor het opzetten van een verbinding zijn:
\begin{itemize}
\item {} 
\textbf{Naam}: Een naam voor deze verbinding. Kan gelijk zijn aan de \emph{Database}

\item {} 
\textbf{Service}: Service parameter die gebruikt kan worden als alternatief voor Host/Poort (en eventueel ook Database). Dit kan gedefinieerd worden in de \code{pg\_service.conf}

\item {} 
\textbf{Host}: Naam van de database host. De naam van de host moet dezelfde zijn als waarmee je deze kunt vinden via een telnet verbinding of hoe je deze kunt pingen. Wanneer de database op dezelfde computer staat als QGIS, gebruik hier dan \emph{`localhost'}.

\item {} 
\textbf{Poort}: Poort nummer waar de PostgreSQL database naar luistert. De standaardpoort is 5432.

\item {} 
\textbf{Database}: Naam van de database.

\item {} 
\textbf{SSL mode}: De instelling van het opzetten van een beveiligde SSL verbinding met de server. De performance van het opbouwen van kaarten in QGIS is overigens veel beter door SSL uit te schakelen. Dit zijn de opties:
\begin{itemize}
\item {} 
uitschakelen: alleen verbinden zonder SSL versleuteling

\item {} 
toestaan: probeer een verbinding zonder SSL versleuteling, als dat mislukt probeer dan met SSL

\item {} 
voorkeur (=standaard): probeer een verbinding met SSL versleuteling, als dat mislukt probeer dan een verbinding zonder SSL;

\item {} 
vereist: alleen verbinden met SSL versleuteling.

\end{itemize}

\item {} 
\textbf{Gebruikersnaam}: Gebruikersnaam om toegang te krijgen tot de database.

\item {} 
\textbf{Wachtwoord}: Wachtwoord die hoort bij \emph{Gebruikersnaam} om toegang te krijgen tot de database.

\end{itemize}

Optioneel kunnen de volgende aanvinkvakjes worden aangevinkt:
\begin{itemize}
\item {} 
\includegraphics{checkbox.png} \emph{Gebruikersnaam Opslaan}

\item {} 
\includegraphics{checkbox.png} \emph{Wachtwoord Opslaan}

\item {} 
\includegraphics{checkbox.png} \emph{Alleen in de geometrie-kolommen kijken}

\item {} 
\includegraphics{checkbox.png} \emph{Alleen in het `publieke'-schema kijken}

\item {} 
\includegraphics{checkbox.png} \emph{Ook tabellen zonder geometrie tonen}

\item {} 
\includegraphics{checkbox.png} \emph{Gebruik ’estimated table statistics'}

\end{itemize}

Wanneer alle veldparameters en opties zijn gezet, kun je de connectie testen met de knop \textbf{{[}Test Verbinding{]}}.
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:tip-settings-security}
\begin{notice}{tip}{Tip:}
\textbf{QGIS Gebruikersinstellingen en beveiliging}

Afhankelijk van je besturingssysteem kan de opslag van wachtwoorden in de instellingen voor QGIS een beveiligingsrisico vormen. De opslag van gebruikersinstellingen voor QGIS hangt af van je besturingssysteem:
\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png}, voor linux worden de instellingen opgeslagen in je thuismap in \code{.qgis/}.

\item {} 
\includegraphics[width=1em]{win.png}, voor windows worden de instellingen opgeslagen in de registry.

\end{itemize}
\end{notice}


\subsubsection{Laden van een PostGIS kaartlaag}
\label{docs/user_manual/working_with_vector/supported_data:loading-a-postgis-layer}\label{docs/user_manual/working_with_vector/supported_data:vector-loading-postgis}
\includegraphics[width=1.5em]{mActionAddLayer.png} Na het aanmaken van een verbinding met één of meerdere PostgreSQL databases, kun je een kaartlaag laden vanuit de PostgreSQL database. Uiteraard moet deze wel eerst kaartgegevens bevatten. Zie {\hyperref[docs/user_manual/working_with_vector/supported_data:vector-import-data-in-postgis]{\emph{Het importeren van gegevens in PostgreSQL}}} voor een uitleg hoe je gegevens in een PostGis database kunt inlezen.

Doe de volgende stappen, om een kaartlaag te laden vanuit PostGIS:
\begin{itemize}
\item {} 
Wanneer het venster \emph{PostGIS Tabel(len) toevoegen} nog niet open is, selecteer in de werkbalk de knop \includegraphics[width=1.5em]{mActionAddLayer.png} $^{\text{PostGIS-laag Toevoegen}}$.

\item {} 
Kies een aangemaakte verbinding vanuit de keuzelijst en druk op \textbf{{[}Verbinden{]}}.

\item {} 
Vink aan of ontvink het keuzevakje \includegraphics{checkbox.png} \emph{Ook tabellen zonder geometrie tonen}

\item {} 
Optioneel kun je het keuzevakje \includegraphics{checkbox.png} \emph{Zoek opties} aanvinken om een selectie te maken van objecten die geladen dienen te worden of gebruik de knop \textbf{{[}Query maken{]}} om het venster te openen waarmee je een Query kunt opbouwen.

\item {} 
Vind de laag/lagen die je wilt laden uit de lijst van beschikbare tabellen met gegevens.

\item {} 
Selecteer deze door er op te klikken. Je kunt meerdere lagen selecteren door de \code{Shift} toets in te drukken tijdens het klikken. Zie {\hyperref[docs/user_manual/working_with_vector/query_builder:vector-query-builder]{\emph{Zoekopdrachtbouwer}}} voor meer informatie over het gebruik van de PostgreSQL Query Builder hoe je een query kunt maken voor een gegevenslaag.

\item {} 
Klik op de knop \textbf{{[}Toevoegen{]}} om de laag toe te voegen aan de legenda en het kaartbeeld.

\end{itemize}
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:tip-postgis-layers}
\begin{notice}{tip}{Tip:}
\textbf{PostGIS Lagen}

Normaal gesproken bevat een PostGIS laag een geometrieveld. Maar vanaf versie 0.9.0 is het ook mogelijk om in QGIS PostGIS lagen zonder geometrieveld te laden. Daarnaast is het ook mogelijke om gedefinieerde SQL Views te laden. Dit biedt krachtige mogelijkheden om gegevens visueel weer te geven. Zie de PostgreSQL handleiding voor informatie over het aanmaken van SQL Views.
\end{notice}


\subsubsection{Enkele details over PostgreSQL layers}
\label{docs/user_manual/working_with_vector/supported_data:sec-postgis-details}\label{docs/user_manual/working_with_vector/supported_data:some-details-about-postgresql-layers}
Dit deel bevat enkele details over hoe QGIS toegang heeft tot PostgreSQL lagen. Meestal geeft QGIS een lijst van database tabellen die geladen kunnen worden en laad deze wanneer je deze selecteert. Maar wanneer je problemen hebt om een PostgreSQL tabel te laden in QGIS, kan de onderstaand informatie helpen om de meldingen van QGIS te begrijpen zodat je een aanwijzing hebt wat je moet veranderen aan de PostgreSQL tabel of aan de View definitie zodat QGIS deze alsnog kan laden.

QGIS vereist dat PostgreSQL tabellen een uniek sleutelveld bevatten voor de te laden laag. In QGIS, moet deze tabel van het type int4 zijn, een integer (geheel getal) met een grootte van 4 bytes. Als een alternatief kan het veld ctid gebruikt worden als sleutelveld. Wanneer in een tabel 1 van deze velden ontbreekt zal in plaats daarvan het veld oid worden gebruikt. De performance zal verbeteren door een index te definiëren op het sleutelveld. (opm. Sleutelvelden krijgen automatisch een index in PostgreSQL).

Wanneer de PostgreSQL laag een view betreft, bestaan dezelfde vereisten, maar views hebben geen sleutelvelden of velden met regels die ervoor zorgen dat deze uniek zijn. In dat geval zal QGIS proberen een veld te vinden die is afgeleid van een daarvoor bruikbaar tabelveld. QGIS zal deze proberen af te leiden vanuit de SQL definitie van de view. Er zijn echter enkele onderdelen van SQL die QGIS niet herkend onder ander het gebruik van tabel aliasen (pseudoniem) en afgeleide velden die zijn aangemaakt door SQL functies.

Wanneer er niet een goed veld kan worden gevonden, zal QGIS de tabel niet als laag laden. Wanneer dat het geval is kun je dit oplossen door de SQL View te wijzigen zodat deze een een veld bevat die gebruikt kan worden als sleutelveld (van type int4 en een sleutelveld of een veld waarbij er voor gezorgd is dat deze unieke waarden bevat en waarvoor een index is gedefinieerd).

\index{shp2pgsql}\phantomsection\label{docs/user_manual/working_with_vector/supported_data:loading-postgis-data}

\subsection{Het importeren van gegevens in PostgreSQL}
\label{docs/user_manual/working_with_vector/supported_data:vector-import-data-in-postgis}\label{docs/user_manual/working_with_vector/supported_data:loading-postgis-data}\label{docs/user_manual/working_with_vector/supported_data:index-8}\label{docs/user_manual/working_with_vector/supported_data:importing-data-into-postgresql}
Gegevens kunnen op een aantal verschillende manieren geïmporteerd worden in PostgreSQL gebruik makende van de SPIT plugin of met opdrachtregel programma's shp2pgsql of ogr2ogr.


\subsubsection{SPIT Plugin}
\label{docs/user_manual/working_with_vector/supported_data:spit-plugin}\label{docs/user_manual/working_with_vector/supported_data:id1}
QGIS heeft standaard ook de plugin die \includegraphics{spiticon.png} $^{\text{SPIT}}$ heet (Shapefile naar PostGIS Import Tool). SPIT kan gebruikt worden om meerdere shapefiles in één keer te laden in PostGIS en ondersteund ook schemas. Zie {\hyperref[docs/user_manual/plugins/plugins_spit:label-spit]{\emph{SPIT Plugin}}} voor meer informatie.


\subsubsection{shp2pgsql}
\label{docs/user_manual/working_with_vector/supported_data:shp2pgsql}
PostGIS heeft een stuk gereedschap genaamd shp2pgsql dat gebruikt kan worden om shapefiles te laden in een PostGIS database. Om bijvoorbeeld een shapefile met de naam \code{lakes.shp} te laden in een PostgreSQL database genaamd \code{gis\_data}, gebruik de volgende opdracht:

\begin{Verbatim}[commandchars=\\\{\}]
shp2pgsql -s 2964 lakes.shp lakes\_new \textbar{} psql gis\_data
\end{Verbatim}

Dit maakt een nieuwe tabel aan genaamd \code{lakes\_new} in de database \code{gis\_data}. De nieuwe tabel zal een spatiale referentie ID (SRID) bevatten van 2964. Zie {\hyperref[docs/user_manual/working_with_projections/working_with_projections:label-projections]{\emph{Werken met Projecties}}} voor meer informatie over Spatiale Referentie Systemen en projecties.

\index{pgsql2shp}\phantomsection\label{docs/user_manual/working_with_vector/supported_data:tip-export-from-postgis}
\begin{notice}{tip}{Tip:}
\textbf{Exporteren van gegevens uit PostGIS}

Net zoals de functie shp2pgsql is er ook een functie waarmee je PostGIS tabellen kunt exporteren naar shape: pgsql2shp. Deze functies vormen een standaard onderdeel van een PostGIS distributie.
\end{notice}

\index{ogr2ogr}

\subsubsection{ogr2ogr}
\label{docs/user_manual/working_with_vector/supported_data:ogr2ogr}\label{docs/user_manual/working_with_vector/supported_data:index-10}
Naast \textbf{shp2pgsql} en \textbf{SPIT} is er nog een manier om geografische gegevens in PostGIS in te lezen: \textbf{ogr2ogr}. Dit is een onderdeel van de GDAL.

Geef de volgende opdracht om een shapefile te importeren in PostGIS:

\begin{Verbatim}[commandchars=\\\{\}]
ogr2ogr -f "PostgreSQL" PG:"dbname=postgis host=myhost.de user=postgres \PYGZbs{}
password=topsecret" alaska.shp
\end{Verbatim}

Dit zal de shapefile \code{alaska.shp} importeren in de PostGIS-database \emph{postgis} als gebruiker \emph{postgres} met het wachtwoord \emph{topsecret} op host server \emph{myhost.de}.

Opm. OGR (GDAL) moet gebouwd zijn met ondersteuning voor PostgreSQL om te kunnen werken met PostGIS. Je kunt dit controleren m.b.v. volgende opdracht

\begin{Verbatim}[commandchars=\\\{\}]
ogrinfo --formats \textbar{} grep -i post
\end{Verbatim}

Wanneer je PostgreSQL’s \textbf{COPY} -opdracht wilt gebruiken in plaats van de standaard \textbf{INSERT INTO} opdracht kun je dat doen door de volgende omgevingsvariabele in te stellen (tenminste voor \includegraphics[width=1em]{nix.png} en \includegraphics[width=1em]{osx.png}):

\begin{Verbatim}[commandchars=\\\{\}]
export PG\_USE\_COPY=YES
\end{Verbatim}

\textbf{ogr2ogr} maakt geen spatiale index aan in tegenstelling tot \textbf{shp2pgsl} die dat wel doet. Deze moet nadien, als extra handeling, alsnog handmatig worden aangemaakt met de normale SQL-opdracht \textbf{CREATE INDEX} (zoals beschreven in de volgende paragraaf {\hyperref[docs/user_manual/working_with_vector/supported_data:vector-improving-performance]{\emph{Verbeteren van de Performance}}}).
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:label-improve}

\subsubsection{Verbeteren van de Performance}
\label{docs/user_manual/working_with_vector/supported_data:label-improve}\label{docs/user_manual/working_with_vector/supported_data:improving-performance}\label{docs/user_manual/working_with_vector/supported_data:vector-improving-performance}
Het opvragen van gegevens uit een PostgreSQL database kan vertragend werken, zeker over een netwerk. Je kunt het tekenen echter een stuk sneller maken door er voor te zorgen dat er een \index{PostGIS spatial index}PostGIS spatial index is aangemaakt voor elke laag uit de PostgreSQL database. PostGIS ondersteund het aanmaken van een zogenaamde \index{GiST (Generalized Search Tree) index}GiST (Generalized Search Tree) index zodat de spatiale zoekopdrachten een stuk sneller uitgevoerd worden.

De opdracht voor het aanmaken van een GiST index is:

\begin{Verbatim}[commandchars=\\\{\}]
CREATE INDEX [indexname] ON [tablename]
  USING GIST ( [geometryfield] GIST\_GEOMETRY\_OPS );
\end{Verbatim}

Voor grote tabellen kan het aanmaken van een index veel tijd kosten. Wanneer de index is aangemaakt dient deze gevolgd te worden door de opdracht VACUUM ANALYZE. Zie de PostGIS documentatie (POSTGIS-PROJECT {\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}}) voor meer informatie.

Hier volgt een voorbeeld hoe je een GiST index kunt aanmaken:

\begin{Verbatim}[commandchars=\\\{\}]
gsherman@madison:\textasciitilde{}/current\$ psql gis\_data
Welcome to psql 8.3.0, the PostgreSQL interactive terminal.

Type:  \PYGZbs{}copyright for distribution terms
       \PYGZbs{}h for help with SQL commands
       \PYGZbs{}? for help with psql commands
       \PYGZbs{}g or terminate with semicolon to execute query
       \PYGZbs{}q to quit

gis\_data=\# CREATE INDEX sidx\_alaska\_lakes ON alaska\_lakes
gis\_data-\# USING GIST (the\_geom GIST\_GEOMETRY\_OPS);
CREATE INDEX
gis\_data=\# VACUUM ANALYZE alaska\_lakes;
VACUUM
gis\_data=\# \PYGZbs{}q
gsherman@madison:\textasciitilde{}/current\$
\end{Verbatim}

\index{ST\_Shift\_Longitude}

\subsection{Vector kaartggegevens die de 180° lengtegraad overschrijden}
\label{docs/user_manual/working_with_vector/supported_data:vector-layers-crossing-180-degrees-longitude}\label{docs/user_manual/working_with_vector/supported_data:index-13}
Veel GIS pakketten zullen verkeerd omgaan met het aanmaken van vector kaarten, met een geografisch referentie systeem (lengte-/breedtegraden), wanneer deze de 180 lengtegraad lijn overschrijden. Wanneer ze zo’n kaart openen in QGIS, zullen we zien dat twee plaatsen die dicht bij elkaar liggen, ver uit elkaar getoond worden. In {\hyperref[docs/user_manual/working_with_vector/supported_data:figure-vector-4]{Figure\_vector\_4}} ligt, het kleine puntje helemaal aan de linkerkant van het kaartbeeld (de Chatham Islands), in werkelijkheid aan de rechterkant van de Nieuw Zeeland’s hoofdeilanden.
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:figure-vector-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{vectorNotWrapping.png}
\caption{Map in lat/lon crossing the 180° longitude line \includegraphics[width=1em]{nix.png}}\end{figure}

Dit probleem kan men oplossen door de lengtegraden te transformeren gebruik makende van PostGIS, en de \textbf{ST\_Shift\_Longitude} functie (zie \href{http://postgis.refractions.net/documentation/manual-1.4/ST\_Shift\_Longitude.html}{http://postgis.refractions.net/documentation/manual-1.4/ST\_Shift\_Longitude.html}). De transform functie leest elke coördinaat van de geometrie van elk object en wanneer de lengtegraad \textless{} 0° telt deze er 360° bij op. Het resultaat zal een 0° - 360° versie zijn van de gegevens die afgedrukt worden op een 180° gecentreerde kaart.
\phantomsection\label{docs/user_manual/working_with_vector/supported_data:figure-vector-5}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{vectorWrapping.png}
\caption{Crossing 180° longitude applying the \textbf{ST\_Shift\_Longitude}
function \includegraphics[width=1em]{nix.png}}\end{figure}


\subsubsection{Gebruik}
\label{docs/user_manual/working_with_vector/supported_data:usage}\begin{itemize}
\item {} 
Importeer gegevens in PostGIS ({\hyperref[docs/user_manual/working_with_vector/supported_data:vector-import-data-in-postgis]{\emph{Het importeren van gegevens in PostgreSQL}}}) bijvoorbeeld door gebruik te maken van de PostGIS Manager plugin of de SPIT plugin

\item {} 
Geef de volgende opdracht op de SQL opdrachtregel van PostGIS (dit is een voorbeeld waar ``TABEL'' de echte naam is van je PostGIS tabel)

\code{gis\_data=\# update TABLE set the\_geom=ST\_shift\_longitude(the\_geom);}

\item {} 
Wanneer alles goed ging, zou je nu een bevestiging moeten ontvangen van het aantal objecten die bijgewerkt zijn. Daarna kan deze tabel geladen worden en zie je het verschil ({\hyperref[docs/user_manual/working_with_vector/supported_data:figure-vector-5]{Figure\_vector\_5}})

\end{itemize}

\index{Spatialite}\index{SQLite}

\subsection{SpatiaLite Kaartlagen}
\label{docs/user_manual/working_with_vector/supported_data:spatialite-layers}\label{docs/user_manual/working_with_vector/supported_data:index-15}\label{docs/user_manual/working_with_vector/supported_data:label-spatialite}
\includegraphics[width=1.5em]{mActionAddSpatiaLiteLayer.png} Wanneer je gegevens van een SpatiaLite database wilt laden, selecteer het icoontje \includegraphics[width=1.5em]{mActionAddSpatiaLiteLayer.png} $^{\text{SpatiaLite-laag Toevoegen}}$ op de werkbalk of door de menu-optie \includegraphics[width=1.5em]{mActionAddSpatiaLiteLayer.png} \emph{SpatiaLite-laag Toevoegen...} te selecteren onder het hoofdmenu \emph{Kaartlagen} of via de sneltoets \code{Ctrl+Shift+L}. Een menu zal openen waarin je een nieuwe verbinding met een Spatialite database kunt aanmaken of een bestaande verbinding die bekend is bij QGIS kunt kiezen in een keuzelijst. Om een nieuwe connectie aan te maken selecteer de knop \textbf{{[}Nieuw{]}}, vervolgens kun je via een  bestandsverkenner de SpatiaLite database vinden, wat vaak een bestand is die meestal de bestandsextensie :file{}`.sqlite{}` heeft.

Wanneer je een vectorlaag wilt opslaan in SpatiaLite formaat kun je dit doen door een vectorlaag in de legenda te selecteren en dan met de rechtermuis het snelmenu te openen en daarin \emph{Opslaan als} te selecteren. Geef een naam voor de aan te maken database, geef `Spatialite' als formaat en de CRS (Coordinaten Referentie Systeem). Je kunt ook `SQLite' als formaat selecteren en de volgende opdracht in het veld OGR data source creation option \code{SPATIALITE=YES} meegeven. OGR weet dan dat deze een SpatiaLite database moet aanmaken. Zie ook \href{http://www.gdal.org/ogr/drv\_sqlite.html}{http://www.gdal.org/ogr/drv\_sqlite.html}.

QGIS ondersteund ook het bewerken van gegevens via Views in SpatiaLite.


\subsubsection{Het maken van een nieuwe SpatiaLite kaartlaag}
\label{docs/user_manual/working_with_vector/supported_data:creating-a-new-spatialite-layer}
Wanneer je een nieuwe SpatiaLite laag wilt aanmaken, ga naar {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:vector-create-spatialite]{\emph{Het aanmaken van een nieuwe Spatialite Laag}}}.

\index{QSpatiaLite}\index{Spatialite\_Manager}\index{DB\_Manager}\phantomsection\label{docs/user_manual/working_with_vector/supported_data:tip-spatialite-management-plugin}
\begin{notice}{tip}{Tip:}
\textbf{SpatiaLite data management Plugins}

Voor het beheren van SpatiaLite gegevens kun je een aantal Python plugins gebruiken: QSpatiaLite, SpatiaLite Manager of DB Manager (standaardplugin, aanbevolen). Deze kunnen gedownload en geïnstalleerd worden met de Plugin Installer.
\end{notice}


\subsection{MSSQL Spatial kaartlagen}
\label{docs/user_manual/working_with_vector/supported_data:mssql-spatial-layers}\label{docs/user_manual/working_with_vector/supported_data:label-mssql}
\includegraphics[width=1.5em]{mActionAddMssqlLayer.png} QGIS ondersteund standaard ook het MS SQL 2008. De \includegraphics[width=1.5em]{mActionAddMssqlLayer.png} $^{\text{MSSQL Spatial-laag toevoegen}}$ is beschikbaar in de werkbalk en ook beschikbaar in QBrowser waarbij je gegevens eenvoudig met `drag and drop' kunt importeren.


\section{Het Vector Eigenschappen Menu}
\label{docs/user_manual/working_with_vector/vector_properties:the-vector-properties-dialog}\label{docs/user_manual/working_with_vector/vector_properties::doc}\label{docs/user_manual/working_with_vector/vector_properties:vector-properties-dialog}
Het menu \emph{Laag Eigenschappen} voor een vector laag geeft in informatie over de laag, instellingen van de stijlen en de label opties. Wanneer de Vector laag geladen is vanuit een PostgreSQL/PostGIS database, kun je ook de SQL opdracht aanpassen waarmee deze laag is opgehaald door het \emph{Query Builder} venster te starten onder het tabblad \emph{Algemeen}. Om toegang te krijgen tot het menu \emph{Laag Eigenschappen} kun je dubbelklikken op een kaartlaag in de legenda of een laag selecteren en met de rechtermuisklik het snelmenu openen en de menuoptie \emph{Eigenschappen} selecteren.
\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{vectorLayerSymbology.png}
\caption{Vector Layer Properties Dialog \includegraphics[width=1em]{nix.png}}\label{docs/user_manual/working_with_vector/vector_properties:figure-vector-properties-1}\end{figure}


\subsection{Tabblad Stijl}
\label{docs/user_manual/working_with_vector/vector_properties:vector-style-tab}\label{docs/user_manual/working_with_vector/vector_properties:style-tab}
\index{New\_Symbology}\index{Symbology\_New}
\includegraphics[width=2em]{symbology.png} Sinds QGIS 1.4.0 is het mogelijke twee soorten symbologie naast elkaar te gebruiken, waarbij de nieuwe verbeterde symbologie de oude zal gaan vervangen. In QGIS 1.8.0 is de nieuwe symbologie de standaard geworden die verder verbeterd is en nieuwe functionaliteit bevat.

Een beschrijving van de oude symbologie is beschikbaar in {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-old-symbology]{\emph{Oude Symbologie}}}.

Er zijn drie soorten symbologie: markering symbolen (voor punten), lijn symbolen (voor lijnen) en vulling en buitenlijn symbolen (voor polygonen). Symbolen kunnen bestaat uit een of meerdere symbool lagen. Het is mogelijk om een symbool een kleur te geven, dan krijgen alle symboollagen die kleur. Je kunt voor een symboollaag de kleur vastzetten - die kleur wordt dan niet mee gewijzigd bij het wijzigen van de kleur van een symbool. Op die manier kun je symbolen maken die bestaan uit meerdere kleuren. Op dezelfde manier kun je ook de lijndikte voor lijnsymbolen voor alle lagen tegelijk wijzigen of voor 1 laag vastzetten. Dit werkt ook voor de grootte en de hoek van symboollagen.

\index{Font\_Marker}\index{Simple\_Marker}\index{SVG\_Marker}
\index{Line\_decoration}\index{Marker\_line}\index{Simple\_line}
\index{Centroid\_fill}\index{SVG\_fill}\index{Simple\_fill}\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:vector-symbol-types}
\textbf{Beschikbare typen symbool lagen}
\begin{itemize}
\item {} 
Punt lagen
\begin{itemize}
\item {} 
\textbf{Tekst markering}: puntsymbool met tekst.

\item {} 
\textbf{Simpele markering}: puntsymbool op basis van voorgecodeerde symbolen.

\item {} 
\textbf{SVG markering}: puntsymbool op basis van een SVG afbeelding.

\item {} 
\textbf{Ellipse marker}: Ellipsvormig puntsymbool op basis van attribuutwaarden.

\item {} 
\textbf{Vector veld marker}: Vectoren als symbologie op basis van attribuutwaarden.

\end{itemize}

\item {} 
Lijn lagen
\begin{itemize}
\item {} 
\textbf{Lijn decoratie}: Voeg een lijn decoratie toe, bijvoorbeeld een pijlpunt om de lijn een richting te geven.

\item {} 
\textbf{Lijn markering}: Een lijn die opgebouwd wordt met op regelmatige afstanden een markering symbool.

\item {} 
\textbf{Simpele lijn}: Een `normale' opgebouwde lijn (met een gezette lijndikte, kleur en penstijl/lijnarcering).

\end{itemize}

\item {} 
Polygoon lagen
\begin{itemize}
\item {} 
\textbf{Centroïde vulling}: Plaats op de centroïde van een polygoon een voorgecodeerd markeringsymbool.

\item {} 
\textbf{SVG vulling}: Vul het polygoon op met een SVG symbool.

\item {} 
\textbf{Simpele vulling}: Een `normaal' opgebouwde polygoon ( met een gezette vulkleur, arcering en een dikte van de buitenlijn).

\item {} 
\textbf{Lijnpatroonvulling}: Vul het polygoon met een lijnpatroon.

\item {} 
\textbf{Puntpatroonvulling}: Vul een polygoon met een puntpatroon.

\item {} 
\textbf{Buitenlijn: Lijn met decoratie}: Voeg een lijn decoratie toe, bijvoorbeeld een pijltje om de richting vand de lijn mee aan te geven.

\item {} 
\textbf{Buitenlijn: Markeringslijn}: Gebruik een voorgecodeerd markeringssymbool om daarmee de grens van een vlak mee op te bouwen.

\item {} 
\textbf{Buitenlijn: Simpele lijn}: Geef de buitenlijn die de grens van een vlak aangeeft een
breedte, een kleur en een penstijl/lijnarcering.

\end{itemize}

\end{itemize}

\index{Color\_ramps}
\textbf{Kleurverlopen}

Kleurverlopen worden gebruikt om makkelijk te kunnen kiezen uit heel veel kleuren die gebruikt worden tijdens het opbouwen van de kaart. De kleuren van gebruikte symbolen worden toegekend vanuit de kleurverlopen.

Er zijn drie typen kleurverlopen:
\begin{itemize}
\item {} 
\textbf{Gradiënt}: Waarbij de ene kleur langzaam overvloeit naar een andere kleur.

\item {} 
\textbf{Random}: Genereer willekeurig/'at Random' kleuren van uit een gespecificeerd kleurenpalet.

\item {} 
\textbf{ColorBrewer}: Maak een kleurenspectrum aan vanuit een kleurenschema en een gedefinïeerd aantal kleurenklassen.

\end{itemize}

Kleurverlopen kunnen worden gezet in het tabblad \emph{Kleurverloop} van het menu \emph{Stijl manager} door op de knop \textbf{{[}Toevoegen{]}} te drukken en een type kleurverloop te kiezen (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-style-manager]{vector\_style\_manager}}).

\textbf{Stijlen}

Een stijl groepeert een set van verschillende symbolen en kleurverlopen. Je kunt in zo'n stijlengroep je favoriete symbolen vastleggen en deze gebruiken zonder deze symbolen telkens opnieuw weer op te bouwen. Stijlonderdelen (symbolen en kleurverlopen) hebben altijd een naam waarmee ze kunnen worden opgevraagd uit de stijlen. Er is minimaal één standaard stijl in QGIS (die aangepast kan worden) en de gebruiker kan daarnaast stijlen toevoegen. In het onderste deel van het tabblad Stijl zijn vier knoppen aanwezig voor het beheer van Stijlen: Gebruik \textbf{{[}Terug naar Standaard Stijl{]}} om terug te gaan naar je standaard stijl, \textbf{{[}Opslaan als Standaard{]}} om de huidige stijl op te slaan als standaard stijl, \textbf{{[}Stijl laden...{]}} om je stijl op te laden en \textbf{{[}Stijl Opslaan...{]}} om de ingestelde stijl op te slaan. Laagstijlen kunnen ook gekopiëerd worden van de ene laag naar een andere. Selecteer een laag en kies via het menu \emph{Kaartlagen \(\rightarrow\)} \includegraphics[width=1.5em]{mActionEditCopy.png} \emph{Kopiëer stijl} en selecteer vervolgens een andere laag. Kies vervolgens \emph{Kaartlagen \(\rightarrow\)} \includegraphics[width=1.5em]{mActionEditPaste.png} \emph{Plak stijl}.

\index{Renderers}
\textbf{Renderers}

De Renderer is verantwoordelijk voor het opbouwen van het kaartbeeld waarbij de objecten met de goede symbologie wordt getekend. Er zijn vier soorten Renderers: Enkel Symbool, Categoriëen (in de oude symbologie werd deze unieke kleuren genoemd), gradueel en Regel-gebaseerd. Er is geen continue kleuren renderer aangezien deze in feite een speciale variant van de Graduele renderer is. De graduele gecategoriseerde renderer kan worden aangemaakt door een combinatie van een symbool en een kleurverloop te kiezen.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:vector-new-symbology}
\textbf{Werken met de Nieuwe Symbologie}

In het tabblad:guilabel:\emph{Stijl} kun je kiezen uit vijf soorten Renderers: Enkel Symbool, Categoriën, Gradueel, Regel-gebaseerd en Puntverplaatsing. Voor elk vectortype (punten, lijnen en polygonen) zijn vector symboollaag typen beschikbaar (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-symbol-types]{vector\_symbol\_types}}). Afhankelijk van de gekozen renderer, zal het tabblad stijl verschillende opties en instellingen bevatten, die in de volgende paragrafen worden beschreven. Het menu van de nieuwe symbologie bevat ook de knop \textbf{{[}Stijlen Manager{]}} die toegang geeft tot de Stijlen Manager (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-style-manager]{vector\_style\_manager}}). De Stijlen Manager biedt de mogelijkheid om bestaande symbolen te verwijderen en om nieuwe toe te voegen.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:tip-change-multiple-symbols}
\begin{notice}{tip}{Tip:}
\textbf{Selecteer en wijzig meerdere symbolen}

Met de nieuwe symbologie kun je meerdere symbolen selecteren en via de rechtermuis kun de kleur, transparantie, de grootte en de dikte van de buitenlijnen aanpassen.
\end{notice}

\index{Single\_Symbol\_Renderer}\index{Renderer\_Single\_Symbol}
\textbf{De Enkel Symbool Renderer}

De renderer Enkel Symbool wordt gebruikt om alle objecten van een kaartlaag te presenteren met een enkel door de gebruiker toegekend symbool. De eigenschappen die kunnen worden gewijzigd in het tabblad \emph{Stijl} is deels afhankelijk van het type kaartlaag, maar voor alle typen geldt de volgende opbouw.Links bovenin het tabblad, kun je de voorvertoning zien van het huidige symbool. Onderin het tabblad is een lijst van symbolen die reeds aangemaakt zijn voor de huidige stijl, klaar om te gebruiken door deze te selecteren uit de lijst. Het huidige symbool kan worden aangepast gebruik makende van de knop \textbf{{[}Eigenschappen{]}} onder het voorbeeld van het symbool, waarmee het venster \emph{Symbooleigenschappen} kan worden geopend, of de knop \textbf{{[}Aanpassen{]}} rechts van de voorvertoning, die het standaard \emph{Kleuren} dialoogvenster opent.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-symbology-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{singlesymbol_ng_line.png}
\caption{Single symbol line properties \includegraphics[width=1em]{nix.png}}\end{figure}

In het tabblad \emph{Stijl} kun je de transparatie van de laag instellen en aangeven of je millimeters of kaarteenheden wilt gebruiken voor de schaalgrootte. Daarnaast kun je ook de schaalgrootte en rotering instellen die afhankelijk is van attribuutwaarden van diezelfde laag.Deze is beschikbaar onder de knop \textbf{{[}Geavanceerd{]}} naast de knop \textbf{{[}Stijl opslaan...{]}}). Daarin kun je via de keuzelijst \emph{Symboollagen...} kiezen waarmee een menu opent waarin je kunt aangeven in welke volgorde de symboollagen moet worden opgebouwd (wanneer het symbool bestaat uit meerdere lagen).

Na het symbool te hebben aangepast kan deze worden opgeslagen en worden toegevoegd aan de lijst van huidige stijl symbolen (gebruik makende van de knop \textbf{{[}Stijl opslaan...{]}}) zodat deze in de toekomst weer gebruikt kan worden. In het vervolgmenu \emph{Sla laageigenschappen op als stijlbestand} dat verschijnt na het indrukken van de knop \textbf{{[}Stijl opslaan{]}} kun ervoor kiezen om de stijl van de laag op te slaan in een QGIS stijl bestand (.qml) of als SLD bestand (.sld). Een SLD (Styled Layer Descriptor) is een open standaard formaat voorgeschreven door het OGC, die o.a. ook wordt gebruikt door geoserver. Voor de export mogen alle renderstijlen gebruikt worden, maar wanneer een SLD stijl bestand wordt geimporteerd zullen deze worden omgezet naar de simpele symbolen of de regelgebaseerde renderstijl. categoriën of graduele renderstijlen worden daarbij omgezet naar regelgebaseerde renderstijlen. Wanneer je dat wilt voorkomen kun je de stijl het beste opslaan als .qml bestand, maar het is aan de andere kant ook een eenvoudige manier om de renderstijl snel om te zetten.

\index{Categorized\_Renderer}\index{Renderer\_Categorized}
\textbf{De Categoriën Renderer}

De Categoriën Renderer wordt gebruikt om alle objecten van een laag te tekenen met één symbool met een kleur die afhankelijk is van een attribuutwaarde van diezelfde laag. Het tabblad \emph{Stijl} geeft je de mogelijkheid om een keuze te maken uit:
\begin{itemize}
\item {} 
Een kolom (uit de lijst van attribuutvelden)

\item {} 
Het symbool (gebruik makende van het Symbool selectie menu)

\item {} 
De kleuren (uit de lijst van de kleurverlopen)

\end{itemize}

Met de knop \textbf{{[}Geavanceerd{]}} die zich rechtsonder in het menu bevindt, kun je instellen welke velden gebruikt kunnen worden voor de rotatie of voor de schaalgrootte van het symbool afhankelijk te maken van de veldwaarde. Daarbij kun je eenvoudig een veld kiezen in een keuzelijstje van velden die je daar eventueel voor kunt gebruiken.

Het voorbeeld in {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-symbology-2]{figure\_symbology\_2}} toont de categoriën rendering dialoog gebruikt voor de laag \code{rivers} van de QGIS sample dataset.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-symbology-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{categorysymbol_ng_line.png}
\caption{Categorized Symbolizing options \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Color\_Ramp}\index{Gradient\_Color\_Ramp}\index{ColorBrewer}\index{Custom\_Color\_Ramp}
Je kunt zelf een nieuwe kleurverloop aanmaken door onderin de lijst van kleurverlopen te kiezen voor \emph{Nieuw kleurverloop...}. In het venster dat opent kun je vervolgens een kleurverlooptype selecteren uit: Gradiënt, Random of ColorBrewer. Na het drukken op de knop \textbf{{[}OK{]}} kun je vervolgens ook meerdere `stops' in het kleurverloop opnemen. Zie  {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-symbology-3]{figure\_symbology\_3}} die een voorbeeld toont van een zelf gemaakte kleurverloop.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-symbology-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=12em]{customColorRampGradient.png}
\caption{Example of custom gradient color ramp with multiple stops \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Graduated\_Renderer}\index{Renderer\_Graduated}
\index{Natural\_Breaks\_(Jenks)}\index{Pretty\_Breaks}\index{Equal\_Interval}\index{Quantilen}
\textbf{De Graduele Renderer}

De Graduele Renderer wordt gebruikt om voor een laag aan de hand van een enkel symbool de classificatie weer te geven aan de hand van de kleuren die afhankelijk is van een attribuutwaarde.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-symbology-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{graduatesymbol_ng_line.png}
\caption{Graduated Symbolizing options \includegraphics[width=1em]{nix.png}}\end{figure}

Net als de Categoriën Renderer, kun je hiervoor de rotatie en de grootte afhankelijk maken van attribuutwaarden.

Net als de categoriën Renderer, heeft het tabblad \emph{Stijl} de selectiemogelijkheden:
\begin{itemize}
\item {} 
Een kolom (uit de lijst van attribuutvelden)

\item {} 
Het symbool (Gebruik makende van het Symbool selectie menu)

\item {} 
The colors (using the Color Ramp list)

\end{itemize}

Aanvullend kun je het aantal klassen kiezen en ook welke modus je wilt gebruiken voor de Klassificatie. De beschikbare modus zijn:
\begin{itemize}
\item {} 
Gelijke Interval

\item {} 
Quantilen

\item {} 
Natuurlijke Grenzen (Jenks)

\item {} 
Standaard Afwijking

\item {} 
Mooie Grenzen

\end{itemize}

De lijst in het onderste deel van het tabblad \emph{Stijl} somt de klassen op met hun bereik, labels en symbolen die voor het renderen worden gebruikt.

Het voorbeeld in {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-symbology-4]{figure\_symbology\_4}} toont de dialoog van de Renderer Gradueel voor de laag \code{rivers} van de QGIS voorbeeld dataset.

\index{Rule-based\_Rendering}\index{Rendering\_Rule-based}
\textbf{De Regel-gebaseerde Renderer}

De Regel-gebasseerde Renderer wordt gebruikt om objecten van een laag te tonen waarbij gebruikte kleuren afhankelijk zijn van toegepaste regels. Deze regels zijn gebasseerd op SQL opdrachten.  Je kunt ook de Zoekopdrachtbouwer gebruiken om deze te maken. De dialoog geeft de mogelijkheid om met een filter te groeperen of verschalen en je kunt besluiten of je symboollagen wilt gebruiken of dat de eerste regel waaraan voldaan wordt gebruikt wordt.

Het voorbeeld in {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-symbology-5]{figure\_symbology\_5}} toont de dialoog van een Regel-gebaseerde renderer voor de laag \code{rivers} van de QGIS voorbeeld dataset.

Om een nieuwe regel toe te voegen aan de regelgebaseerde rendering, dubbelklik op een regel in de lijst of druk op de \textbf{{[}+{]}} knop waarna de dialoog \emph{Regel eigenschappen} opent waarmee je dat kunt doen. Druk in de dialoog op de knop \includegraphics{browsebutton.png} waarmee de Expressie-string bouwer opent waarmee je expressies kunt maken. Dubbelklik eerst op \emph{\textgreater{}-Velden en Waarden} waarna je de attribuutvelden ziet. Om een attribuutveld toe te voegen, dubbelklik op het veld in de lijst van \emph{\textgreater{}-Velden en Waarden}.Je kunt de verschillende velden, waarden en functies gebruiken om daarmee een expressie op te bouwen of je kunt dit direct doen door dit in het tekstblok van expressie in te typen (zie {\hyperref[docs/user_manual/working_with_vector/field_calculator:vector-field-calculator]{\emph{Veld berekening}}}).
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-symbology-5}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{rulesymbol_ng_line.png}
\caption{Rule-based Symbolizing options \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Point\_Displacement\_Renderer}\index{Renderer\_Point\_Displacement}
\index{Displacement\_plugin}
\textbf{De Punt Verplaatsing Renderer}

Deze Punt Verplaatsing Renderer biedt de mogelijkheid om alle objecten te zien ook al staan er meerdere op exact de zelfde positie. Wanneer dat het geval is worden deze op afstand in een circel eromheen geplaatst zodat ze toch zichtbaar zijn.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-symbology-6}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{poi_displacement.png}
\caption{Point displacement dialog \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Symbol\_Properties}
\textbf{Symbooleigenschappen}

Het symbooleigenschappen menu geeft de gebruiker de mogelijkheid om de eigenschappen van het te renderen symbool aan te passen. Linksonder in het menu, kun je een voorbeeld zien van het huidige symbool zoals deze getekend zal worden op de kaart. Boven het voorbeeld bevindt zich de lijst van symboollagen. Om het menu Symbooleigenschappen te openen, klik op de knop \textbf{{[}} \includegraphics[width=1em]{mActionOptions.png} \textbf{Wijzigen...{]}} in het tabblad \emph{Stijl} van het menu \emph{Laag Eigenschappen}.

Het menu geeft de mogelijkheid om lagen toe te voegen of te verwijderen, de volgorde van lagen te wijzigen of om symboollagen vast te zetten zodat van die laag de kleur niet gewijzigd wordt. Het rechterdeel van het menu toont de mogelijke instellingen voor het geselecteerde symbool in de lijst van symboollagen. Het belangrijkste is de \emph{Symboollaag type} \includegraphics{selectstring.png} keuzeveld, waarmee je een laagtype kunt selecteren. De beschikbare opties zijn afhankelijk van de het laagtype (Punt, Lijn, Polygoon). De symboollaag type opties zijn beschreven in section {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-symbol-types]{vector\_symbol\_types}}. Je kunt ook de symboollaag eigenschappen wijzigen in de rechterkant van de dialoog. Wanneer je bijvoorbeeld een SVG markerings symbool hebt gekozen voor een vector puntenlaag, is het mogelijk de kleur ervan te veranderen gebruik makende van het \emph{Kleur} menu.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-symbology-7}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{symbolproperties1.png}
\caption{Line composed from three simple lines \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{Stijl Manager}
\label{docs/user_manual/working_with_vector/vector_properties:style-manager}\label{docs/user_manual/working_with_vector/vector_properties:vector-style-manager}
De Stijl manager is een hulpprogramma, die de symbolen en kleurverlopen beheerd van een stijl. Het geeft de mogelijkheid om onderdelen toe te voegen of te verwijderen. Om de Stijl manager te open, selecteer het hoofdmenu \emph{Instellingen \(\rightarrow\) Stijl Manager}.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-symbology-10}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{stylemanager.png}
\caption{Style Manager to manage symbols and color ramps \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Old\_Symbology}\index{Symbology\_Old}

\subsection{Oude Symbologie}
\label{docs/user_manual/working_with_vector/vector_properties:index-15}\label{docs/user_manual/working_with_vector/vector_properties:vector-old-symbology}\label{docs/user_manual/working_with_vector/vector_properties:old-symbology}
\begin{notice}{note}{Notitie:}
QGIS 1.8 ondersteund nog de oude symbologie, maar het wordt aangeraden om de nieuwe symbologie te gaan gebruiken zoals beschreven in {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-new-symbology]{vector\_new\_symbology}}. In een volgende release zal het gebruik van de oude symbologie vervallen.
\end{notice}

Wanneer je terug wilt gaan naar de oude symbologie, selecteer dan de knop \textbf{{[}Oude Symbologie{]}} in het tabblad \emph{Stijl} van het menu \emph{Laag Eigenschappen}.

Je kunt het gebruik van de oude symbologie ook als standaard instellen door het aanvinkvakje \includegraphics{checkbox.png} \emph{Nieuwe generatie symbologie gebruiken voor tekenen} niet aan te vinken in het tabblad \emph{Rendering} te openen via het hoofdmenu \emph{Instellingen \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties}.

\index{Old\_Symbology\_Renderers}\index{Renderers\_Old\_Symbology}
De oude QGIS symbologie ondersteunt de volgende renderers:
\begin{itemize}
\item {} 
\textbf{Enkel Symbool} - Elk object in een laag krijgt hetzelfde symbool.

\item {} 
\textbf{Graduated Symbool} - Objecten in een laag worden verdeeld in een aantal klassen gebaseerd op de waarden van een bepaald veld. Elke klasse kun je een ander symbologie geven.

\item {} 
\textbf{Continue kleur} - Objecten in een laag worden getoond met hetzelfde symbool maar de kleur daarvan is afhankelijk van de numerieke waarde van een veld.

\item {} 
\textbf{Unieke Waarde} - Voor elke unieke waarde van een bepaald veld kun je een ander symbologie
instellen.

\end{itemize}

Om de symbologie van een laag te wijzigen, dubbelklik op de laag in de legenda en het menu \emph{Laag Eigenschappen} zal openen.

\index{Fill\_Style}\index{Fill\_Color}\index{Outline\_Options}
\textbf{Stijl Opties}

Binnen dit menu kun je vectorlagen een stijl geven. Afhankelijk van de geselecteerde rendering kun je ook je kaartobjecten classificeren en dit middels symbologie weergeven.

De volgende stijlen opties bestaan voor alle renderers:
\begin{itemize}
\item {} 
\textbf{Vul opties}  - Naast het kiezen van een lijn/vlak arcering of volledige vulling kun je kiezen voor \emph{Vulstijll:? Textuur} \includegraphics{selectstring.png}  waarna je met de knop \includegraphics{browsebutton.png} een bestand kunt selecteren met je eigen textuur waarmee de lijn/vlakvulling plaatsvindt. Momenteel worden de bestandsformaten \code{*.jpeg}, \code{*.xpm}, en \code{*.png} ondersteund.

\item {} 
\textbf{Vulkleur} - de kleur waarmee je objecten worden gevuld.

\item {} 
\textbf{Omlijning opties}
\begin{itemize}
\item {} 
Omlijning stijl - lijnarcering waarmee de omlijning van je object worden getekend. Je kunt ook `geen pen' selecteren.

\item {} 
\textbf{Omlijning kleur} - kleur waarmee de omlijning van je object worden getekend.

\item {} 
Omlijning breedte - pendikte waarmee de omlijning van je object wordt getekend.

\end{itemize}

\end{itemize}

Wanneer je tevreden bent over de gegeven stijl aan een laag, kun je deze ook vastleggen in een bestand met de bestandsextensie \code{*.qml}. Gebruik hiervoor de knop \textbf{{[}Stijl Opslaan...{]}}. Met de knop \textbf{{[}Stijl laden...{]}} kun je een opgeslagen stijl voor een laag laden.

Wanneer je wilt dat een bepaalde stijl altijd wordt gebruikt wanneer een laag geladen wordt (dus ook in nieuwe projecten), gebruik dan de knop \textbf{{[}Opslaan Als Standaard{]}}. Wanneer je de stijl hebt gewijzigd en je bent er niet tevreden over kun je met de knop \textbf{{[}Terug naar Standaard Stijl{]}} de stijl terug zetten naar de standaard stijl.

\index{Vector\_Transparency}\index{Transparency\_Vector}
\textbf{Vector transparantie}

QGIS geeft de mogelijkheid om elke vectorlaag transparant te maken. Dit kun je doen met de schuifbalk \emph{Transparantie} \includegraphics{slider.png} binnen het tabblad \emph{Stijl} Dit is erg handig bij het gebruik van overlappende vectorlagen.

\index{Style\_Manager}\index{Manage\_Symbols}\index{Manage\_Color\_Ramps}
\index{Labeling\_Engine}\index{Labeling\_New}\index{Labeling\_Old}

\subsection{Tabblad Labels}
\label{docs/user_manual/working_with_vector/vector_properties:index-21}\label{docs/user_manual/working_with_vector/vector_properties:vector-labels-tab}\label{docs/user_manual/working_with_vector/vector_properties:labels-tab}
\includegraphics[width=2em]{labels.png} Een label is de tekst die geplaatst wordt bij een object op de kaart. Net als voor de symbologie is er in QGIS 1.8 een oude en nieuwe methode van het toevoegen van labels aan objecten. Het tabblad \emph{Labels} bevat de oude methode voor het toevoegen van labels. De nieuwe manier van het toevoegen van labels, gebeurt vanuit de werkbalk. De oude manier van labelen zal in een volgende versie van QGIS vervallen.

We raden dan ook aan gebruik te maken van de nieuwe manier beschreven in {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-new-labeling]{\emph{Nieuwe Labeling}}}.

Met de oude manier van het toevoegen van labels, vanuit het tabblad \emph{Labels}, geeft de mogelijkheid om de labels toe te voegen met een keuzemogelijkheden in lettertype, plaatsing, de uitlijning en het bufferen van de labels. We zullen als voorbeeld de kaartlaag lakes van labels voorzien. Lakes is de ingelezen shapefile die onderdeel uitmaakt van de Alaska voorbeeldgegevens \code{QGIS\_example\_dataset}:
\begin{enumerate}
\item {} 
Laad de Shapefile \code{alaska.shp} en de GML file \code{lakes.gml} in QGIS

\item {} 
Zoom in op een meer (=lake)

\item {} 
Selecteer de laag \code{lakes} in de legenda

\item {} 
Open het menu \emph{Laag Eigenschappen} (via snelmenu onder rechtermuisknop of door op de laag \code{Lakes} te dubbelklikken

\item {} 
Open het tabblad \emph{Labels}

\item {} 
Vink het aanvinkvakje \includegraphics{checkbox.png} \emph{Toon labels} aan zodat labels getoond worden

\item {} 
Kies het veld te gebruiken in labels in de keuzelijst. In dit geval gebruiken we het veld NAMES, guilabel:\emph{Veld te gebruiken in labels: Names} \includegraphics{selectstring.png}

\item {} 
Vul een standaard waarde in (bijv. `Meer'), voor meren die geen naam hebben. Deze standaard waarde wordt getoond in het kaartbeeld bij objecten, wanneer dat object (een meer) geen naam heeft.

\item {} 
Labels kunnen uit meerdere regels bestaan en worden weergegeven wanneer het aanvinkvakje \includegraphics{checkbox.png} \emph{Labels met meerdere regels} is aangevinkt. QGIS zal dan in het veld zoeken naar echte regelafbrekingen en op die plek in het label zal dan een nieuwe regel beginnen. Een echte regelafbreking is een \textbf{enkel} karakter \textbackslash{}n, (geen twee aparte karakters zoals een \code{\textbackslash{}} gevolgd door het karakter \code{n}). Om in een attribuut veld regelafbrekingen in te kunnen brengen, open het tabblad \emph{Velden} en wijzig van het tekstveld het Wijzig-hulpmiddel van `Lijn wijzigen' naar `Tekstbewerken'.

\item {} 
Selecteer de knop \textbf{{[}Apply{]}}.

\end{enumerate}

Het menu blijft openstaan en de labels worden op de kaart getekend. Waarschijnlijk niet zoals je zou willen, te groot en verkeerd geplaatst t.o.v. de objecten.

Gebruik de knop \textbf{{[}Lettertype{]}} om het menu te openen waarmee je lettertype, grootte en stijl kunt instellen waarmee de labels getekend worden. Gebruik de knop \textbf{{[}Kleur{]}} om de tekstkleur te kiezen. Je kunt ook de hoek kiezen waarmee labels geplaatst worden.

Daarnaast kun je de positie van het label veranderen ten opzichte van het object:
\begin{enumerate}
\item {} 
Onder de standaard label opties kies een van de keuzerondjes in de \emph{Plaats} groep om de plaatsing te wijzigen. Wij selecteren in dit voorbeeld het keuzerondje \includegraphics{radiobuttonon.png} \emph{Rechts}.

\item {} 
Je kunt kiezen tussen het gebruik van \includegraphics{radiobuttonon.png} \emph{In punten} en \includegraphics{radiobuttonoff.png} \emph{Kaarteenheden}. Wanneer je kiest voor \emph{Kaarteenheden} dan worden de teksten groter en kleiner bij in- en uitzoomen. Bij de keuze \emph{In punten} blijft de tekst even groot. In de meeste gevallen is de keuze \emph{In punten} de beste keuze.

\item {} 
Druk op \textbf{{[}Apply{]}} om het resultaat te zien in het kaartbeeld zonder het menu te sluiten.

\end{enumerate}

Het begint er beter uit te zien, maar de labels kunnen beter iets verder van de meren worden geplaatst. Dit kunnen we doen door onderin het tabblad Labels onder Verspringing aangeven hoeveel de tekst nog verplaatst moet worden t.o.v. het object. Wanneer we in X-verspringing 5 ingeven (In punten) dan verschuift het label nog iets naar rechts op en wordt de tekst beter leesbaar geplaatst.

De laatste aanpassing die we zullen gebruiken is om elk label een buffer te geven. Daarmee wordt rond de tekst een vlak getekend, met ingegeven breedte, in een kleur naar keuze, wat vaak de tekst beter leesbaar maakt in een wat drukkere kaart, doordat deze er beter uitspringt. Doe het volgende om de labels van de laag \code{Lakes} een buffer te geven:
\begin{enumerate}
\item {} 
Vink het aanvinkvak \includegraphics{checkbox.png} \emph{Labels met Buffer?} aan.

\item {} 
Kies een grootte van het buffer (invullen of met de pijltjes verhogen/verlagen).

\item {} 
Kies een achtergrond kleur via de knop \textbf{{[}Kleur{]}} onder Buffer. Je kunt zelfs kiezen voor een mate van transparantie voor de buffer.

\item {} 
Druk op \textbf{{[}Apply{]}} om het resultaat van de wijzigingen te zien.

\end{enumerate}

Wanneer je niet tevreden bent, verander dan de instellingen en controleer tussendoor de wijzigingen met de knop \textbf{{[}Apply{]}} totdat je wel tevreden bent.

Een buffer van 1 (In punten) geeft vaak al een goed resultaat. Je kunt de buffer ook instellen in kaarteenheden.

De overige instellingen binnen het tabblad \emph{Labels} bevindt zich onder het tabblad \emph{Geavanceerd} waarmee je de eigenschappen van labels kunt instellen met de attribuutwaarden van de vectorlaag.

Het tabblad \emph{Labels} bevat ook een \code{Voorvertoning} waarmee je al een indruk kunt krijgen van hoe het label eruit gaat zien.

\index{New\_Labeling}\index{Smart\_Labeling}

\subsection{Nieuwe Labeling}
\label{docs/user_manual/working_with_vector/vector_properties:vector-new-labeling}\label{docs/user_manual/working_with_vector/vector_properties:new-labeling}\label{docs/user_manual/working_with_vector/vector_properties:index-22}
Achter de nieuwe knop \includegraphics[width=1.5em]{mActionLabeling.png} $^{\text{Labels}}$ zit de nieuwe geavanceerdere manier voor het plaatsen van labels van vector punt-, lijn- en polygoonlagen waarvoor slechts enkele instellingen nodig zijn. Deze nieuwe manier van het plaatsen van labels zal de huidige oude manier zoals beschreven in {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-labels-tab]{\emph{Tabblad Labels}}} vervangen. Deze ondersteund ook Gelijktijdige CRS Transformatie.

\textbf{Gebruik van de nieuwe manier van labels plaatsen}
\begin{enumerate}
\item {} 
Start QGIS en laad een punt, lijn en polygoon vectorlaag.

\item {} 
Selecteer de vectorlaag in de legenda en druk op het \includegraphics[width=1.5em]{mActionLabeling.png} $^{\text{Labels}}$ in de werkbalk Labels van QGIS.

\end{enumerate}

\textbf{Het labelen van vector puntlagen}

Vink eerst het aanvinkvakje \includegraphics{checkbox.png} \emph{Deze laag labelen} en selecteer het veld dat je wilt gebruiken voor de inhoud van de labels via `Veld met labels'. Selecteer \includegraphics{browsebutton.png} wanneer je de een expressie wilt gebruiken voor het opbouwen van de tekst van labels. Daarna kun je de stijl en bij welke schaal het label zichtbaar is instellen in het tabblad \emph{Label opties} (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-labels-1]{Figure\_labels\_1}} ). Kies het tabblad \emph{Geavanceerd} voor de plaatsing van het label en de de prioriteit. Voor samengestelde objecten kun je hier bepalen of elk deel zijn eigen label krijgt. Met \emph{Maak label op rond teken} kun je het afbreekteken instellen waarmee labels omslaan naar de volgende regel. In het tabblad \emph{Data-bepaalde instellingen} kun je velden gebruiken voor het instellen voor eigenschappen zoals lettertype, buffer en plaatsing eigenschappen die bepalen hoe een label opgemaakt.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-labels-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{label_points.png}
\caption{Smart labeling of vector point layers \includegraphics[width=1em]{nix.png}}\end{figure}

\textbf{Het labelen van vector lijnlagen}

Vink eerst het aanvinkvakje \includegraphics{checkbox.png} \emph{Deze laag labelen} in het tabblad \emph{Label opties} en selecteer een attribuutveld voor de labels. Hier kun je ook de tekst van labels maken op basis van expressies. Daarna kun je de stijl en bij welke schaal het label zichtbaar is instellen. Aanvullende labelopties zijn beschikbaar onder het tabblad \emph{Geavanceerd} voor de plaatsing van het label, de labelafstand, of het label zich oriënteerd naar de lijn en de prioriteit. Voor samengestelde objecten kun je hier bepalen of elk lijndeel zijn eigen label krijgt of dat lijnen als samengevoegd worden beschouwd zodat er niet meerdere labels naast een lijn worden geplaatst. Daarnaast kun je ook symbolen op de lijnen plaatsen die deze een richting geven (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-labels-2]{Figure\_labels\_2}}). Het is ook mogelijk het labelen van delen te onderdrukken en een regel afbreekteken in te stellen. Gebruik \emph{Data-bepaalde instellingen} voor het instellen van labeleigenschappen gebasseerd op veldwaarden.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-labels-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{label_line.png}
\caption{Smart labeling of vector line layers \includegraphics[width=1em]{nix.png}}\end{figure}

\textbf{Het labelen van polygoon vectorlagen}

Vink eerst het aanvinkvakje \includegraphics{checkbox.png} \emph{Deze laag labelen} en selecteer het veld die je daarvoor wilt gebruiken. Ook hiervoor kun je de tekst maken op basis van regelgebasseerde expressies. In het tabblad \emph{Label opties} bepaal je de tekststijl en de schaalgebasseerde zichtbaarheid (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-labels-3]{Figure\_labels\_3}} ). Aanvullende labelopties zijn beschikbaar onder het tabblad \emph{Geavanceerd} voor de plaatsing van het label, de labelafstand en de prioriteit. Je kunt hier aangeven of elk deel van samengestelde objecten een eigen label krijgt. Het is ook mogelijk het labelen van delen te onderdrukken en een regel afbreekteken in te stellen. Gebruik \emph{Data-bepaalde instellingen} voor het instellen van labeleigenschappen gebasseerd op veldwaarden.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-labels-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{label_area.png}
\caption{Smart labeling of vector polygon layers \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Label\_Engine\_Settings}\index{Colliding\_Labels}
\index{Popmusic\_Tabu}\index{Popmusic\_Chain}\index{Chain}\index{Popmusic\_Tabu\_Chain}\index{FALP}
\textbf{De instellingen van de `engine' wijzigen}

Via de knop \textbf{{[}Instellingen `engine'{]}} kun je een aantal eigenschappen wijzigen van de `Label engine', het motortje achter de functionaliteit van het plaatsen van labels. Zo kun je de zoek modus wijzigen die gebruikt wordt om de juiste plek te vinden waar het label geplaatst moet worden. Beschikbaar zijn de volgende opties: `Chain' (snel), Popmusic Tabu, Popmusic Chain, Popmusic Tabu Chain en FALP (snelst).
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-labels-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{label_engine.png}
\caption{Dialog to change label engine settings \includegraphics[width=1em]{nix.png}}\end{figure}

Je kunt daarnaast het aantal kanditaten waarnaar gekeken moet worden voor het plaatsen van labels voor punt, lijn en polygoon objecten. Wanneer je alle labels getoond wilt zien, ook wanneer deze elkaar overlappen kun je instellen via het aanvinkvakje ` Alle labels tonen. De optie Toon label-kandidaten (voor debugging) is niet alleen voor de ontwikkeling van belang geweest, maar
geeft de gebruiker ook beter inzicht wat het effect is van het wijzigen van de engine instellingen op de plaatsing van labels. De kaders van overwogen plaatsen voor het plaatsen van labels worden daarbij op de kaart getoond.

\textbf{Gereserveerde woorden voor gebruik in attribuutvelden voor plaatsing van labels}

Er is een lijst van ondersteunde gereserveerde woorden die kunnen worden gebruikt bij het plaatsen van labels middels `Data-bepaalde instellingen'.
\begin{itemize}
\item {} 
\textbf{Voor horizontale uitlijning}: \code{left}, \code{center}, \code{right}

\item {} 
\textbf{Voor verticale uitlijning}: \code{bottom}, \code{base}, \code{half}, \code{top}

\item {} 
Kleuren kunnen worden gespecificeerd in svg notation, bijvoorbeeld \#ff0000

\item {} 
\textbf{Gebruik de booleaanse waarden 1 en 0 of de labels Vet, Cursief, Onderstreept, Doorgestreept moeten worden weergegeven}: 1 = ja (waar), 0 = nee (onwaar)

\end{itemize}

Een combinatie van gereserveerde woorden kan gebruikt worden in 1 veldwaarde bijv.: \code{base right} of \code{bottom left}.


\subsection{Tabblad velden}
\label{docs/user_manual/working_with_vector/vector_properties:vector-attributes-tab}\label{docs/user_manual/working_with_vector/vector_properties:fields-tab}
\includegraphics[width=2em]{attributes.png} In het tabblad \emph{Velden} kun je eigenschappen van de velden van de geselecteerde vectorlaag veranderen. De knoppen \includegraphics[width=1.5em]{mActionNewAttribute.png} $^{\text{Nieuwe kolom}}$ en \includegraphics[width=1.5em]{mActionDeleteAttribute.png} $^{\text{Verwijder kolom}}$ kunnen worden gebruikt wanneer de vectorlaag eerst bewerkbaar gemaakt wordt. Met de knop \includegraphics[width=1.5em]{mActionToggleEditing.png} $^{\text{Bewerken aan/uitzetten}}$ kun je wisselen tussen het al dan niet kunnen bewerken van een laag.

Eerst konden alleen kolommen in vectorlagen in PostGIS databases worden toegevoegd en verwijderd, maar wanneer QGIS is gebouwd met de OGR functiebibliotheek van GDAL versie \textgreater{}= 1.9, dan kan dat voor bijna alle door OGR ondersteunde formaten.

\textbf{Wijzig hulpmiddel}




\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-fields-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{editwidgetsdialog.png}
\caption{Dialog to select an edit widget for an attribute column \includegraphics[width=1em]{nix.png}}\end{figure}

In het tabblad \emph{Velden} vind je in de lijst van velden ook de kolom \code{Wijzig-hulpmiddel}. Deze kolom bevat knoppen waarmee je zelf meer controle kunt krijgen over welke waarden er in een veld kunnen worden opgevoerd en op welke manier. Wanneer je in een kolom op de knop \textbf{{[}Wijzig-hulpmiddel{]}} drukt, start er een dialoog, waarmee je verschillende hulpmiddelen voor een veld kunt instellen. Dit zijn de volgende:
\begin{itemize}
\item {} 
\textbf{Lijn wijzigen}: hiermee kun je een regel tekst voor tekstvelden opvoeren of alleen getallen voor numerieke velden.

\item {} 
\textbf{Classificatie}: Toont een keuzelijst met waarden die al gebruikt zijn voor dat veld wanneer je dat veld ook hebt gebruikt om daarmee de symbologie te classificeren in het tabblad \emph{Stijl}. Voor elke `unieke waarde' is het dan mogelijk een andere symbologie te gebruiken.

\item {} 
\textbf{Range}: Stel een bereik van waarden in die gebruikt mag worden door een minimum en een maximum waarde in te vullen. Daarnaast kun je ook aangeven of de waarde kan worden ingegeven via een schuifbalk of via een spinbox/draaischijf, waarmee je de waarde kunt instellen door deze naar een waarde te draaien.

\item {} 
\textbf{Unieke waarden}: De gebruiker kan alleen al gebruikte waarden kiezen. Daarnaast kan er voor gekozen worden om de waarde `aanpasbaar' te maken, daarbij kan de gebruiker de waarden beginnen te typen en zodra er nog maar 1 mogelijk waarde over blijft zal deze automatisch helemaal worden ingevuld. Kies je niet voor `aanpasbaar' dan krijg je een keuzeveld.

\item {} 
\textbf{Bestandsnaam}: Hiermee kun je een bestandsnaam invullen door een bestand te selecteren via de bestandskiezer.

\item {} 
\textbf{Aanwezige waarden}: Hiermee kun je in een keuzeveld een Omschrijving kiezen, en daarmee wordt een daaraan gekoppelde waarde ingevuld. Daarbij moet je dus eerst een gekoppelde lijst van waarden en omschrijvingen laden (vanuit een laag of vanuit een csv bestand) of je kunt deze hier opbouwen.

\item {} 
\textbf{Enumeratie}: Opent een keuzeveld met waarden die gebruikt kunnen worden. Dit wordt momenteel alleen ondersteund voor de postgres database.

\item {} 
\textbf{Niet aanpasbaar}: Wanneer deze is ingesteld is het veld niet aanpasbaar en is deze alleen leesbaar.

\item {} 
\textbf{Verborgen}: Een verborgen veld is niet zichtbaar. De gebruiker kan de inhoud van het veld niet zien.

\item {} 
\textbf{Aanvinkvakje}: Toont een aanvinkvakje en je kunt zelf invullen welke waarde wordt ingevuld wanneer deze aangevinkt en een niet aangevinkt is.

\item {} 
\textbf{Tekstbewerken}: Dit opent een tekstveld waarin je meerdere regels tekst kunt ingeven.

\item {} 
\textbf{Kalender}: Opent een kalendercomponent waarmee je een datum kunt kiezen die vervolgens wordt ingevuld. Het veldtype moet een tekstveld zijn.

\item {} 
\textbf{Waarde-relatie}: Keuzeveld waarde de waarden zijn ingevuld vanuit een gerelateerde tabel. Je kunt hiervoor een laag, een sleutelveld en het veld met te kiezen waarden instellen.

\item {} 
\textbf{UUID Generator}: Genereert een veld waarin automatisch een UUID (Universele Unieke IDentifier), een unieke waarde die automatisch wordt gegenereerd wanneer het veld, door de gebruiker,niet wordt ingevuld.

\end{itemize}


\subsection{Tabblad Algemeen}
\label{docs/user_manual/working_with_vector/vector_properties:general-tab}\label{docs/user_manual/working_with_vector/vector_properties:vectorgeneraltab}
\includegraphics[width=2em]{general.png} Het tabblad \emph{Algemeen} is voor een vectorlaag bijna hetzelfde als voor een rasterlaag. Je kunt hiermee verschillende zaken instellen:
\begin{itemize}
\item {} 
Wijzig de zichtbare naam van de laag in de legenda

\item {} 
Stel een veld dat getoond wordt in het resultaatscherm van \emph{Objecten Identificeren}

\item {} 
Stel een speciaal formulier in voor een vectorlaag geschreven met Qt Creator, een onderdeel van de QT ontwikkeltoolbox die je kunt vinden onder \href{http://qt.digia.com/Product/Developer-Tools/}{http://qt.digia.com/Product/Developer-Tools/}, zie ook \href{http://sourcepole.com/foss4g/en/forms.html\#forms-with-qt-designer}{forms with qt designer}

\item {} 
Maak een :guilabel: \emph{Ruimtelijke Index} aan (alleen voor OGR ondersteunde formaten)

\item {} 
Voeg een \emph{Init functie} voor deze laag. Hiermee kun je de initialisatie van bestaande toegekende QGIS hulpmiddelen voor velden overschrijven

\item {} 
De knop \textbf{{[}Update Extents{]}} zal de kleinste rechthoek bepalen waarbinnen alle geometriëen van deze laag passen

\item {} 
Bekijk of wijzig de ruimtelijke projectie van deze specifieke vectorlaag, met de knop \textbf{{[}Geef het CRS{]}}

\end{itemize}

Daarnaast kun je met het aanvinkvakje \includegraphics{checkbox.png} \emph{Schaalafhankelijk tonen} activeren. Voor het lezen van een aantal gegevensbronnen (via de provider) kun je aanvullende opties opgeven (bijvoorbeeld de te gebruiken encoding, oftewel de karakterset codering). Met de knop \textbf{{[}Query Bouwer{]}} is het mogelijk om een Query op te bouwen waarmee slechts een deelverzameling van de gegevens uit de gegevensbron gebruikt wordt in QGIS.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-general-vect}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{vector_general_tab.png}
\caption{General tab in vector layers properties dialog \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{Tabblad Metadata}
\label{docs/user_manual/working_with_vector/vector_properties:metadata-tab}\label{docs/user_manual/working_with_vector/vector_properties:vectormetadatatab}
\includegraphics[width=2em]{metadata.png} Het tabblad \emph{Metadata} bevat informatie over de laag. Opslagtype, bron, type geometrie het aantal objecten. Onder het kopje \emph{Extents} kun je informatie vinden over het kaartbereik oftewel de grenzen van de kaart en onder het kopje \emph{Ruimtelijk Referentie Systeem} vind je informatie over welk coördinaten systeem is gebruikt voor deze laag. Dit is een snelle manier om informatie te vinden over een laag.

Aanvullend kun je laag een titel en een beschrijving geven. Deze informatie zal mee opgeslagen worden in het QGIS projectbestand en zal ook gebruikt en zichtbaar worden gemaakt door de QGIS-server.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-metadata-vect}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{vector_metadata_tab.png}
\caption{Metadata tab in vector layers properties dialog \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{Tabblad Acties}
\label{docs/user_manual/working_with_vector/vector_properties:actions-tab}
\includegraphics[width=2em]{action.png} QGIS geeft de mogelijkheid om een actie te starten waarbij gebruik wordt gemaakt van attribuutwaarden. Je kunt meerdere acties per vectorlaag aanmaken waarmee je bijvoorbeeld een ander programma kunt aanroepen waarbij attribuutwaarden als argumenten meegeeft.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-actions-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{action_dialog.png}
\caption{Overview action dialog with some sample actions \includegraphics[width=1em]{nix.png}}\end{figure}

Acties zijn erg handig wanneer je regelmatig een ander programma wilt starten waarbij je waardes meegeeft van een vectorlaag. Een voorbeeld is een zoekactie op internet waarbij een waarde van een vectorlaag wordt meegegeven. Acties kunnen onderverdeeld worden in 6 typen die als volgt gebruik kunnen worden:
\begin{itemize}
\item {} 
Generiek, Mac, Windows en Unix acties starten een extern process (programma),

\item {} 
Python acties start de uitvoering van python code,

\item {} 
Generieke en Python acties zijn overal zichtbaar,

\item {} 
Mac, Windows en Unix acties zijn alleen zichtbaar onder die specifieke besturingssystemen (bijv. je kunt drie `Bewerk' acties maken om een bewerkingsprogramma te openen, maar de gebruiker zullen alleen die `Bewerk'actie zien voor hun platform).

\end{itemize}

Er zijn enkele voorbeelden toegevoegd in de dialoog. Je kunt deze laden door te drukken op \textbf{{[}Standaard acties toevoegen{]}}. Een voorbeeld is een zoekactie gebaseerd op een attribuutwaarde. Dit concept is gebruikt in volgende discussie.

\index{Actions}\index{Attribute\_Actions}
\textbf{Het definiëren van Acties}

Open het \emph{Laag Eigenschappen} menu voor een vectorlaag en open het tabblad \emph{Acties}. Bovenin zie je een lijst van gedefiniëerde actie (leeg) en onderin kun je onder Actie-eigenschappen een nieuwe actie toevoegen. Geef in het veld `Naam' een beschrijvende naam voor de nieuwe actie. Vul in het veld `Actie' in ieder geval de naam (en het pad) van het te starten programma en als argumenten één of meerdere namen van velden waarvan de waarden worden gebruikt door het programma. Wanneer de actie word gestart dan worden de woorden die beginnen met een \code{\%} teken gevolgd door een veldnaam vervangen door de waarde van dat veld. De speciale tekens \index{\%\%}\%\% zullen vervangen worden door de waarde van een nog te selecteren veld in de het scherm Identificatieresultaten of in de Attributentabel (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:using-actions]{using\_actions}} hieronder). Dubbele aanhalingstekens kunnen worden gebruikt om text samen te voegen tot één enkel mee te geven argument aan een programma, script of opdracht. Dubbele aanhalingstekens zullen worden genegeerd wanneer vooraf gegaan door een backslash.

Wanneer je een veldnaam gebruikt waarvan de naam een deel vormt van een ander veldnaam (bijv. \code{col1} en \code{col10}) gebruik dan rechte haken om het veldnaam en het \% teken (bijv. \code{{[}\textbackslash{}\%col10{]}}). Dit voorkomt dat het veld \code{\%col10} wordt gelezen als veld \code{\%col1} met daarachter de tekst \code{0}. De rechte haken zullen verwijderd worden door QGIS wanneer deze vervangen worden door de veldwaarde. Wanneer je echter rechte haken mee wilt geven gebruik dan een tweede paar haken, bijvoorbeeld: \code{{[}{[}\textbackslash{}\%col10{]}{]}}.

Het venster \emph{Identificatieresultaten} heeft een \emph{(Afgeleid)} deel die gegevens bevat die relevant zijn voor die vectorlaag type. Ook deze afgeleide velden kunnen worden gebruikt in een actie door de van van het afgeleide veld vooraf te laten gaan door \code{(Derived).}. Een punt vectorlaag heeft bijvoorbeeld de afgeleide velden \code{X} en \code{Y}. Je kunt die waarde van die velden als volgt gebruiken in een actie met \code{\%(Derived).X} en \code{\%(Derived).Y}. De afgeleide waarden zijn alleen beschikbaar in het venster \emph{Identieficatieresultaten} niet in het venster van de \emph{Attributentabel}.

Twee voorbeeld acties worden hier getoond:
\begin{itemize}
\item {} 
\code{konqueror http://www.google.com/search?q=\%nam}

\item {} 
\code{konqueror http://www.google.com/search?q=\%\%}

\end{itemize}

In het eerste voorbeeld, wordt de web browser konqueror gestart en een URL meegegeven als argument. Er wordt gegoogled op de waarde van het veld \code{nam} van de vectorlaag. Let op dat de applicatie wel gevonden moet kunnen worden anders moet je het ook het pad meegeven bij het aanroepen van de applicatie. Om er zeker van te zijn dat deze werkt, kunnen we de actie herschrijven waarbij we het hele pad meegeven, het eerste voorbeeld wordt dan: \code{/opt/kde3/bin/konqueror http://www.google.com/search?q=\textbackslash{}\%nam}. Dit zal zeker de web browser applicatie opstarten wanneer deze actie wordt gestart.

Het tweede voorbeeld gebruikt de \%\% notatie, waarbij we niet uitgaan van een bepaald veld. Wanneer de actie wordt gestart, zal \%\% worden vervangen door de waarde van het geselecteerde veld in de Identificatieresultaten of van de Attributen tabel.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:using-actions}
\textbf{Gebruik van Acties}

Acties kunnen worden gestart vanuit het venster \emph{Identificatie Resultaten} of vanuit het venster \emph{Attributen Tabel}. Deze kunnen worden geopend door het icoon \includegraphics[width=1.5em]{mActionIdentify.png} $^{\text{Objecten Identificeren}}$ of \includegraphics[width=1.5em]{mActionOpenTable.png} $^{\text{Open attributentabel}}$. Om een actie te starten, selecteer een record en gebruik de rechtermuis om het snelmenu te starten, selecteer daarin de actie. De acties komen erin voor met de gegeven naam.

Wanneer je een actie start die de \%\% notatie gebruikt, selecteer dan eerst het veld dat je wilt meegeven als argument, in het venster \emph{Identificatieresultaten} of de dialoog \emph{Attribuut tabel} zodat de waarde van dat veld wordt meegegeven aan de actie.

Hier volgt nog een voorbeeld dat gegevens uit een vectorlaag met plantensoorten haalt en deze met de lokatie naar een bestand schrijft via een de bash opdracht en de \code{echo} opdracht (deze bash opdracht werkt alleen onder \includegraphics[width=1em]{nix.png} en misschien ook onder \includegraphics[width=1em]{osx.png}). De laag heeft velden met de soortnaam \code{soortnaam}, de breedtegraad \code{lat} en de lengtegraad \code{long}. Hier volgt de gedefinieerde actie:

\begin{Verbatim}[commandchars=\\\{\}]
bash -c "echo \PYGZbs{}"\%taxon\_name \%lat \%long\PYGZbs{}" \textgreater{}\textgreater{} /tmp/species\_localities.txt"
\end{Verbatim}

Na het achtereenvolgens selecteren van een aantal objecten (planten) en het aanroepen van de actie ziet de inhoud van het bestand er ongeveer zo uit:

\begin{Verbatim}[commandchars=\\\{\}]
Acacia mearnsii -34.0800000000 150.0800000000
Acacia mearnsii -34.9000000000 150.1200000000
Acacia mearnsii -35.2200000000 149.9300000000
Acacia mearnsii -32.2700000000 150.4100000000
\end{Verbatim}

Als oefening kunnen we een actie maken voor de vectorlaag \code{lakes} waarbij we gegevens opzoeken in google. Eerst moeten we bepalen wat de URL is waarmee we met een zoekterm kunnen zoeken google. Dat doen we door een simpele zoekopdracht te geven en vervolgens uit de adresregel van de webbrowser de gebruikte URL over te nemen. We zien dat het formaat van de URL als volgt is: \href{http://google.com/search?q=qgis}{http://google.com/search?q=qgis}, waarin in dit geval \code{qgis} de zoekterm is.
\begin{enumerate}
\item {} 
Eerst moet de laag \code{lakes} zijn geladen.

\item {} 
Open de dialoog \emph{Laag Eigenschappen} door in de legenda te dubbelklikken op de vectorlaag of door via de rechtermuisknop het snelmenu te open en daarin \emph{Eigenschappen} te selecteren.

\item {} 
Open het tabblad \emph{Acties}.

\item {} 
Geef een naam voor de actie bijvoorbeeld \code{Google Search}.

\item {} 
Voor de actie moeten we de opdracht geven waarmee de webbrowser wordt opgestart. In dit geval gebruiken we Firefox. Wanneer het programma niet rechtstreeks kan worden opgestart met alleen het programmanaam dan dient het volledige pad te worden meegegeven.

\item {} 
Geef na de naam van de webbrowser de URL toe waarmee we gaan zoeken in Google zonder zoekterm: \code{http://google.com/search?q=}

\item {} 
De tekst in het veld \emph{Actie} ziet er nu als volgt uit: \code{firefox http://google.com/search?q=}

\item {} 
Selecteer de keuzelijst die de vectorlaag \code{lakes} bevat. Deze keuzelijst staat links van de knop \textbf{{[}Voer veld in{]}}.

\item {} 
Selecteer in de keuzelijst met veldnamen het veld \code{Names} van de vectorlaag \code{lakes} en klik op de knop \textbf{{[}Voer veld in{]}}.

\item {} 
Your action text now looks like this: \code{firefox http://google.com/search?q=\%NAMES}

\item {} 
Als laatste selecteer de knop \textbf{{[}Voer actie in{]}} waarna de gemaakte actie wordt toegevoegd aan de lijst van acties.

\end{enumerate}

Hiermee is deze actie aangemaakt en klaar om te gebruiken. De uiteindelijke tekst van de actie ziet er als volgt uit:
\begin{quote}

\code{firefox http://google.com/search?q=\%NAMES}
\end{quote}

We kunnen deze actie nu gebruiken. Sluit de dialoog \emph{Laag Eigenschappen}. Zorg ervoor dat de laag \code{lakes} geselecteerd is in de legenda en start de functie \emph{Objecten Identificeren}. Na selectie van een meer zie je dat de actie beschikbaar is in het resultaat:
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-actions-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{action_identifyaction.png}
\caption{Select feature and choose action \includegraphics[width=1em]{nix.png}}\end{figure}

Wanneer we de actie selecteren, zal deze de webbrowser opstarten met gegeven URL en zoekterm. De zoekterm zou uitgebreid kunnen worden door aan de actie `+' toe te voegen en nog een veld mee te geven. Voor de gebruikte laag heeft dat echter weinig zin.

Je kunt meerdere acties definiëren die getoond worden in het scherm \emph{Identificatieresultaten}.

Je kunt allerlei toepassingen van acties bedenken. Wanneer je de lokaties van foto's hebt kun je met een actie die foto's openen in een viewer applicatie.

We kunnen ook meer geavanceerde akties te maken, door bijvoorbeeld gebruik te maken van \textbf{Python} acties.

Normaal gebruiken we absolute paden wanneer we een actie maken om een bestand met een externe toepassing te openen, of eventueel relatieve paden. In het tweede geval is het pad relatief ten opzichte van de locatie van de externe toepassing. Maar wat wanneer we een relatief pad willen gebruiken ten opzichte van de geopende laag (een vectorbestand, zoals een shapefile of een spatialite databasebestand)? De volgende code geeft een mogelijke oplossing:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{command} \PYG{o}{=} \PYG{l+s}{\PYGZdq{}}\PYG{l+s}{firefox}\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}
\PYG{n}{imagerelpath} \PYG{o}{=} \PYG{l+s}{\PYGZdq{}}\PYG{l+s}{images\PYGZus{}test/test\PYGZus{}image.jpg}\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}
\PYG{n}{layer} \PYG{o}{=} \PYG{n}{qgis}\PYG{o}{.}\PYG{n}{utils}\PYG{o}{.}\PYG{n}{iface}\PYG{o}{.}\PYG{n}{activeLayer}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}
\PYG{k+kn}{import} \PYG{n+nn}{os.path}\PYG{p}{;}
\PYG{n}{layerpath} \PYG{o}{=} \PYG{n}{layer}\PYG{o}{.}\PYG{n}{source}\PYG{p}{(}\PYG{p}{)} \PYG{k}{if} \PYG{n}{layer}\PYG{o}{.}\PYG{n}{providerType}\PYG{p}{(}\PYG{p}{)} \PYG{o}{==} \PYG{l+s}{\PYGZsq{}}\PYG{l+s}{ogr}\PYG{l+s}{\PYGZsq{}} \PYG{k}{else} \PYGZbs{}
\PYG{p}{(}\PYG{n}{qgis}\PYG{o}{.}\PYG{n}{core}\PYG{o}{.}\PYG{n}{QgsDataSourceURI}\PYG{p}{(}\PYG{n}{layer}\PYG{o}{.}\PYG{n}{source}\PYG{p}{(}\PYG{p}{)}\PYG{p}{)}\PYG{o}{.}\PYG{n}{database}\PYG{p}{(}\PYG{p}{)} \PYGZbs{}
\PYG{k}{if} \PYG{n}{layer}\PYG{o}{.}\PYG{n}{providerType}\PYG{p}{(}\PYG{p}{)} \PYG{o}{==} \PYG{l+s}{\PYGZsq{}}\PYG{l+s}{spatialite}\PYG{l+s}{\PYGZsq{}} \PYG{k}{else} \PYG{n+nb+bp}{None}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{path} \PYG{o}{=} \PYG{n}{os}\PYG{o}{.}\PYG{n}{path}\PYG{o}{.}\PYG{n}{dirname}\PYG{p}{(}\PYG{n+nb}{str}\PYG{p}{(}\PYG{n}{layerpath}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;}
\PYG{n}{image} \PYG{o}{=} \PYG{n}{os}\PYG{o}{.}\PYG{n}{path}\PYG{o}{.}\PYG{n}{join}\PYG{p}{(}\PYG{n}{path}\PYG{p}{,}\PYG{n}{imagerelpath}\PYG{p}{)}\PYG{p}{;}
\PYG{k+kn}{import} \PYG{n+nn}{subprocess}\PYG{p}{;}
\PYG{n}{subprocess}\PYG{o}{.}\PYG{n}{Popen}\PYG{p}{(} \PYG{p}{[}\PYG{n}{command}\PYG{p}{,} \PYG{n}{image} \PYG{p}{]} \PYG{p}{)}\PYG{p}{;}
\end{Verbatim}

het is goed om te weten dat de actie van het type \emph{python} is en om de variabelen \emph{command} en \emph{imagerelpath} te wijzigen naar gewenste waarden.

Maar wat als we een relatieve pad nodig hebben ten opzichte van het opgeslagen projectbestand? Dat kan met volgende python code:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{command}\PYG{o}{=}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{firefox}\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}
\PYG{n}{imagerelpath}\PYG{o}{=}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{images/test\PYGZus{}image.jpg}\PYG{l+s}{\PYGZdq{}}\PYG{p}{;}
\PYG{n}{projectpath}\PYG{o}{=}\PYG{n}{qgis}\PYG{o}{.}\PYG{n}{core}\PYG{o}{.}\PYG{n}{QgsProject}\PYG{o}{.}\PYG{n}{instance}\PYG{p}{(}\PYG{p}{)}\PYG{o}{.}\PYG{n}{fileName}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;}
\PYG{k+kn}{import} \PYG{n+nn}{os.path}\PYG{p}{;} \PYG{n}{path}\PYG{o}{=}\PYG{n}{os}\PYG{o}{.}\PYG{n}{path}\PYG{o}{.}\PYG{n}{dirname}\PYG{p}{(}\PYG{n+nb}{str}\PYG{p}{(}\PYG{n}{projectpath}\PYG{p}{)}\PYG{p}{)} \PYGZbs{}
\PYG{k}{if} \PYG{n}{projectpath} \PYG{o}{!=} \PYG{l+s}{\PYGZsq{}}\PYG{l+s}{\PYGZsq{}} \PYG{k}{else} \PYG{n+nb+bp}{None}\PYG{p}{;}
\PYG{n}{image}\PYG{o}{=}\PYG{n}{os}\PYG{o}{.}\PYG{n}{path}\PYG{o}{.}\PYG{n}{join}\PYG{p}{(}\PYG{n}{path}\PYG{p}{,} \PYG{n}{imagerelpath}\PYG{p}{)}\PYG{p}{;}
\PYG{k+kn}{import} \PYG{n+nn}{subprocess}\PYG{p}{;}
\PYG{n}{subprocess}\PYG{o}{.}\PYG{n}{Popen}\PYG{p}{(} \PYG{p}{[}\PYG{n}{command}\PYG{p}{,} \PYG{n}{image} \PYG{p}{]} \PYG{p}{)}\PYG{p}{;}
\end{Verbatim}

Het volgende voorbeeld van een Python actie toont hoe je daarmee nieuwe lagen kunt toevoegen aan het project. Bijvoorbeeld het volgende project zal respectievelijk een vector- en een rasterlaag toevoegen. De namen van de bestanden die toegevoegd zullen worden evenals de namen die gegeven wordt aan de lagen, zijn afkomstig uit een geladen vectorbestand, waarop de actie gedefinieerd is, waarbij \emph{filename} en \emph{layname} veldnamen zijn die gebruikt worden door de actie.

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{qgis}\PYG{o}{.}\PYG{n}{utils}\PYG{o}{.}\PYG{n}{iface}\PYG{o}{.}\PYG{n}{addVectorLayer}\PYG{p}{(}\PYG{l+s}{\PYGZsq{}}\PYG{l+s}{/yourpath/[}\PYG{l+s}{\PYGZpc{}}\PYG{l+s}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{filename}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{ }\PYG{l+s}{\PYGZpc{}}\PYG{l+s}{].shp}\PYG{l+s}{\PYGZsq{}}\PYG{p}{,}\PYG{l+s}{\PYGZsq{}}\PYG{l+s}{[}\PYG{l+s}{\PYGZpc{}}\PYG{l+s}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{layername}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{ }\PYG{l+s}{\PYGZpc{}}\PYG{l+s}{]}\PYG{l+s}{\PYGZsq{}}\PYG{p}{,} \PYG{l+s}{\PYGZsq{}}\PYG{l+s}{ogr}\PYG{l+s}{\PYGZsq{}}\PYG{p}{)}
\end{Verbatim}

Om een raster bestand toe te voegen (in dit voorbeeld een tif bestand), wordt dit:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{qgis}\PYG{o}{.}\PYG{n}{utils}\PYG{o}{.}\PYG{n}{iface}\PYG{o}{.}\PYG{n}{addRasterLayer}\PYG{p}{(}\PYG{l+s}{\PYGZsq{}}\PYG{l+s}{/yourpath/[}\PYG{l+s}{\PYGZpc{}}\PYG{l+s}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{filename}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{ }\PYG{l+s}{\PYGZpc{}}\PYG{l+s}{].tif}\PYG{l+s}{\PYGZsq{}}\PYG{p}{,}\PYG{l+s}{\PYGZsq{}}\PYG{l+s}{[}\PYG{l+s}{\PYGZpc{}}\PYG{l+s}{ }\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{layername}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{ }\PYG{l+s}{\PYGZpc{}}\PYG{l+s}{]}\PYG{l+s}{\PYGZsq{}}\PYG{p}{)}
\end{Verbatim}


\subsection{Het tabblad Koppelingen}
\label{docs/user_manual/working_with_vector/vector_properties:joins-tab}\label{docs/user_manual/working_with_vector/vector_properties:sec-joins}
\includegraphics[width=2em]{join.png} Het tabblad \emph{Koppelingen} geeft de mogelijkheid om vectorlaag uit te breiden met gegevens uit een gegevenstabel door deze te koppelen. Daarvoor moet er wel een sleutelveld bestaan in zowel de vectorlaag als de gegevenstabel met overeenkomstige unieke waarden. QGIS ondersteund momenteel niet spatiale tabel formaten die door OGR worden ondersteund, tekengescheiden tekst tabellen en PostgreSQL (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-joins-1]{figure\_joins\_1}}).
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-joins-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{join_attributes.png}
\caption{Join an attribute table to an existing vector layer \includegraphics[width=1em]{nix.png}}\end{figure}

Daarnaast geeft de dialoog Vectorkoppeling toevoegen de mogelijkheid om:
\begin{itemize}
\item {} 
\includegraphics{checkbox.png} \emph{Koppellaag in virtueel geheugen `cachen'}

\item {} 
\includegraphics{checkbox.png} \emph{Attribuutindex aanmaken op het koppelveld}

\end{itemize}


\subsection{Het tabblad Diagrammen}
\label{docs/user_manual/working_with_vector/vector_properties:diagrams-tab}\label{docs/user_manual/working_with_vector/vector_properties:sec-diagram}
\includegraphics[width=2em]{diagram.png} Met het tabblad \emph{Diagrammen} kun je diagrammen in je vectorlaag plaatsen (zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-diagrams-1]{figure\_diagrams\_1}}).

De huidige implementatie van diagrammen ondersteunt taartpunt- en tekstdiagrammen. Daarbij kan de tekst van verschillende veldwaarden onder elkaar getoond worden met een circel of een vierkant en verdelers. De groote van Diagrammen kan overal gelijk zijn of rechtevenredig verschaald worden naar een veldwaarde. Het plaatsen van diagrammen werkt samen met de nieuwe manier van labels plaatsen, dat wil zeggen wanneer er tijdens het renderen (tekenen) een diagram en een label op dezelfde plaats zouden komen te staan, dan kan dat automatisch worden opgelost. Daarnaast kunnen geplaatste diagram later, door de gebruiker, handmatig verplaatst worden.
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-diagrams-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{diagram_tab.png}
\caption{Vector properties dialog with diagram tab \includegraphics[width=1em]{nix.png}}\end{figure}

We zullen een voorbeeld geven waarbij we in de alaska boundary laag een aantal diagrammen met temperatuurgegevens plaatsen. Beide te gebruiken vectorlagen zijn onderdeel van de QGIS sample dataset (zie {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}).
\begin{enumerate}
\item {} 
Klik eerst het icoon \includegraphics[width=1.5em]{mActionAddOgrLayer.png} $^{\text{Vectorlaag Toevoegen}}$, ga naar de folder waarin zich de QGIS sample dataset bevindt en laad de twee shapefiles \code{alaska.shp} en \code{climate.shp}.

\item {} 
Dubbelklik op de laag \code{climate} in de kaartlegenda waarna het menu \emph{Laag Eigenschappen} opent.

\item {} 
Selecteer het tabblad \emph{Diagrammen}, activeer \emph{Toon diagrammen} en selecteer \emph{Tekstdiagram} als Diagram type

\item {} 
Als \emph{Achtergrondkleur} kiezen we cyaan en we zetten het Formaat van de tekst met \emph{Vast formaat} op 18 mm.

\item {} 
Selecteer voor \emph{Plaatsing} RondomPunt.

\item {} 
In het diagram willen we de waarden van de eerste drie kolommen tonen. \code{T\_F\_JAN}, \code{T\_F\_JUL} en \code{T\_F\_MEAN}. Selecteer eerst \code{T\_F\_JAN}  als attribuut en klic op de groene \textbf{{[}+{]}} knop, daarna \code{T\_F\_JUL} en tenslotte \code{T\_F\_MEAN}.

\item {} 
Druk nu op de knop \textbf{{[}Apply{]}} om de diagrammen te tonen in het kaartbeeld van QGIS.

\item {} 
Je kunt nu de wijzigen aanbrengen, zoals het gebruik van andere kleuren voor de verschillende attribuutvelden, of door een andere grootte te kiezen. {\hyperref[docs/user_manual/working_with_vector/vector_properties:figure-diagrams-2]{Figure\_diagrams\_2}} geeft een indruk van het resultaat.

\item {} 
Selecteer tenslotte \textbf{{[}Ok{]}}.

\end{enumerate}
\phantomsection\label{docs/user_manual/working_with_vector/vector_properties:figure-diagrams-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{climate_diagram.png}
\caption{Diagram from temperature data overlayed on a map \includegraphics[width=1em]{nix.png}}\end{figure}

In het dialoog die geopend wordt via de menuoptie \emph{Instellingen \(\rightarrow\) Opties}, bevindt zich het tabblad \emph{Overlays} waar een algemeen \emph{Plaatsingsalgoritme} kan worden gekozen. Het algoritme \code{Middelpunt (snelst)} is generiek voor de overige algoritmes maken gebruik van de PAL functiebibliotheek. Deze houdt rekening met het plaatsen van diagrammen en labels in verschillende lagen. Voor aanvullende informatie zie {\hyperref[docs/user_manual/plugins/plugins_diagram_overlay:diagram-overlay]{\emph{Diagram Overlay Plugin}}}.


\section{Bewerken}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:editing}\label{docs/user_manual/working_with_vector/editing_geometry_attributes::doc}
QGIS ondersteund verschillende mogelijkheden om OGR, PostGIS en Spatialite vectorlagen te bewerken.

\begin{notice}{note}{Notitie:}
Het bewerken van GRASS vectorlagen gaat anders - zie {\hyperref[docs/user_manual/grass_integration/grass_integration:grass-digitizing]{\emph{Digitizing and editing a GRASS vector layer}}} for details.
\end{notice}
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:tip-concurrent-edits}
\begin{notice}{tip}{Tip:}
\textbf{Tegelijk Bewerken}

Deze versie van QGIS houdt niet bij of er iemand toevallig hetzelfde object bewerkt. De laatste die zijn bewerkte object opslaat wint.
\end{notice}

\index{Snapping}\index{Snapping\_Tolerance}

\subsection{Het instellen van de Snapping Toleranties en Zoek Radius}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:snapping-tolerance}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:setting-the-snapping-tolerance-and-search-radius}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-1}
Voordat we de hoekpunten gaan bewerken doen we er goed aan eerst de snapping toleranties en de zoek radius in te stellen zodat het bewerken van vector laag geometrieën beter zal gaan.


\subsubsection{Snapping toleranties}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:id1}
De Snapping tolerantie is de afstand die qg gebruikt om te \code{zoeken} naar het dichtsbijzijnde hoekpunt en/of lijnsegment waar een nieuw hoekpunt geplaatst of een bestaand hoekpunt naar verplaatst moet worden. Wanneer de muiscursor verder dan die afstand van een bestaand hoekpunt bevindt dan zal het hoekpunt daar geplaatst worden waar de muiscursor zich bevindt. Binnen die afstand zal deze naar een bestaand hoekpunt `snappen'! De instellingen van de snapping tolerantie heeft effect op een aantal bewerkingstools.
\begin{enumerate}
\item {} 
Een standaard project snapping tolerantie kan worden ingesteld via het menu \emph{Instellingen \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties}. Op de Mac: ga naar \emph{QGIS \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Preferences...}, onder Linux: \emph{Bewerken \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties}. In het tabblad \emph{Digitaliseren} kun je bij de standaard snap modus kiezen tussen Naar hoekpunt, Naar segment en Naar hoekpunt en segment. Je kunt ook een standaard snapping tolerantie en een zoek radius voor vertex bewerkingen instellen. De toleraties kunnen ingesteld worden op kaarteenheden of in pixels. Het nadeel van het gebruik van kaarteenheden is dat je dan telkens na in- en uitzoomen de toleranties telkens moet aanpassen. Bij het gebruik van pixels heb je daar weinig last van. Bij een kaartschaal van 1:10.000 is een Snapping tolerantie in kaarteenheden van zo'n 100 meter een werkbare instelling (voor de Alaska voorbeeld dataset).

\item {} 
Een kaartlaag gebaseerde snapping tolerantie kan worden ingesteld door te kiezen voor \emph{Instellingen \(\rightarrow\)} (of \emph{Bestand \(\rightarrow\)}) \emph{`Snapping'-opties...} om de snapping modus en tolerantie voor elke laag in te stellen (zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-1]{figure\_edit\_1}} ).

\end{enumerate}

Opm: Indien de laaggebasseerde instellingen zijn gebruikt, zullen deze worden gebruikt in plaats van de standaard instellingen. Wanneer je één laag moet bewerken waarbij de hoekpunten moeten \code{snappen} naar de hoekpunten van een andere laag, activeer dan snapping voor die andere laag en maak de standaard snappingtoleranties een stuk kleiner. Daarnaast zal snapping niet plaatsvinden naar lagen die niet aanstaan in de snapping opties voor kaartlagen, ook niet na het instellen van de standaard snapping toleranties. Dus zorg ervoor dat deze lagen waar je wel naar toe wilt snappen aangevinkt zijn.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=40em]{editProjectSnapping.png}
\caption{Edit snapping options on a layer basis \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Search\_Radius}

\subsubsection{Zoekradius}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:search-radius}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-2}
De zoekradius is de afstand die QGIS gebruikt om het dichtsbijzijnde hoekpunt te vinden wanneer je op de kaart klikt. Wanneer er zich binnen die afstand geen hoekpunt aangetroffen wordt, dan zal er een melding verschijnen dat er geen hoekpunt gevonden is om te bewerken. Zowel snap tolerantie als zoek radius kunnen in pixels en kaarteenheden gegeven worden en het vereist wat uitzoekwerk om de goede instellingen te vinden. Wanneer je een te grote snap tolerantie instelt, dan heb je een grote kans dat deze naar het verkeerde hoekpunt snapt. Wanneer de zoek radius te klein is zal deze niets vinden om te verplaatsen.

De zoekradius voor het bewerken van hoekpunten in laageenheden kan worden ingesteld in het tabblad :guilabel{}`Digitaliseren{}` onder \emph{Instellingen \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties}. Dezelfde plaats waar je de standaard snapping tolerantie instelt.

\index{Zoom\_In Zoom\_Out}\index{Pan}\index{Map\_Navigation}

\subsection{Zoomen en Kaart verschuiven}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:zooming-and-panning}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-3}
Voordat je een laag gaat bewerken, moet je inzoomen op het betreffende gebied. Dit voorkomt dat alle hoekpunten die je kunt bewerken getekend moeten worden voor de hele laag, dat kost meer tijd.

Naast het gebruik van de knoppen \includegraphics[width=1.5em]{mActionPan.png} $^{\text{Kaart verschuiven}}$ en de \includegraphics[width=1.5em]{mActionZoomIn.png} $^{\text{Inzoomen}}$ / \includegraphics[width=1.5em]{mActionZoomOut.png} $^{\text{Uitzoomen}}$ op de werkbalk kun je ook het muiswieltje, de spatiebalk en de pijltjestoetsen gebruiken.


\subsubsection{Zoomen en de kaart verplaatsen met het muiswieltje}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:zooming-and-panning-with-the-mouse-wheel}
Tijdens het digitaliseren kun je met het ingedrukte muiswieltje binnen de kaart, het kaartbeeld verplaatsen. Wanneer je het muiswieltje naar je toe rolt zal het kaartbeeld uitzoomen en wanneer je het muiswieltje van je af rolt inzoomen. De plaats van de muiscursor zal het centrum van het gebied zijn waar je op in of uitzoomt. Je kunt het gedrag voor het in- en uitzoomen met het muiswieltje aanpassen onder het tabblad \emph{Kaart gereedschap} onder het menu \emph{Extra \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties ...}.


\subsubsection{De kaart verplaatsen met de pijltjestoetsen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:panning-with-the-arrow-keys}
Tijdens het digitaliseren kun je het kaartbeeld verplaatsen met behulp van de pijltjestoetsen. Plaats de muiscursor in het kaartbeeld en druk op de rechter- of de linkerpijltjestoets om het kaartbeeld naar het oosten of het westen te verplaatsen. Met de pijltjestoets omhoog of omlaag kun je het kaartbeeld naar het noorden of naar het zuiden verplaatsen.

Met ingedrukte spatiebalk, kun je met de muiscursor het kaartbeeld verplaatsen in de richting waar je de muiscursor naar toe beweegt. Met de toetsen PgUp en PgDown van je toetsenbord kun je in- en uitzoomen op de kaart zonder je digitaliseer sessie te onderbreken.

\index{Topological\_Editing}

\subsection{Topologische bewerkingen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-4}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:topological-editing}
Vanuit het menu \emph{Snapping opties} kun je ook instellen of er bij bewerkingen rekening moet worden gehouden met topologische relaties tussen lagen onderling. Deze dialoog kan worden opgestart vanuit het hoofdmenu via \emph{Extra \(\rightarrow\) Snapping opties ...}. Hier kun je het aanvinkvakje \includegraphics{checkbox.png} \emph{Topologisch bewerken aanzetten} aanvinken en/of je kunt voor polygoonlagen de kolom \includegraphics{checkbox.png} \emph{Voorkom kruisingen} aanvinken waarmee voorkomen wordt dat polygoonvlakken elkaar overlappen.

\index{Shared\_Polygon\_Boundaries}

\subsubsection{Topologisch bewerken aanzetten}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-5}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:enable-topological-editing}
De optie \includegraphics{checkbox.png} \emph{Topologisch bewerken aanzetten} is voor het bewerken en onderhouden van polygoon-objecten met gedeelde grenzen. QGIS herkent gedeelde grenzen tussen vlakken en wanneer je een hoekpunt van een grens verplaatst, dan zal QGIS ook direct de geometrie van (het) andere vlakobject(en), waar deze grens een onderdeel van vormt, aanpassen. Wanneer deze optie aanstaat dan zal tijdens het inbrengen van nieuwe polygoonobjecten het `overbodig' overlappende gedeelte van het nieuwe vlak worden verwijderd en de grens exact aansluitend worden gemaakt. Zorg er bij het opvoeren van het nieuwe vlak er dan wel voor dat het beginpunt en het eindpunt van de grens waar de overlapping begint gelijk zijn. Op deze manier kun je veel sneller een gedeelde grens opvoeren die vaak bestaat uit meerdere punten.

\index{Avoid\_Intersections\_Of\_Polygons}

\subsubsection{Kruisingen voorkomen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:avoid-intersections-of-new-polygons}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-6}
De tweede topologische instelling die je kunt instellen is het aanvinkvakje in de kolom \emph{Voorkom kruisingen}, waarbij het aanvinkvakje alleen aanwezig is voor polygonen. Wanneer deze aanwezig is en je voert een polygoon op waarbij de grens zichzelf snijd waardoor er meer dan 1 aaneengesloten vlak ontstaat, dan zal er direkt een melding volgen die de gebruiker daarop attendeert, maar die het aanmaken van het object niet voorkomt! Staat het aanvinkvakje `Voorkom kruisingen' niet aangevinkt, dan blijft die melding achterwege. In de praktijk blijkt dat deze controle er ook voor zorgt dat binnen een bestaande polygoon, voor een laag waar deze controle voor aanstaat, niet een andere polygoon kan worden opgevoerd die daar geheel binnen valt. In de engelse handleiding staat bovendien dat de optie \emph{Voorkom kruisingen} indien aangezet helpt bij het digitaliseren van aansluitende grenzen, maar het is de optie \emph{Topologisch bewerken aanzetten} die daarvoor zorgt.

\index{Digitizing}

\subsection{Het digitaliseren van een bestaande kaartlaag}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:digitizing-an-existing-layer}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-7}
Standaard staan kaartlagen in QGIS, na het laden, op \emph{alleen lezen}. Dit voorkomt dat je per ongeluk een kaarlaag gaat wijzigen. Maar je kunt elke kaartlaag wijzigen, tenminste voor kaartlagen waarvoor het wijzigen van kaartlagen ondersteund wordt en wanneer je, op bestandsniveau, schrijfrechten hebt voor die bestanden. Het bewerken van kaartlagen van PostgreSQL/PostGIS wordt het beste ondersteund.

Het bewerken van vectorlagen is verdeeld over twee werkbalken, de werkbalk \emph{Digitaliseren} en de werkbalk \emph{Geavanceerd Digitaliseren} die beschreven wordt in {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit]{\emph{Geavanceerd Digitaliseren}}}. Je kunt beiden werkbalken aan-/uitzetten onder \emph{Instellingen \(\rightarrow\) Werkbalken \(\rightarrow\)}. De werkbalk \emph{Digitaliseren} biedt het volgende:
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:table-editing}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Icoon
} & \textsf{\relax 
Doel
} & \textsf{\relax 
Icoon
} & \textsf{\relax 
Doel
}\\
\hline
\includegraphics[width=1.5em]{mActionToggleEditing.png}
 & 
Bewerken aan/uitzetten
 & 
\includegraphics[width=1.5em]{mActionCapturePoint.png}
 & 
Toevoegen Objecten: Punten
\\

\includegraphics[width=1.5em]{mActionCaptureLine.png}
 & 
Toevoegen Objecten: Lijnen
 & 
\includegraphics[width=1.5em]{mActionCapturePolygon.png}
 & 
Toevoegen Objecten: Polygonen
\\

\includegraphics[width=1.5em]{mActionMoveFeature.png}
 & 
Verplaatsen Object
 & 
\includegraphics[width=1.5em]{mActionNodeTool.png}
 & 
Bewerken van Knooppunten
\\

\includegraphics[width=1.5em]{mActionDeleteSelected.png}
 & 
Verwijderen Geselecteerd(e) Object(en)
 & 
\includegraphics[width=1.5em]{mActionEditCut.png}
 & 
Knippen van Objecten
\\

\includegraphics[width=1.5em]{mActionEditCopy.png}
 & 
Kopiëren van Objecten
 & 
\includegraphics[width=1.5em]{mActionEditPaste.png}
 & 
Plakken van Objecten
\\

\includegraphics[width=1.5em]{mActionFileSave.png}
 & 
Wijzigingen opslaan en doorgaan
 &  & \\
\hline\end{tabulary}

\begin{quote}

De functies van de werkbalk `Digitaliseren'
\end{quote}

Elke sessie waarbij je een kaartlaag gaat bewerken begint met het schrijfbaar maken van de geselecteerde laag met \includegraphics[width=1.5em]{mActionToggleEditing.png} \emph{Bewerken aan/uitzetten}. Deze bestaat als menu-optie in het snelmenu, die je opent met de rechtermuisknop na het selecteren van een laag in de legenda.

Maar je kunt ook het icoon \includegraphics[width=1.5em]{mActionToggleEditing.png} $^{\text{Bewerken aan/uitzetten}}$ kiezen van de werkbalk \emph{Digitaliseren} om met bewerken te beginnen of te stoppen. Wanneer het bewerken van een laag aanstaat, zullen er markingen verschijnen voor de hoekpunten en meer knoppen op de werkbalk zullen actief en beschikbaar worden.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:tip-save-regularly}
\begin{notice}{tip}{Tip:}
\textbf{Regelmatig Opslaan}

Vergeet niet om de knop \includegraphics[width=1.5em]{mActionFileSave.png} $^{\text{Aanpassingen Opslaan}}$ regelmatig te gebruiken. Deze zal ook controleren of je je gegevens nog kunt schrijven.
\end{notice}


\subsubsection{Toevoegen van Objecten}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:adding-features}
Je kunt de knoppen \includegraphics[width=1.5em]{mActionCapturePoint.png} $^{\text{Object toevoegen}}$, \includegraphics[width=1.5em]{mActionCaptureLine.png} $^{\text{Object toevoegen}}$ of \includegraphics[width=1.5em]{mActionCapturePolygon.png} $^{\text{Object toevoegen}}$ van de werkbalk \emph{Digitaliseren} gebruiken om QGIS te wijzigen naar de modus Dititaliseren waarbij ook de muisaanwijzer veranderd. Welke knop op de werkbalk aanwezig is, is afhankelijk van de actieve soort vectorlaag.

Voor elk object begin je eerst met het digitaliseren van de geometrie en vervolgens geef je de attribuutwaarden in. Door met de linkerknop in het kaartbeeld te klikken digitaliseer je een punt voor de nieuwe geometrie.

Voor lijnen en polygonen, voeg je volgende punten toe door met de linkermuis door te klikken in het kaartbeeld. Voor het laatste punt, klik je ergens in het kaarbeeld met de rechtermuis. Voor \includegraphics[width=1em]{osx.png} Mac moet je bij het ingeven van het laatste punt de \code{control} toets ingedrukt houden.

Vervolgens opent het venster waarmee je de attribuutwaarden voor het nieuwe object kunt inbrengen. {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-2]{Figure\_edit\_2}} toont het venster voor het inbrengen voor een nieuwe fictieve rivier. In het tabblad \emph{Digitaliseren} tab in het menu  :guilabel:{}` Opties{}` \includegraphics[width=1em]{osx.png} \emph{Extra \(\rightarrow\) Opties}, kun je het de aanvinkvakje \includegraphics{checkbox.png} \emph{Geen attribuut-popus na het aanmaken van elk kaartobject tonen} en \includegraphics{checkbox.png} \emph{Laatst ingevoerde attribuutwaarden gebruiken} aanzetten.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{editDigitizing.png}
\caption{Enter Attribute Values Dialog after digitizing a new vector
feature \includegraphics[width=1em]{nix.png}}\end{figure}

Met de werkbalkknop \includegraphics[width=1.5em]{mActionMoveFeature.png} $^{\text{Object(en) verplaatsen}}$ kun je bestaande objecten verplaatsen.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:tip-attributes-types}
\begin{notice}{tip}{Tip:}
\textbf{Soorten Attribuutwaarden}

Voor shapefiles dient er controle plaats te vinden voor de attribuutwaarden. Het is daarom niet mogelijk om een tekstwaarde in te vullen voor een numeriekveld in het formuliervenster \emph{Attributen}.Wanneer dat toch nodig is, dan kun je dat naderhand alsnog doen in de dialoog \emph{Attribuuttabel}.
\end{notice}

\index{Node\_Tool}

\subsubsection{Bewerken van Knooppunten}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-9}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:node-tool}
Voor het bewerken van geometrie kun je werkbalkknop \includegraphics[width=1.5em]{mActionNodeTool.png} $^{\text{Knooppunt-gereedschap}}$ gebruiken, Je kunt hiermee meerdere knooppunten van een geometrie selecteren en deze verplaatsen, toevoegen of verwijderen. Het Knooppuntgereedschap werkt ook wanneer `gelijktijdige CRS-transformatie' geactiveerd is. Daarnaast blijft de selectie na een bewerking gewoon nog actief (in tegenstelling tot de meeste andere gereedschap in QGIS waarbij dat niet het geval is). Wanneer het Knooppunt-gereedschap geen objecten kon vinden, zal deze een waarschuwing tonen.

Het is belangrijk om eerst de \emph{Zoekradius voor hoekaanpassingen} op een waarde groter dan 0 te zetten (bijvoorbeeld 10) anders kun je geen knooppunt in QGIS selecteren en volgt er een melding. Zet de zoekradius in het tabblad \emph{Digitaliseren} van het menu :guilabel{}`Opties{}` te openen via \includegraphics[width=1em]{osx.png} Mac \emph{Extra \(\rightarrow\)} \includegraphics[width=1em]{mActionOptions.png} \emph{Opties ...}.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:tip-vertex-markers}
\begin{notice}{tip}{Tip:}
\textbf{Knooppunt markeringen}

De huidige versie van QGIS ondersteund drie soorten markeerstijlen voor het weergevan van de hoekpunten: Semi transparante circel, Kruis en Geen. Om de markeerstijl te wijzigen open het tabblad \emph{Digitaliseren} in het menu \emph{Opties} te openen via \includegraphics[width=1em]{osx.png} \emph{Extra} \includegraphics[width=1em]{mActionOptions.png} \emph{Options ...}. Onder het deel Hoekpunten staan de opties Markerstijl en Markergrootte waarmee je de markeerstijl kun aanpassen.
\end{notice}


\subsubsection{Standaard bewerkingen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:basic-operations}
\index{Nodes}\index{Vertices}\index{Vertex}
Start met het activeren van het \includegraphics[width=1.5em]{mActionNodeTool.png} $^{\text{Kooppunten-gereedschap}}$ en selecteer een object door hierop te klikken. Rode vierkantjes verschijnen rond elk knooppunt van dit object.
\begin{itemize}
\item {} 
\textbf{Selecteren van knooppunten}: Je kunt een enkele knooppunt selecteren door er precies op te klikken. Wanneer je op de lijn klikt die twee knooppunten verbindt, dan worden beide verbonden knooppunten geselecteerd. Wanneer je een vierkant trekt (met ingehouden linkermuisknop) waarbinnen zich meerdere knooppunten bevinden, worden deze knooppunten allemaal geselecteerd. Wanneer een knooppunt geselecteerd is zal de kleur hiervan blauw worden. Je kunt meer knooppunten aan de bestaande selectie toevoegen door met ingehouden \code{Ctrl} toets, voor \includegraphics[width=1em]{osx.png} \code{command} toets, knooppunten te selecteren. Wordt met de \code{Ctrl} toets op een reeds geselecteerd knooppunt geklikt dan wordt deze verwijderd uit de selectie.

\item {} 
\textbf{Toevoegen van knooppunten}: Om een knooppunt toe te voegen kun je dichtbij of op een lijnstuk klikken. Het nieuwe knooppunt zal overigens altijd toegevoegd worden op de bestaande lijn en niet op de plaats waar je met de muis hebt geklikt. Het nieuwe knooppunt kun je daarna verplaatsen indien nodig.

\item {} 
\textbf{Verwijderen van knooppunten}: Je kunt knooppunten verwijderen door deze eerst te selecteren en daarna op de \code{Delete} toets te drukken. Voor \includegraphics[width=1em]{osx.png} \code{fn} + \code{Delete} toets. Je kunt met het \includegraphics[width=1.5em]{mActionNodeTool.png} $^{\text{Knooppunten-gereedschap}}$ geen volledig object verwijderen, zodra je dreigt onder het minimaal aantal benodigde punten voor het type vectorobject komt, dat je aan het bewerken bent (1 voor punt, 2 voor lijn, 3 voor polygoon) zal het verwijderen niet doorgaan. Om een volledig object te verwijderen gebruik \includegraphics[width=1.5em]{mActionDeleteSelected.png} $^{\text{Geselecteerd(e) object(en) verwijderen}}$.

\item {} 
\textbf{Verplaatsen van knooppunten} Selecteer eerst alle knooppunten die je wilt verplaatsen. Klik op een geselecteerd knooppunt of een lijnstuk en sleep deze naar de plek waar je alle geselecteerde knooppunten naar toe wilt verplaatsen. Wanneer snapping is geactiveerd zal de hele selectie zich verplaatsen (`snappen') naar het dichtsbijzijnde knooppunt of lijn.

\end{itemize}

Elke wijziging die gedaan is met het knooppunten-gereedschap kan ongedaan worden gemaakt met \emph{Bewerken \(\rightarrow\) Ongedaan maken}. Daarnaast verschijnt er informatie in het scherm over het knooppunt wanneer je de muisaanwijzer even boven een knooppunt houdt.


\subsubsection{Knippen, Kopiëren en Plakken van Objecten}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:cutting-copying-and-pasting-features}
Geselecteerde objecten kunnen geknipt, gekopiëerd en geplakt worden tussen vectorlagen in hetzelfde QGIS project, maar dan moet de doellaag ook eerst bewerkbaar zijn gemaakt met \includegraphics[width=1.5em]{mActionToggleEditing.png} $^{\text{Bewerken aan/uitzetten}}$.

\index{CSV}\index{WKT}
Objecten kunnen ook geplakt worden in externe applicatie als tekst: De objecten worden daarbij gepresenteerd in CSV formaat (comma gescheiden waarden) waarbij de geometrie waarden zijn opgeslagen in WKT-formaat (Well-Known Text formaat, een OGC standaard) waarbij geometrie wordt weergeven in tekst.

In deze versie van QGIS kunnen objecten in tekst formaat niet in een laag van QGIS worden geplakt. Wanneer komt de kopieer en plakfunctionaliteit van pas? Je kunt meerdere lagen tegelijk bewerkbaar zetten en dan in een lege laag voor het opslaan van meren alleen die meren plakt, die je eerst hebt geselecteerd in een laag die veel meren bevat.

Als voorbeeld zullen we enkele lagen van de laag met meren kopiëren naar een nieuwe laag:
\begin{enumerate}
\item {} 
Laad de laag van waaruit je objecten wilt kopieëren (de bronlaag)

\item {} 
Laad of maak de laag aan waar je naartoe wilt kopiëren (de doellaag)

\item {} 
Zet het bewerken aan voor de doellaag

\item {} 
Maak de bronlaag de actieve laag door deze te selecteren in de legenda

\item {} 
Gebruik het selectiegereedschap \includegraphics[width=1.5em]{mActionSelect.png} $^{\text{Eén object selecteren}}$ om object(en) te selecteren in de bronlaag

\item {} 
Klik op \includegraphics[width=1.5em]{mActionEditCopy.png} $^{\text{Kaartobjecten kopiëren}}$

\item {} 
Maak nu de doellaag de actieve laag door er op te klikken in de legenda

\item {} 
Klik op \includegraphics[width=1.5em]{mActionEditPaste.png} $^{\text{Kaartobjecten Plakken}}$

\item {} 
Zet bewerken voor de laag uit en sla de wijzigingen op

\end{enumerate}

Wat gebeurt er wanneer inhoudelijk de attribuutvelden niet overeenkomen? QGIS zal dan alleen die velden kopiëren die inhoudelijk overeenkomen en de rest negeren. Wanneer je zeker wilt weten dat de attributen en de geometrie goed overgezet worden, dan moeten de tabellen inhoudelijk overeenkomen.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:tip-projections-and-pasting}
\begin{notice}{tip}{Tip:}
\textbf{Behoud van eigenschappen geplakte objecten}

Wanneer de bronlaag en de doellaag dezelfde kaartprojectie hebben zal na het plakken de geometrie goed behouden zijn. Echter wanneer de kaartprojectie van de bron- en de doellaag verschillen dan kan het zijn dat de geometrie niet exact behouden blijft. Dit komt omdat tijdens de reprojectie er kleine afrondingsverschillen zullen optreden voor het berekenen van de nieuwe coördinaten.
\end{notice}


\subsubsection{Verwijderen Geselecteerde Objecten}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:deleting-selected-features}
Wanneer we een polygoon willen verwijderen, kunnen we dat doen door eerst de polygoon te selecteren met het selectiegereedschap \includegraphics[width=1.5em]{mActionSelect.png} $^{\text{Eén object selecteren}}$. Je kunt ook meerdere objecten selecteren. De geselecteerde objecten kun je verwijderen met \includegraphics[width=1.5em]{mActionDeleteSelected.png} $^{\text{Geselecteerd Object(en) Verwijderen}}$.

Met \includegraphics[width=1.5em]{mActionEditCut.png} $^{\text{Kaartobjecten knippen}}$ van de werkbalk :guilabel{}`Digitaliseren{}` kun je ook objecten verwijderen. Daarbij worden niet alleen de objecten uit de laag gehaald maar ook tijdelijk in het geheugen bewaard in he ``ruimtelijke clipboard''.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:tip-deleting-features}
\begin{notice}{tip}{Tip:}
\textbf{Ondersteuning Verwijderen van Objecten}

Het verwijderen van objecten uit een ESRI shapefile werkt alleen wanneer QGIS is gebouwd met GDAL versie 1.3.2 of hoger. De huidige versie van QGIS beschikbaar van de download site zijn gebouwd met recentere versies van GDAL.
\end{notice}


\subsubsection{Opslaan van Bewerkte Lagen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:saving-edited-layers}
Wanneer een laag bewerkbaar is, zullen de wijzigingen in het geheugen van QGIS zijn opgeslagen. Deze zijn dan nog niet opgeslagen op schijf. Wanneer je tijdens het bewerken de wijzigingen tussendoor wilt opslaan gebruik dan \includegraphics[width=1.5em]{mActionFileSave.png} $^{\text{Wijzigingen opslaan}}$. Wanneer je wisselt naar bewerken uitzetten met \includegraphics[width=1.5em]{mActionToggleEditing.png} $^{\text{Bewerken aan-/uitzetten}}$ en er zijn wijzigingen gedaan, dan zal er de vraag komen of je huidige aanpassingen wilt opslaan.

Wanneer de wijzigingen niet opgeslagen kunnen worden (bijv. geen schijfruimte meer beschikbaar), dan blijven de wijzigingen nog bewaard in QGIS. Je kunt dan eerst het probleem oplossen (bijv. schijfruimte beschikbaar maken) en vervolgens alsnog de wijzigingen bewaren.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:tip-data-integrity}
\begin{notice}{tip}{Tip:}
\textbf{Data Integriteit}

Het is altijd een goed idee om een backup te maken van je gegevens voordat je begint met het wijzigen ervan. Alhoewel de ontwikkelaars van QGIS veel aandacht hebben gegeven aan het behouden van de integriteit van de gegevens, zijn er geen garantie afgegeven.
\end{notice}


\subsection{Geavanceerd Digitaliseren}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:sec-advanced-edit}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:advanced-digitizing}



\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:table-advanced-editing}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Icoon
} & \textsf{\relax 
Doel
} & \textsf{\relax 
Icoon
} & \textsf{\relax 
Doel
}\\
\hline
\includegraphics[width=1.5em]{mActionUndo.png}
 & 
Ongedaan maken
 & 
\includegraphics[width=1.5em]{mActionRedo.png}
 & 
Opnieuw
\\

\includegraphics[width=2em]{mActionSimplify.png}
 & 
Versimpel Object
 & 
\includegraphics[width=2em]{mActionAddRing.png}
 & 
Ring Toevoegen
\\

\includegraphics[width=2em]{mActionAddIsland.png}
 & 
Onderdeel Toevoegen
 & 
\includegraphics[width=2em]{mActionDeleteRing.png}
 & 
Verwijder Ring
\\

\includegraphics[width=2em]{mActionDeletePart.png}
 & 
Verwijder Onderdeel
 & 
\includegraphics[width=1.5em]{mActionReshape.png}
 & 
Object vervormen
\\

\includegraphics[width=1.5em]{mActionOffsetCurve.png}
 & 
Verspring Curve
 & 
\includegraphics[width=1.5em]{mActionSplitFeatures.png}
 & 
Kaartobjecten splitsen
\\

\includegraphics[width=1.5em]{mActionMergeFeatures.png}
 & 
Geselecteerde objecten samenvoegen
 & 
\includegraphics[width=1.5em]{mActionRotatePointSymbols.png}
 & 
Puntsymbolen Roteren
\\

\includegraphics[width=1.5em]{mActionMergeFeatures.png}
 & 
Attributen van geselecteerde objecten samenvoegen
 &  & \\
\hline\end{tabulary}

\begin{quote}

Tabel Geavanceerd Bewerken: De werkbalk Geavanceerd Digitaliseren voor vectorlagen
\end{quote}


\subsubsection{Ongedaan maken en Opnieuw}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:undo-and-redo}
\includegraphics[width=1.5em]{mActionUndo.png} $^{\text{Ongedaan maken}}$ en \includegraphics[width=1.5em]{mActionRedo.png} $^{\text{Opnieuw}}$ geven de gebruiker de mogelijkheid om bewerkingen op vectorlagen in stappen ongedaan te maken of nogmaals uit te voeren. Er is ook een panel aanwezig waarmee je een historie krijgt te zien van alle bewerkingen (zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-3]{Figure\_edit\_3}}). Dit panel is standaard niet zichtbaar maar je kunt dit zichtbaar maken door met de rechtermuis op de toolbar klikken en vervolgens de keuze ``Ongedaan maken/Opnieuw'' te selecteren waarna deze actief wordt. Dit kan ook via menuopties \emph{Beeld \(\rightarrow\) Panelen \(\rightarrow\) Ongedaan maken/Opnieuw}.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{redo_undo.png}
\caption{Redo and Undo digitizing steps \includegraphics[width=1em]{nix.png}}\end{figure}

Wanneer Ongedaan maken wordt gebruikt, zal de status van de objecten weer zijn als voor de laatste bewerking. Wanneer bewerkingen buiten de normale vectorbewerkingen om worden gedaan, bijvoorbeeld vanuit een plugin, dan kan het zijn dat deze bewerkingen niet uitgevoerd kunnen worden (dat ligt eraan hoe deze bewerkingen geprogrammeerd zijn).

Met het panel \emph{Ongedaan maken/Opnieuw} kun je door te klikken op een bewerking in de lijst direct naar de situatie terugspringen van voor die bewerking.


\subsubsection{Versimpel Object}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:simplify-feature}
Met de \includegraphics[width=2em]{mActionSimplify.png} $^{\text{Versimpel Object}}$ tool kun je het aantal punten waaruit de geometrie van een object bestaat terugbrengen, zolang het object tussentijds niet wijzigt. Selecteer een object, dit zal worden gehighlight door een rood `elastiek' en een schuifschaal wordt getoond. Door de schuif te verplaatsen kun je zien hoe het object zal veranderen tijdens het verminderen van aantal punten. Wanneer op de knop \textbf{{[}OK{]}} wordt gedrukt zal de nieuwe versimpelde geometrie worden vastgelegd. Wanneer een object niet kan worden versimpeld (bijv. MultiPolygonen), zal een melding verschijnen.


\subsubsection{Ring Toevoegen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:add-ring}
Je kunt aan een polygon `gaten' toevoegen gebruik maken van het icoon \includegraphics[width=2em]{mActionAddRing.png} $^{\text{Ring Toevoegen}}$. Dit betekent dat je binnen een bestaande polygoon polygonen kunt toevoegen die fungeren als `gaten'. Dus de ruimte tussen de buitenste polygoon en de binnenste polygonen blijft over als polygoon.


\subsubsection{Onderdeel Toevoegen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:add-part}
Met \includegraphics[width=2em]{mActionAddIsland.png} $^{\text{onderdeel toevoegen}}$ kun je eiland polygonen toevoegen aan een bestaande polygoon. Het nieuwe eiland polygoon moet buiten de grens van geselecteerde (multi-)polygoon liggen.


\subsubsection{Verwijder Ring}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:delete-ring}
Met \includegraphics[width=2em]{mActionDeleteRing.png} $^{\text{Ring Verwijderen}}$ kun je een binnenste polygoon `gat' verwijderen binnen een bestaande polygoon. Deze tool werkt alleen met polygoon lagen. Het zal ook niets veranderen wanneer deze wordt gebruikt voor een eiland polygoon. Deze tool werkt voor polygoon en multi-polygoon objecten. Voordat je de hoekpunten van een ring selecteert, wijzig de zoekradius voor hoekpuntaanpassingen.


\subsubsection{Verwijder Onderdeel}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:delete-part}
Met \includegraphics[width=2em]{mActionDeletePart.png} $^{\text{Verwijder Onderdeel}}$ kun je delen van een multi-geometrie object verwijderen. Je kunt hiermee niet de laatst overblijvende polygoon verwijderen. Deze tool werkt voor alle multi-geometrie objecten voor punten, lijnen en polygonen. Voordat je de hoekpunten van een deel selecteert, wijzig de zoekradius voor hoekpuntaanpassingen.


\subsubsection{Object vervormen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:reshape-features}
Je kunt lijn- en polygoonobjecten vervormen gebruik makende van \includegraphics[width=1.5em]{mActionReshape.png} $^{\text{Objecten vervormen}}$. Hiermee kun je een deel van een lijn of polygoon vervangen door een nieuw lijnstuk van het eerste tot de laatste snijpunt met de oorspronkelijke lijn. Bij polygonen leidt dit soms tot ongewenste resultaten. Het is vooral handig om kleinere lijnstukken van een polygoon aan te passen, en niet om grote wijzigingen uit te voeren. Het is ook niet toegestaan om meerdere polygoonringen te doorsnijden aangezien dit een invalide polygoon oplevert.

Je kunt, bijvoorbeeld de grens van een polygoon bewerken met deze tool. Klik eerst aan de binnenkant van de polygoon vlak bij het punt waar de nieuwe grens moet beginnen, steek daar de grens van de polygoon over en begin dan met het tekenen van de nieuwe grens buiten de huidige grens van de polygoon. Eindig het toevoegen van nieuwe grenspunten door het laatste punt aan de binnenkant van de huidige grens te plaatsen met de rechtermuisknop. Op de snijpunten van de nieuwe met de oude grens zullen door deze functie automatisch nieuwe punten worden toegevoegd. De polygoon kan ook kleiner worden gemaakt door buiten de huidige grens te beginnen en binnen de huidige polygoongrens de nieuwe grens te tekenen en met de rechtermuisklik het tekenen te stoppen buiten de huidige grens.

\begin{notice}{note}{Notitie:}
De tool Objecten vervormen kan het startpunt van een polygoon of een gesloten lijn wijzigen. Dus het punt dat twee keer voorkomt kan een ander punt zijn. Dit zal geen probleem zijn voor de meeste applicaties, maar hier dient wel rekening mee worden gehouden.
\end{notice}


\subsubsection{Verspring Curve}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:offset-curves}
\includegraphics[width=1.5em]{mActionOffsetCurve.png} $^{\text{Verspring Curve}}$ is een nieuwe functie. Je kunt hiermee lijnen en polygonen parallel aan de huidige laten verspringen. De functie werkt voor de laag die bewerkt wordt (de geometriëen worden gewijzigd) of van een andere alleen-lezen laag waar van het geselecteerde object, een nieuwe versprongen lijn, polygoon wordt toegevoegd aan de laag die bewerkt wordt. De tool is geschikt voor het aanmaken van op afstand lijnen lagen. De afstand wordt getoond onderin de taakbalk.

\index{Split\_Features}

\subsubsection{Kaartobjecten splitsen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-14}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:split-features}
Je kunt objecten opdelen gebruik maken van \includegraphics[width=1.5em]{mActionSplitFeatures.png} $^{\text{Kaartobjecten Splitsen}}$. Je kunt een lijn tekenen over het kaartobject die je wilt splitsen.

\index{Merge\_Selected\_Features}

\subsubsection{Geselecteerde objecten samenvoegen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:merge-selected-features}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-15}
Met de functie \includegraphics[width=1.5em]{mActionMergeFeatures.png} $^{\text{Geselecteerde objecten samenvoegen}}$ kun je objecten samenvoegen die aan elkaar grenzen en dezelfde attribuutwaarden hebben.

\index{Merge\_Attributes\_of\_Selected\_Features}

\subsubsection{Samenvoegen attribuutwaarden van geselecteerde objecten}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-16}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:merge-attributes-of-selected-features}
Met \includegraphics[width=1.5em]{mActionMergeFeatures.png} $^{\text{Attributen van Geselecteerde objecten samenvoegen}}$ staat het samenvoegen van attribuutwaarden van objecten toe wanneer deze een gezamelijke grens hebben maar waarbij alleen de attribuutwaarden worden samengevoegde zonder de grenzen samen te voegen.

\index{Rotate\_Point\_symbols}

\subsubsection{Puntsymbolen Roteren}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:rotate-point-symbols}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-18}
De tool \includegraphics[width=1.5em]{mActionRotatePointSymbols.png} $^{\text{Puntsybolen Roteren}}$ wordt momenteel alleen ondersteund voor de oude symbologie. Hiermee kun je puntsymbolen in de kaart laten roteren, tenminste wanneer er voor het object een attribuutveld aanwezig is waarmee je de rotatie kunt vastleggen en eveneens hebt aangegeven dat dit veld gebruikt moet worden voor rotatie voor deze puntenlaag, via het tabblad \emph{Style{}`hebt van {}`Laag Eigenschappen}. Anders zal deze tool niet geactiveerd zijn.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{rotatepointsymbol.png}
\caption{Rotate Point Symbols \includegraphics[width=1em]{nix.png}}\end{figure}

Om de rotatie van een puntobject te wijzigen, selecteer een puntobject in de kaart en roteer deze door de linkermuis in houden. Een rode pijl met de rotatiewaarde zal getoond worden (zie {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-4]{Figure\_edit\_4}}). Wanneer je de linkermuis loslaat, zal de rotatiewaarde worden bijgewerkt in de attributentabel.

\begin{notice}{note}{Notitie:}
Wanneer de \code{Ctrl} toets wordt ingehouden, zal de rotatie worden uitgevoerd in stappen van 15 graden.
\end{notice}

\index{Create\_New\_Layers}\index{New\_Shapefile\_Layer}

\subsection{Het aanmaken van een nieuwe Vectorlaag}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:sec-create-shape}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:creating-a-new-vector-layer}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-19}
QGIS ondersteund het aanmaken van nieuwe Shapefile en SpatiaLite vectorlagen. Het aanmaken van nieuwe GRASS vectorlagen wordt ondersteund binnen de GRASS-plugin. Zie {\hyperref[docs/user_manual/grass_integration/grass_integration:creating-new-grass-vectors]{\emph{Creating a new GRASS vector layer}}} voor meer informatie over het aanmaken van GRASS vectorlagen.


\subsubsection{Het aanmaken van een nieuwe Shapefile laag}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:creating-a-new-shapefile-layer}
Om een nieuwe Shape vectorlaag te maken om te bewerken, kies \emph{Kaartlagen \(\rightarrow\) Nieuw \(\rightarrow\)} \includegraphics[width=1.5em]{mActionNewVectorLayer.png} \emph{Nieuw Shape Laag...}. De dialoog \emph{Nieuwe Vectorlaag} zal worden getoond zoals in {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-5]{Figure\_edit\_5}}. Kies het type vectorlaag (punt, lijn of polygoon) en de CRS (Coördinaten Referentie Systeem).

QGIS ondersteund nog niet het aanmaken van 2.5D objecten (bijvoorbeeld objecten met X,Y en Z coördinaten).
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-5}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{editNewVector.png}
\caption{Creating a new Shapefile layer Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

Vervolgens dienen de gewenste attribuutvelden toegevoegd door een naam en een type veld te geven en dan de knop \textbf{{[}Toevoegen{]}} te gebruiken. Standaard wordt een `id' kolom toegevoegd maar deze kan worden verwijderd. Alleen veldtypes \emph{Type: real} \includegraphics{selectstring.png}, \emph{Type: integer} \includegraphics{selectstring.png}, en \emph{Type: string} \includegraphics{selectstring.png} worden ondersteund. Aanvullend kun je, afhankelijk van gekozen type, ook een veldlengte en de precisie opgeven van het nieuwe attribuutveld. Wanneer je tevreden bent klik op \textbf{{[}OK{]}} waarna je een lokatie en een bestandsnaam kunt geven voor de nieuwe aan te maken shapefile. QGIS zal automatisch de bestandsnaamextensie \code{.shp} toevoegen aan gegeven bestandsnaam. Wanneer de laag is aangemaakt, zal deze worden toegevoegd aan de kaart en kun je deze op dezelfde manier bewerken als beschreven in {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}.

\index{New\_Spatialite\_Layer}

\subsubsection{Het aanmaken van een nieuwe Spatialite Laag}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:creating-a-new-spatialite-layer}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:vector-create-spatialite}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-20}
Voor het aanmaken van een nieuwe Spatialite laag, kies \emph{Kaartlagen \(\rightarrow\) Nieuw \(\rightarrow\)} \includegraphics[width=1.5em]{mActionNewVectorLayer.png} \emph{Nieuwe Spatialite Laag...}. De dialoog \emph{Nieuw SpatiaLite Laag} wordt geopend zoals getoond in {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-6]{Figure\_edit\_6}}.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:figure-edit-6}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{editNewSpatialite.png}
\caption{Creating a New SpatiaLite layer Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

De eerste stap is om een bestaande SpatiaLite database te selecteren of om een nieuwe SpatiaLite database aan te maken. Dit kan gedaan worden met de browse functie \includegraphics{browsebutton.png} aan de rechterkant van het veld database. Geef een naam voor die nieuwe laag en geef het type laag en de EPSG SRID. Indien gewenst kun je ook het aanvinkvak \includegraphics{checkbox.png} \emph{Maak een automatisch ophogen primair sleutelveld aan} actief maken.

Om de attribuutvelden voor de nieuwe SpatiaLite laag toe te voegen, geef de naam en de attribuuttype en klik op de knop \textbf{{[}Toevoegen aan attributenlijst{]}}. Wanneer tevreden druk dan op \textbf{{[}OK{]}}. QGIS zal automatsche de nieuwe laag toevoegen aan de kaart en je kunt deze bewerken op dezelfde manier als beschreven in {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-edit-existing-layer]{\emph{Het digitaliseren van een bestaande kaartlaag}}}.

De DB Manager kan gebruikt worden voor overig beheer van SpatiaLite lagen, zie {\hyperref[docs/user_manual/plugins/plugins_db_manager:dbmanager]{\emph{DB Manager Plugin}}}.

\index{Work\_with\_Attribute\_Table}

\subsection{Werken met de Attributen Tabel}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:sec-attribute-table}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-21}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:working-with-the-attribute-table}
De \index{attributentabel}attributentabel toont de objecten van een geselecteerde laag. Elke regel in de tabel representeert één kaartobject en elke kolom bevat een attribuutwaarde die een stukje informatie bevat over het object. Objecten in de tabel kunnen worden opgezocht, geselecteerd, verplaatst en zelfs bewerkt.

Om de attributentabel voor een vector laag te openen, maak de laag actief door deze te selecteren in de legenda. Open de attributentabel via het menu \emph{Kaartlagen \(\rightarrow\) {}`\textbar{}mActionOpenTable\textbar{} :menuselection:{}`Open Attributentabel}. Het is ook mogelijk om door met de rechtermuis op een laag in de legenda te klikken het snelmenu te openen en hierin \includegraphics[width=1.5em]{mActionOpenTable.png} \emph{Open Attributentabel} te kiezen.

Dit zal een nieuw venster openen die de object attributen van de laag toont ({\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:figure-attributes-1]{figure\_attributes\_1}}). Het aantal objecten en het aantal geselecteerde objecten wordt getoond in de titel van de attributentabel.
\phantomsection\label{docs/user_manual/working_with_vector/editing_geometry_attributes:figure-attributes-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{vectorAttributeTable.png}
\caption{Attribute Table for Alaska layer \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Attribute\_Table\_Selection}

\subsubsection{Het selecteren van objecten in een attributentabel}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-23}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:selecting-features-in-an-attribute-table}
\textbf{Elke geselecteerde regel} in de attributen tabel toont de attributen van een geselecteerd object in de laag. Wanneer het aantal geselecteerde objecten in de kaart veranderd, zal dit direct worden bijgewerkt in de attributentabel. Ook wanneer in de attributentabel de selectie wijzigt zal de selectie in de kaart worden bijgewerkt.

Regels kunnen worden geselecteerd door te klikken op het regelnummer aan de linkerkant. \textbf{Meerdere rijen} kunnen worden geselecteerd met de ingehouden \code{Ctrl} toets. Een \textbf{Opvolgende selectie} kan worden gemaakt door de \code{Shift} toets in te drukken en een regelnummer aan de linkerkant. Alle regels tussen de regel waarin zich de cursor bevindt en de aangeklikte regel worden geselecteerd. Het veranderen van de cursor positie door in een andere cel van de tabel te klikken, zal de selectie niet aanpassen. Het wijzigen van de selectie in het kaartbeeld, zal niet de cursorpositie in de attributentabel wijzigen.

De tabel kan gesorteerd worden per kolom, door een kolomhoofd te selecteren. Een kleine pijl wijst de sorteervolgorde aan (een pijltje omhoog betekent, de waarden zijn oplopend gesorteerd van boven naar beneden, pijltje omlaag betekent, de waarden zijn aflopend gesorteerd van boven naar beneden).

Voor een \textbf{simpele zoekactie op attribuutwaarden} op één kolom kan het veld \emph{Zoek naar} gebruikt worden. Selecteer eerst het veld (kolom) waarin gezocht moet worden met de inhoud van het veld \emph{zoek naar} en selecteer de knop \textbf{{[}Zoek{]}}. De overeenkomstige rijen worden geselecteerd en het aantal zal weergegeven worden in de titel van de attributentabel. Voor meer complexe zoekopdrachten gebruik de knop \textbf{{[}Geavanceerd Zoeken{]}} die de dialoog \emph{Zoekopdrachtbouwer} zal openen welke is beschreven in {\hyperref[docs/user_manual/working_with_vector/query_builder:vector-query-builder]{\emph{Zoekopdrachtbouwer}}}.

Om alleen de geselecteerde records te tonen, gebruik het aanvinkvak \includegraphics{checkbox.png} \emph{Alleen selectie tonen}. Om verder te zoeken in de reeds geselecteerde records, gebruik het aanvinkvak \includegraphics{checkbox.png} \emph{Alleen in selectie zoeken}. Je kunt de hoofdlettergevoeligheid voor zoekopdrachten aanzetten met aanvinkvak \includegraphics{checkbox.png} \emph{Hoofdlettergevoelig}. De andere knoppen linksonderin de attributentabel hebben de volgende functies:
\begin{itemize}
\item {} 
\includegraphics[width=1.5em]{mActionOpenTable.png} $^{\text{Deselecteer alles}}$ ook met \code{Ctrl+U}

\item {} 
\includegraphics[width=1.5em]{mActionSelectedToTop.png} $^{\text{Verplaats selectie naar boven}}$ ook met \code{Ctrl+T}

\item {} 
\includegraphics[width=1.5em]{mActionInvertSelection.png} $^{\text{Selectie omdraaien}}$ ook met \code{Ctrl+S}

\item {} 
\includegraphics[width=1.5em]{mActionCopySelected.png} $^{\text{Kopieer geselecteerde rijen naar klembord}}$ ook met \code{Ctrl+C}

\item {} 
\includegraphics[width=1.5em]{mActionZoomToSelected.png} $^{\text{Zoom kaart naar de geselecteerde rijen}}$ ook met \code{Ctrl+J}

\item {} 
\includegraphics[width=1.5em]{mActionPanToSelected.png} $^{\text{Verschuif de kaart naar de geselecteerde rijen}}$ ook met \code{Ctrl+P}

\item {} 
\includegraphics[width=1.5em]{mActionToggleEditing.png} $^{\text{Bewerken aan/uitzetten}}$ om een veldwaarde te bewerken en ook de functies te activeren die hieronder beschreven wordt. Ook met \code{Ctrl+E}

\item {} 
\includegraphics[width=1.5em]{mActionDeleteSelected.png} $^{\text{Geselecteerde objecten verwijderen}}$ ook met \code{Ctrl+D}

\item {} 
\includegraphics[width=1.5em]{mActionNewAttribute.png} $^{\text{Nieuwe kolom}}$ voor PostGIS lagen en voor OGR lagen ook met \code{Ctrl+W}

\item {} 
\includegraphics[width=1.5em]{mActionDeleteAttribute.png} $^{\text{Verwijder kolom}}$ voor PostGIS lagen en voor OGR lagen geopende met GDAL driver versie \textgreater{}= 1.9 ook met \code{Ctrl+L}

\item {} 
\includegraphics[width=1.5em]{mActionCalculateField.png} $^{\text{Open veldberekening}}$ ook met \code{Ctrl+I}

\end{itemize}

\begin{notice}{tip}{Tip:}
\textbf{Overslaan WKT geometry}

Wanneer je attribuutgegevens in externe programma's wilt gebruiken (zoals excel) gebruik de knop \includegraphics[width=1.5em]{mActionCopySelected.png} $^{\text{Kopieer geselecteerde rijen naar klembord}}$. De gegevens kunnen gekopieerd worden zonder geometrie informatie wanneer de optie \emph{Extra \(\rightarrow\) Opties \(\rightarrow\)} tabblad Algemeen \includegraphics{checkbox.png} \emph{Kopieer geometrie in WKT representatie van attributentabel} is gedeactiveerd.
\end{notice}


\subsubsection{Opslaan van geselecteerde objecten als nieuwe laag}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:save-selected-features-as-new-layer}
De geselecteerde objecten kunnen worden opgeslagen in alle door OGR ondersteunde vectorformaten en ook omgezet naar een ander Coordinaten Referentie Systeem (CRS). Open via de rechtermuis het snelmenu van de laag en selecteer \emph{Selectie opslaan als \(\rightarrow\)} om vervolgens een naam voor het uitvoerbestand te geven, het gewenste formaat en de CRS (zie {\hyperref[docs/user_manual/introduction/qgis_gui:label-legend]{\emph{Legenda}}}). Het is ook mogelijk om OGR creatie opties mee te geven in de dialoog.

\index{Non\_Spatial\_Attribute\_Tables}

\subsubsection{Werken met niet spatiale tabellen}
\label{docs/user_manual/working_with_vector/editing_geometry_attributes:working-with-non-spatial-attribute-tables}\label{docs/user_manual/working_with_vector/editing_geometry_attributes:index-24}
QGIS staat ook toe om niet spatiale tabellen te openen. Dit betreffen door OGR ondersteunde tabellen, tekengescheiden tekst en de PostgreSQL provider. De tabellen kunnen worden gebruikt voor mogelijke veldwaarden of alleen voor het bekijken en bewerken gebruik makende van de tabellenweergave. Wanneer de tabel wordt geladen kun je dit zien in de legenda. Wanneer deze tabel wordt geopend met de \includegraphics[width=1.5em]{mActionOpenTable.png} $^{\text{Open Attributentabel}}$ kan deze bewerkt worden als elke ander laag in de attributentabel.

Als een voorbeeld kun je kolommen van een niet spatiale tabel gebruiken om tijdens het digitaliseren de in te geven waarde voor een veld te beperken tot een set mogelijke attribuutwaarden of een waardenbereik. Voor meer informatie zie ook {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-attributes-tab]{\emph{Tabblad velden}}}.

\index{Query\_Builder}

\section{Zoekopdrachtbouwer}
\label{docs/user_manual/working_with_vector/query_builder:index-0}\label{docs/user_manual/working_with_vector/query_builder:vector-query-builder}\label{docs/user_manual/working_with_vector/query_builder:query-builder}\label{docs/user_manual/working_with_vector/query_builder::doc}
De zoekopdrachtbouwer geeft de mogelijkheid om van een tabel een subset te maken gebruik makende van een soort SQL WHERE opdracht waarbij het resultaat wordt getoond in het hoofdscherm. Het resultaat van de zoekopdracht, kan opgeslagen worden als een nieuwe vectorlaag.


\subsection{Zoekopdracht}
\label{docs/user_manual/working_with_vector/query_builder:query}
Open de dialoog van de attributentabel via het icoon \includegraphics[width=1.5em]{mActionOpenTable.png} $^{\text{Open Attributentabel}}$ van de werkbalk. Klik op de knop \textbf{{[}Geavanceerd Zoeken{]}} om de \emph{Zoekopdrachtbouwer} te openen. Bijvoorbeeld wanneer je een laag \code{woonplaatsen} met een veld \code{aantal\_inwoners} hebt kun je de grotere woonplaatsen eruit selecteren door \code{aantal\_inwoners \textgreater{} 100000} in te vullen in het SQL where tekstinvoer gedeelte van de zoekopdrachtbouwer. {\hyperref[docs/user_manual/working_with_vector/query_builder:figure-attributes-2]{Figure\_attributes\_2}} toont een voorbeeld van de zoekopdrachtbouwer met gegevens van een PosGIS laag met attributen afkomstig van een PostgreSQL database. De onderdelen velden, waarden en operatoren helpen de gebruiker met het opbouwen van een SQL-achtige zoekopdracht.
\phantomsection\label{docs/user_manual/working_with_vector/query_builder:figure-attributes-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{queryBuilder.png}
\caption{Query Builder \includegraphics[width=1em]{nix.png}}\end{figure}

\textbf{Velden} bevat een lijst van alle attribuutvelden van de vectorlaag uit de attributentabel. Om een attributenveld toe te voegen aan de SQL where tekstinvoer gedeelte, dubbelklik op de naam in de lijst van veldnamen. Je kunt normaal gesproken verschillende velden, waarden en operators gebruiken om een zoekopdracht op te bouwen maar je kunt deze ook rechtsstreeks in het SQL where tekstinvoer gedeelte intypen.

\textbf{Waarden} geeft een lijst van de waarden van een attributentabel. Om lijst te verkrijgen van alle mogelijke waarden van een attribuut, selecteer eerst het attribuut in de lijst Velden en druk vervolgens op de knop \textbf{{[}Alles{]}}. Om een lijst op te bouwen met de 25 eerste unieke waarden van een attribuutveld, selecteer eerst het atribuut in de lijst Velden en druk vervolgens op de knop \textbf{{[}Voorbeeld{]}}. Om een waarde toe te voegen aan het SQL where tekstinvoer gedeelte, dubbelklik op de waarde in de lijst van waarden.

\textbf{Operatoren} bevat alle operatoren die gebruikt kunnen worden. Om een operator toe te voegen aan het SQL where tekstinvoer gedeelte druk op de bijbehorende knop. Beschikbaar zijn relationele operatoren ( \code{=} , \code{\textgreater{}} , ...), de tekstvergelijkingsoperator (\code{LIKE}) en logische operatoren (\code{AND}, \code{OR}, ...).

De knop \textbf{{[}Test{]}} toont een melding met het aantal objecten die het resultaat zullen zijn van gegeven zoekopdracht, wat erg handig is tijdens het proces van het opbouwen van een zoekopdracht. De knop \textbf{{[}Leegmaken{]}} zal de inhoud van het SQL where invoertekst gedeelte leegmaken. De knop \textbf{{[}Opslaan...{]}} en de knop \textbf{{[}Laden...{]}} kunnen gebruikt worden om een de huidige zoekopdracht op te slaan en om deze later weer te laden. Met de knop \textbf{{[}OK{]}} worden de objecten die voldoen aan de zoekopdracht geselecteerd en het venster gesloten. De knop \textbf{{[}Cancel{]}} sluit het venster zonder de huidige selectie te veranderen.
\phantomsection\label{docs/user_manual/working_with_vector/query_builder:tip-sql-layer-definition}
\begin{notice}{tip}{Tip:}
\textbf{Wijzigen van de Laag Definitie}

Je kunt de laag definitie zelf veranderen door de SQL zoekopdracht te wijzigen zodat er een subset vanuit objecten wordt geladen. Om dit te doen, open de dialoog \emph{Laag Eigenschappen} door in de legende te dubbelklikken op de vectorlaag en dan vervolgens in het tabblad \emph{Algemeen} met de knop \textbf{{[}Query bouwer{]}} de zoekopdrachtbouwer te starten. Zie {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-properties-dialog]{\emph{Het Vector Eigenschappen Menu}}} voor meer informatie.
\end{notice}

\index{Select\_using\_Query}

\subsection{Selectie}
\label{docs/user_manual/working_with_vector/query_builder:selection}\label{docs/user_manual/working_with_vector/query_builder:index-1}\label{docs/user_manual/working_with_vector/query_builder:sec-selection-query}
Met QGIS is het mogelijk om de selectie visueel zichtbaar te maken gebruik makende van een vergelijkbare interface die gebruikt is in {\hyperref[docs/user_manual/working_with_vector/query_builder:vector-query-builder]{\emph{Zoekopdrachtbouwer}}}. In hierboven geschreven deel het doel van de zoekopdrachtbouwer is om alle geselecteerde objecten die voldoen aan de selectiecriteria in de selectiekleur geel weer te geven. De weergave van de overige objecten wijzigt niet.

Een andere mogelijkheid om een selectie te maken is door met de rechtermuisknop een laag te selecteren en vervolgens in het snelmenu \emph{Query ...} te kiezen. Hiermee worden alleen die objecten die voldoen aan de gemaakte zoekopdracht getoond in het kaartbeeld. Objecten die niet voldoen aan de zoekopdracht worden niet getoont. Dit is dezelfde functie die achter de knop \textbf{{[}Query bouwer{]}} zit die je kunt vinden in het tabblad \emph{Algemeen} van de Dialoog \emph{Laag Eigenschappen}. Deze werkt voor alle door QGIS ondersteunde vectorformaten.


\subsection{Opslaan van geselecteerde objecten als een nieuwe laag}
\label{docs/user_manual/working_with_vector/query_builder:save-selected-features-as-new-layer}
De geselecteerde objecten kunnen opgeslagen worden in elk door de OGR driver ondersteund vectorformaat en ook getransformeerd naar een ander Coördinaten Referentie Systeem (CRS) indien gewenst. Met de rechtermuis open het snelmenu van de laag en selecteer daarin \emph{Selectie opslaan als ... \(\rightarrow\)} om een naam, een vectorformaat en een CRS te kiezen (zie {\hyperref[docs/user_manual/introduction/qgis_gui:label-legend]{\emph{Legenda}}}). Het is ook mogelijk om OGR creatie opties mee te geven via de dialoog.

\index{Field\_Calculator}\index{Calculator\_Field}\index{Derived\_Fields}

\section{Veld berekening}
\label{docs/user_manual/working_with_vector/field_calculator:vector-field-calculator}\label{docs/user_manual/working_with_vector/field_calculator:field-calculator}\label{docs/user_manual/working_with_vector/field_calculator:index-0}\label{docs/user_manual/working_with_vector/field_calculator::doc}
De knop \includegraphics[width=1.5em]{mActionCalculateField.png} $^{\text{Veld berekening}}$ in de attributen tabel geeft de mogelijkheid om berekeningen uit te voeren van bestaanden attribuutwaarden of gedefinieerde functies, bijvoorbeeld om de lengte of oppervlakte van de geometrie. Het resultaat kan in een nieuw attribuutveld worden vastgelegd, of het kan gebruikt worden om de waarden in een bestaand attribuutveld bij te werken.

De vectorlaag moet eerst in de modus bewerken staan voordat het icoon veld berekening geactiveerd is zodat je deze kunt selecteren (zie .figure\_attributes\_3\_). In de dialoog kun je aangeven of je alleen geselecteerde objecten wilt bijwerken, of dat een nieuw attribuutveld moet worden aangemaakt waarin de resultaten van de berekening zullen worden toegevoegd of de berekening gebruikt zal worden om de inhoud van een bestaand attribuutveld te vernieuwen.
\phantomsection\label{docs/user_manual/working_with_vector/field_calculator:figure-attributes-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{fieldcalculator.png}
\caption{Field Calculator \includegraphics[width=1em]{nix.png}}\end{figure}

Wanneer je ervoor kiest een nieuw veld toe te voegen, dient een veldnaam, een veldtype (geheel getal, decimaal getal of tekst), de totale veldlengte en de precisie te worden gegeven (zie {\hyperref[docs/user_manual/working_with_vector/field_calculator:figure-attributes-3]{figure\_attributes\_3}}). Wanneer je bijvoorbeeld voor een veldlengte van 10 en een precisie van 3 kiest betekent dit dat je 6 tekens voor de punt, daarna de punt en daarachter nog 3 tekens voor de precisie.

De \textbf{Functielijst} bevat zowel functies, velden en waarden. Bekijk de help functie in de \textbf{Help Geselecteerde Functie} (indien aanwezig). In \textbf{Expressie} kun je de expressie van de berekening die je aan het opbouwen bent met behulp van de \textbf{Functielijst}. Voor de meest gebruikte operatoren zie \textbf{Operatoren}.

In de \textbf{Functielijst}, klik op \emph{Velden en Waarden} om alle attribuutvelden van de geselecteerde tabel te doorzoeken. Dubbelklik op een attribuutveld om deze toe te voegen aan de \textbf{expressie} invoertekst. Om een expressie op te bouwen kun je ook rechtsstreeks invoeren van het invoertekstvak van expressie. Gebruik de rechtermuisknop om de waarden van een attribuutveld te tonen, je kunt dan kiezen tussen \emph{Laad top 10 unieke waarden} en \emph{laad alle unieke waarden}. Aan de rechterkant opent vervolgens de lijst van unieke veldwaarden. Om een waarde aan het tekstvak \textbf{Expressie} toe te voegen, dubbelklik op de naam in de lijst van \textbf{Veldwaarden}.

De groepen \emph{Operatoren}, \emph{Berekening}, \emph{Conversies}, \emph{String}, \emph{Geometrie} en \emph{Record} bieden verschillende functies. In \emph{Operatoren} vind je een aantal eenvoudige wiskundige functies. Onder \emph{Berekening} vind je meer (geometrische) wiskundige functies. Onder \emph{Conversies} bevat functies om een datatype om te zetten naar een ander datatype. Onder de \emph{String} vind je tekst functies. Onder de \emph{Record} groep vind je functie om een veld toe te voegen die een opeenvolgende unieke nummering bevat. Om een functie toe te voegen aan het \textbf{Expressie} tekstvak dubbelklikt men de functie.

Een kort voorbeeld illustreert het gebruik van veld berekening. We will de lengte van de \code{railroads} laag van de QGIS sample dataset berekenen:
\begin{enumerate}
\item {} 
Laad de shapefile \code{railroads.shp} in QGIS en selecteer \includegraphics[width=1.5em]{mActionOpenTable.png} $^{\text{Open Attribuut Tabel}}$.

\item {} 
Klik op \includegraphics[width=1.5em]{mActionToggleEditing.png} $^{\text{Bewerken aan/uitzetten}}$ en open de dialoog \emph{Veld berekening} met \includegraphics[width=1.5em]{mActionCalculateField.png} $^{\text{Veld berekening}}$.

\item {} 
Selecteer het aanvinkvak \includegraphics{checkbox.png} \emph{Create a new field{}`Nieuw veld aanmaken} om berekeningen op te slaan in het nieuwe veld.

\item {} 
Voeg \code{lengte} toe als resultaatveld, selecteer \code{Decimaal getal (real)} als veldtype en geef een veldlengte op van 10 en een precisie van 3.

\item {} 
Klik nu op de functie \code{\$length} in de \emph{Geometry} groep om deze toe te voegen als \code{\$length} in de veld berekenings expressie tekstinvoer gedeelte en druk op \textbf{{[}OK{]}}.

\item {} 
Je kunt nu de nieuwe kolom \code{lengte} in de attributen tabel terugvinden.

\end{enumerate}

De beschikbare functies worden hieronder gegeven.

\index{Field\_Calculator\_Functions}
\begin{Verbatim}[commandchars=\\\{\}]
column name "column name"            value of the field column name
'string'                             a string value
NULL                                 null value
a IS NULL                            a has no value
a IS NOT NULL                        a has a value
a IN (value[,value])                 a is below the values listed
a NOT IN (value[,value])             a is not below the values listed
a OR b                               a or *b* is true
a AND b                              a and *b* is true
NOT a                                inverted truth value of a
sqrt(a)                              square root of a
sin(a)                               sinus of a
cos(a)                               cosinus of b
tan(a)                               tangens of a
asin(a)                              arcussinus of a
acos(a)                              arcuscosinus of a
atan(a)                              arcustangens of a
to int(a)                            convert string a to integer
to real(a)                           convert string a to real
to string(a)                         convert number a to string
lower(a)                             convert string a to lower case
upper(a)                             convert string a to upper case
length(a)                            length of string a
atan2(y,x)                           arcustangens of y/x using the signs of the two
                                     arguments to determine the quadrant of the result
replace(*a*, replacethis, withthat)  replace this with that in string a
regexp\_replace(a,this,that)          replace the regular expression this with that
substr(*a*,from,len)                 len characters of string *a* starting from from
                                     (first character index is 1)
a \textbar{}\textbar{} b                               concatenate strings a and b
\$rownum                              number current row
\$area                                area of polygon
\$perimeter                           perimeter of polygon
\$length                              length of line
\$id                                  feature id
\$x                                   x coordinate of point
\$y                                   y coordinate of point
xat(n)                               X coordinate of the point of an n-th line (indeces
                                     start at 0; negative values refer to the line end)
yat(n)                               y coordinate of the point of an n-th line (indeces
                                     start at 0; negative values refer to the line end)
a = b                                a and b are equal
a != b and a \textless{}\textgreater{} b                    a and b are not equal
a \textgreater{}= b                               a is larger than or equal to b
a \textless{}= b                               a is less than or equal to b
a \textgreater{} b                                a is larger than b
a \textless{} b                                a is smaller than b
a \textasciitilde{} b                                a matches the regular expression b
a LIKE b                             a equals b
a ILIKE b                            a equals b (without regard to case-sensitive)
a \textbar{}wedge\textbar{} b                          a raised to the power of b
a * b                                a multiplied by b
a / b                                a divided by b
a + b                                a plus b
a - b                                a minus b
+ a                                  positive sign
- a                                  negative value of a
\end{Verbatim}

De \textbf{Functielijst} van Veldberekening met de \textbf{Help Geselecteerde Functie}, \textbf{Operatoren} en \textbf{Expressie} zijn ook beschikbaar vanuit het tabblad Stijl van de Laag Eigenschappen en de Expressie Gebaseerde Labels via de \includegraphics{browsebutton.png} in de \includegraphics[width=1.5em]{mActionLabeling.png} $^{\text{Labels}}$ van de standaard applicatie gebruikmakend van de nieuwe symbologie.


\chapter{Werken met Raster data}
\label{docs/user_manual/working_with_raster/index:working-with-raster-data}\label{docs/user_manual/working_with_raster/index::doc}\label{docs/user_manual/working_with_raster/index:working-with-raster}
\index{Raster}
\index{Arc/Info\_Binary\_Grid}\index{Arc/Info\_ASCII\_Grid}\index{GeoTIFF}
\index{Erdas Imagine}

\section{Werken met Raster Data}
\label{docs/user_manual/working_with_raster/supported_data:working-with-raster-data}\label{docs/user_manual/working_with_raster/supported_data::doc}\label{docs/user_manual/working_with_raster/supported_data:index-2}
Dit hoofdstuk beschrijft hoe je raster kaartlagen kunt visualiseren en de eigenschappen ervan kunt veranderen. QGIS gebruikt de \index{GDAL}GDAL functiebibliotheek om raster data te lezen en weg te schrijven,zoals Arc/Info Binary Grid, Arc/Info ASCII Grid, GeoTIFF, Erdas Imagine en vele andere. GRASS raster ondersteuning wordt geleverd door een aparte QGIS data plugin. De raster data kunnen ook als `alleen lezen' in QGIS worden geladen vanuit zip en gzip archiefbestanden.

Op het moment van schrijven worden meer dan 100 raster formaten ondersteund door de GDAL bibliotheek (zie GDAL-SOFTWARE-SUITE {\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}}). Een volledige lijst is beschikbaar op \href{http://www.gdal.org/formats\_list.html}{http://www.gdal.org/formats\_list.html}.

\begin{notice}{note}{Notitie:}
\textbf{NB} Niet alle formaten uit de lijst werken ook gegarandeerd in QGIS, om verschillende redenen. Sommige formaten vereisen bijvoorbeeld externe commerciële bibliotheken; het kan ook zijn dat of de GDAL installatie van het besturingssysteem het formaat dat je wil gebruiken niet ondersteunt. Alleen de uitgebreid geteste formaten verschijnen in de lijst met bestandsformaten wanneer je een raster in QGIS wil laden. Andere, niet geteste rasterformaten kunnen worden geladen met het \code{GDAL {[}Alle bestanden{]}} filter.
\end{notice}

Werken met GRASS raster data wordt beschreven in hoofdstuk {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-grass]{\emph{GRASS GIS Integration}}}.


\subsection{Wat zijn raster data?}
\label{docs/user_manual/working_with_raster/supported_data:what-is-raster-data}
Raster data in GIS bestaan uit cellen die gerangschikt zijn in rijen en kolommen en die objecten op, boven of onder het aardoppervlak representeren. Alle cellen in het raster hebben dezelfde grootte en de cellen zijn meestal rechthoekig (in QGIS zijn ze altijd rechthoekig). Typische voorbeelden van raster datasets zijn Remote Sensing data zoals luchtfoto's, satellietbeelden en gemodelleerde gegevens zoals een hoogtemodel.

Anders dan bij vector data is een cel in een rasterbestand niet gekoppeld aan een achterliggende tabel met attributen. De geografie van een raster dataset wordt vastgelegd door een pixel resolutie en de X en Y coördinaat van één van de hoekpunten van de kaartlaag.Deze eigenschappen zorgen ervoor dat QGIS het raster correct op de kaart kan positioneren.

Om de rasterdata correct af te beelden maakt QGIS gebruik van georeferentie informatie in het rasterbestand zelf (bijvoorbeeld \index{GeoTiff}GeoTiff) of in een bijbehorende `world file'.

\index{loading\_raster}

\subsection{Raster data laden in QGIS}
\label{docs/user_manual/working_with_raster/supported_data:index-5}\label{docs/user_manual/working_with_raster/supported_data:load-raster}\label{docs/user_manual/working_with_raster/supported_data:loading-raster-data-in-qgis}
Raster kaartlagen worden aan de kaart toegevoegd met  de \includegraphics[width=1.5em]{mActionAddRasterLayer.png} $^{\text{Rasterlaag Toevoegen}}$ knop of via het menu: \emph{Kaartlaag \(\rightarrow\)} \includegraphics[width=1.5em]{mActionAddRasterLayer.png} \emph{Rasterlaag toevoegen}. Door ingedrukt houden van de \code{Control} of \code{Shift} toets en aanklikken van meerdere bestanden in het dialoogscherm \emph{Open een GDAL ondersteunde Raster Databron} kunnen meerdere kaartlagen tegelijk worden toegevoegd.

Als een raster kaartlaag in de kaart is geladen kun je rechts klikken op de laagnaam het dialoogscherm met laageigenschappen opvragen, of een kaartlaag-specifieke actie uitvoeren (bijvoorbeeld: naar de kaartlaag zoomen, verwijderen of hernoemen).

\textbf{Rechter muisknop menu voor raster kaartlagen}
\begin{itemize}
\item {} 
\emph{Zoom naar laagextent}

\item {} 
\emph{Zoom naar beste schaal (100\%)}

\item {} 
\emph{Toon in Overzichtskaart}

\item {} 
\emph{Verwijder}

\item {} 
\emph{Instellen laag- CRS}

\item {} 
\emph{Project CRS van laag overnemen}

\item {} 
\emph{Eigenschappen}

\item {} 
\emph{Hernoem}

\item {} 
\emph{Kopiëer Stijl}

\item {} 
\emph{Nieuwe Groep toevoegen}

\item {} 
\emph{Alles uitklappen}

\item {} 
\emph{Alles inklappen}

\item {} 
\emph{Vernieuw volgorde tekenen}

\end{itemize}


\section{Raster Eigenschappen Dialoog}
\label{docs/user_manual/working_with_raster/raster_properties:raster-properties-dialog}\label{docs/user_manual/working_with_raster/raster_properties::doc}
Om de eigenschappen van een rasterlaag te bekijken en in te stellen, dubbelklik op de naam van een rasterlaag in de legenda of selecteer de laag en gebruik de rechtermuisknop en kies \emph{Eigenschappen} van het snelmenu:

Dit zal de dialoog \emph{Raster Laag Eigenschappen} openen (zie {\hyperref[docs/user_manual/working_with_raster/raster_properties:figure-raster-1]{figure\_raster\_1}}).

De dialoog bevat verschillende tabbladen:
\begin{itemize}
\item {} 
\emph{Stijl}

\item {} 
\emph{Transparantie}

\item {} 
\emph{Kleurenkaart}

\item {} 
\emph{Algemeen}

\item {} 
\emph{Metadata}

\item {} 
\emph{Pyramiden}

\item {} 
\emph{Histogram}

\end{itemize}
\phantomsection\label{docs/user_manual/working_with_raster/raster_properties:figure-raster-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{rasterPropertiesDialog.png}
\caption{Raster Layers Properties Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Symbology}\index{Single\_Band\_Raster}\index{Three\_Band\_Color\_Raster}\index{Multi\_Band\_Raster}

\subsection{Tabblad Stijl}
\label{docs/user_manual/working_with_raster/raster_properties:index-0}\label{docs/user_manual/working_with_raster/raster_properties:style-tab}\label{docs/user_manual/working_with_raster/raster_properties:label-symbology}
QGIS kan rasterlagen op twee verschillende manieren renderen (tekenen):
\begin{enumerate}
\item {} 
Enkelbands - ¨één band van de afbeelding zal in grijswaarden, pseudocolor of freak out worden getekend.

\item {} 
Driebands kleur - drie banden van de afbeelding zullen worden getekend waarbij elke band staat voor de rode, groene of blauwe component die worden gebruikt om een kleurenafbeelding op te bouwen.

\end{enumerate}

Voor beide soorten rendering kan het kleurenpalet geïnverteerd (=omgedraaid) worden door het aanvinkvak .\textbar{}checkbox\textbar{} \emph{Inverteer kleurenpalet} te activeren.

\textbf{Enkelbands Renderen}

Deze selectie geeft je twee mogelijkheden om uit te kiezen. Als eerste kun je de band kiezen die je wilt gebruiken voor het renderen (indien de dataset meer dan één band heeft).

De tweede optie geeft een selectie van beschikbare kleurentabellen om mee te renderen.

De volgende instellingen zijn beschikbaar via de uitklaplijst \emph{Kleurenpalet} \includegraphics{selectstring.png}

\index{Pseudocolor}\index{Freak\_out}\index{Grayscale}\begin{itemize}
\item {} 
Grijstinten (standaard)

\item {} 
Pseudocolor

\item {} 
Freak Out

\item {} 
Kleurenkaart

\end{itemize}

Wanneer de `Kleurenkaart' wordt gekozen van de keuzelijst \emph{Kleurenpalet} \includegraphics{selectstring.png}, dan wordt ook het tabblad \emph{Kleurenkaart} actief. Voor meer informatie zie {\hyperref[docs/user_manual/working_with_raster/raster_properties:label-colormaptab]{\emph{Kleurenkaart}}}.

QGIS kan de getoonde data van een rasterlaag beperken tot alleen het tonen van die pixels waarvan de waarden binnen een gegeven standaard deviatie van het gemiddelde van de laag liggen.

Dit is handig wanneer één of twee cellen abnormaal hoge waarden bevatten in een rastergrid die een negatieve impact heeft op het renderen van het raster. Deze optie is alleen beschikbaar voor pseudocolor en freak out afbeeldingen.

\textbf{Driebands kleur}

Deze selectie geeft een groot aantal opties waarmee de weergave van de rasterlaag gewijzigd kan worden. Je kunt bijvoorbeeld de kleurenband van de standaard RGB-volgorde naar iets anders wijzigen.

Ook is het schalen van kleuren mogelijk.

\begin{notice}{tip}{Tip:}
\textbf{Het tonen van een enkelbands of meerbands Raster}

Wanneer je een enkele band raster wilt tonen (bijvoorbeeld de Rode) van een multibands afbeelding, zou je denken dat je de Groene en Blauwe band uitschakeld. Maar dit is niet de goede manier. Om de Rode band te tonen, zet het imagetype naar grijstinten en selecteer Rood als de te gebruiken band voor Grijstinten.
\end{notice}

\index{Contrast\_enhancement}
\textbf{Contrastverhoging}

\begin{notice}{note}{Notitie:}
Wanneer een GRASS raster wordt toegevoegd, zal de optie \emph{Contrastverhoging} altijd op automatisch gezet worden op \emph{stretch to min max} ook al is er gekozen onder de QGIS algemene instellingen gekozen voor een andere waarde.
\end{notice}

\index{Transparency}

\subsection{Tabblad Transparantie}
\label{docs/user_manual/working_with_raster/raster_properties:transparency-tab}\label{docs/user_manual/working_with_raster/raster_properties:index-3}
QGIS heeft de mogelijkheid om elke rasterlaag to tonen met verschillende transparantie percentages. Gebruik de transparantie schuifschaal om aan te geven in welke mate de onderliggende lagen zichtbaar worden onder de huidige rasterlaag. Dit komt goed van pas om verschillende rasterlagen over elkaar heen te leggen, bijvoorbeeld een schaduwrijke reliëfkaart met een geklassificeerde rasterkaart. Dat zal er voor zorgen dat de kaart er meer driedimensionaal uitziet.

Daarnaast kun je aangeven welke rasterwaarde als \code{geen data} behandeld moet worden. Dit kan handmatig ingegeven worden of via het icoon \includegraphics[width=1.5em]{mActionContextHelp.png} $^{\text{Waarden gebruiken uit de kaart}}$.

En nog flexibelere manier om de transparantie te regelen kan gedaan worden via \emph{Aangepaste transparantie opties}. De transparantie voor elke pixelwaarde kan hier worden ingesteld.

Als voorbeeld willen we de transparantie van het water van het voorbeeld rasterbestand \code{landcover.tif} instellen op 20\%. Daarvoor zijn de volgende stappen nodig:
\begin{enumerate}
\item {} 
Laad het rasterbestand \code{landcover}.

\item {} 
Open de dialoog \emph{Eigenschappen} door te dubbelklikken op de rasterlaag in de legenda of via het snelmenu die via de rechtermuisknop in de legenda geopend wordt voor geselecteerde rasterlaag en te kiezen voor \emph{Eigenschappen}.

\item {} 
Selecteer het tabblad \emph{Transparantie}

\item {} 
Klik op de knop \includegraphics[width=1.5em]{mActionNewAttribute.png} $^{\text{Voeg handmatig waarden toe}}$. En nieuwe regel zal worden toegevoegd aan de Transparantie pixellijst.

\item {} 
Geef de raster waarde (we gebruiken hier 0) en pas daarvan de transparatie aan naar 20 \%.

\item {} 
Druk op de knop \textbf{{[}Apply{]}} en controleer het resultaat van de kaart.

\end{enumerate}

Stappen 4 en 5 kunnen herhaald worden om meer waarden toe te voegen met een aangepaste transparantie.

Het is eenvoudig om een aangepaste transparantie op te zetten, maar dit is aardig wat werk. De knop \includegraphics[width=1.5em]{mActionFileSave.png} $^{\text{Naar bestand exporteren}}$ geeft dan ook de mogelijkheid om de Transparantie pixellijst op te slaan naar bestand. Met de knop \includegraphics[width=1.5em]{mActionFolder.png} $^{\text{van bestand importeren}}$ kun de transparantie lijst weer laden en wordt deze toegepast op de huidige rasterlaag.


\subsection{Kleurenkaart}
\label{docs/user_manual/working_with_raster/raster_properties:label-colormaptab}\label{docs/user_manual/working_with_raster/raster_properties:colormap}
\index{Kleurenkaart}
Het tabblad \emph{Kleurenkaart} is alleen beschikbaar wanneer je hebt gekozen het raster als enkelbands te renderen binnen het tabblad \emph{Stijl} (zie {\hyperref[docs/user_manual/working_with_raster/raster_properties:label-symbology]{\emph{Tabblad Stijl}}}).

\index{Color\_interpolation}\index{Discreet}
Er zijn drie manieren van kleurinterpolatie mogelijk:
\begin{enumerate}
\item {} 
Discreet

\item {} 
Lineair

\item {} 
Exact

\end{enumerate}

De knop \textbf{{[}Item toevoegen{]}} voegt een kleur toe aan een kleurentabel. De knop \textbf{{[}Item verwijderen{]}} verwijderd een kleur van een kleurentabel en de knop \textbf{{[}Sorteren{]}} sorteert de kleurentabel op basis van de pixelwaarde gegeven in de kolom \code{Waarde}. Door te dubbelklikken op de kolom \code{Waarde} kun je ook een specifieke waarde toevoegen. Door te dubbelklikken op de kolom \code{Kleur} opent de dialoog \emph{Select Color} waarin je een kleur kunt kiezen die van toepassing is op gegeven waarde.. Daarnaast kun je ook elke kleur een Label geven maar deze waarde zal niet getoond worden wanneer de tool Objecten Identificeren wordt gebruikt.

De knop \includegraphics[width=1.5em]{mActionNewAttribute.png} $^{\text{Laad kleurenpalet van band}}$ , zal proberen om de kleurentabel van de rasterkaart te laden (wanneer die een band heeft). Je kunt de knoppen \includegraphics[width=1.5em]{mActionFileSave.png} $^{\text{Exporteer kleurenpalet naar bestand}}$ en \includegraphics[width=1.5em]{mActionFileOpen.png} $^{\text{Laad kleurenpalet van bestand}}$ gebruiken om een kleurentabel te exporteren en weer in te laden.

Via het menuonderdeel \emph{Genereer nieuw kleurenpalet} kun je een nieuwe gecategoriseerde kleurtabel aanmaken. Je hoeft alleen het veld \emph{aantal entries} \includegraphics{selectnumber.png} in te vullen, druk daarna op de knop \emph{Classificeren}. Momenteel is er slecht een keuzemogelijkheid voor het keuzeveld \emph{Classificatie modus} - \emph{gelijk interval}


\subsection{Tabblad Algemeen}
\label{docs/user_manual/working_with_raster/raster_properties:general-tab}\label{docs/user_manual/working_with_raster/raster_properties:label-generaltab}
Het tabblad \emph{Algemeen} toont informatie over de geselecteerde rasterlaag, waaronder de bron en de naam waarmee deze in de legenda wordt weergegeven (wat kan worden aangepast). Dit tabblad toont ook een `thumbnail', een kleine afbeelding van de laag, het gebruikte legenda symbool en het kleurenpalet.

Daarnaast kunnen schaalafhankelijke zichtbaarheden worden ingesteld in dit tabblad. Vink daarvoor het aanvinkvak \emph{schaalafhankelijke zichtbaarheid} aan en stel het bereik van de schalen waarvoor de data getoond moet worden op de kaart.

Ook het Coordinaten Referentie Systeem (CRS) wordt hier weergegeven als een PROJ.4-tekst. Deze kan worden aangepast via de knop \textbf{{[}Opgeven...{]}}.

\index{Metadata}

\subsection{Tabblad Metadata}
\label{docs/user_manual/working_with_raster/raster_properties:metadata-tab}\label{docs/user_manual/working_with_raster/raster_properties:index-6}
Het tabblad \emph{Metadata} toont veel informatie over de rasterlaag, inclusief statistieken over elke band in de huidige rasterlaag. Statistieken worden verzameld wanneer nodig, het is dus best mogelijk dat voor een gegeven laag de statistieken nog niet zijn verzameld of inmiddels verouderd zijn.

Dit tabblad is hoofdzakelijk ter informatie. Je kunt geen gegevens wijzigen binnen dit tabblad.

\index{Pyramids}

\subsection{Tabblad Pyramiden}
\label{docs/user_manual/working_with_raster/raster_properties:pyramids-tab}\label{docs/user_manual/working_with_raster/raster_properties:index-7}
Rasterlagen met een hoge resolutie, kunnen het navigeren binnen QGIS langzaam maken. Door het aanmaken van lagere resolutie kopiëen (pyramiden), kan de performance van QGIS aanzienlijk worden verbeterd aangezien QGIS de kopie met de meest geschikte resolutie selecteerd voor elk zoom niveau.

Je moet schrijfrechten hebben op de folder waarin de originel rasterdata is opgeslagen om pyramiden te bouwen.

Verschilldende resampling methoden kunnen worden gebruikt om pyramiden te berekenen:
\begin{itemize}
\item {} 
Gemiddelde

\item {} 
Nearest Neighbour

\end{itemize}

Wanneer het aanvinkvak \includegraphics{checkbox.png} \emph{Interne pyramiden aanmaken indien mogelijk} is geactiveerd zal QGIS de pyramiden intern in de rasterdata zelf op te slaan.

Merk op dat het bouwen van pyramiden de originele databestanden kan veranderen en dat interne aangemaakt pyramiden niet meer verwijderd kunnen worden. Het is dan ook altijd verstandig om van het origineel (zonder pyramiden) eerst een kopie te maken en te bewaren.


\subsection{Tabblad Histogram}
\label{docs/user_manual/working_with_raster/raster_properties:label-histogram}\label{docs/user_manual/working_with_raster/raster_properties:histogram-tab}
\index{Histogram}
Het tabblad \emph{Histogram} toont de verdeling van de banden of kleuren in de rasterlaag. Deze grafieken worden automatisch aangemaakt wanneer het tabblad \emph{Histogram}. Alle bestaande banden worden gezamelijk getoond. Van het histogram kan een afbeelding worden opgeslagen met de knop mActionFileSave\textbar{}.


\section{Rasterberekeningen}
\label{docs/user_manual/working_with_raster/raster_calculator:sec-raster-calc}\label{docs/user_manual/working_with_raster/raster_calculator:raster-calculator}\label{docs/user_manual/working_with_raster/raster_calculator::doc}
\index{Raster\_Calculator}
\emph{Rasterberekeningen}, welke men kan vinden in het menu \emph{Raster} (zie {\hyperref[docs/user_manual/working_with_raster/raster_calculator:figure-raster-2]{figure\_raster\_2}}).is een menu waarmee berekeningen kan uitvoren met bestaande raster pixel waarden. De resultaten kan men opslaan in een nieuw raster in een formaat dat wordt ondersteund door GDAL.
\phantomsection\label{docs/user_manual/working_with_raster/raster_calculator:figure-raster-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{raster_calculator.png}
\caption{Raster Calculator \includegraphics[width=1em]{nix.png}}\end{figure}

De lijst \textbf{Raster banden} bevat all geladen rasterlagen die kunnen worden gebruikt. Dubbelklik op de rasterlaag in de lijst om een raster toe te voegen aan het tekstvak Rasterberekeningen Expressie. Je kunt vervolgens de operatoren gebruiken om een berekening expressie op te bouwen of je kunt deze rechtsstreeks typen in het tekstvak.

In het deel \textbf{Resultaatlaag} kun je instellingen geven voor de resulterende rasterlaag. Je kunt voor de grootte van het te berekenen gebied een rasterlaag of X,Y coördinaten en Rijen en Kolommen gebruiken om de resolutie te bepalen voor de te schrijven laag. Wanneer de te verwerken laag een andere resolutie heeft, dan zullen de waarden worden bepaald met het `Nearest neigbor' Algoritme.

Het onderdeel \textbf{Operatoren} bevat alle operatoren die gebruikt kunnen worden. Dubbelklik op een operator om deze toe te voegen aan het tekstvak Rasterberekening expressie. Zowel wiskundige (\code{+}, \code{-}, \code{*}, ... ) als trigonometrische functies (\code{sin}, \code{cos}, \code{tan}, ... ) zijn beschikbaar.

Door het aanvinkvak \includegraphics{checkbox.png} :guilabel:{\color{red}\bfseries{}{}`}Voeg resultaat toe aan project' zal de resultaatlaag automatisch worden toegevoegd aan de legenda en kan deze zichtbaar worden gemaakt.


\subsection{Voorbeelden}
\label{docs/user_manual/working_with_raster/raster_calculator:examples}
\textbf{Omzetten hoogtewaarden van meter naar voet}

Voor het omzetten van een hoogteraster van meters naar voet kun je de omrekeningsfaktor 3.28 gebruiken. De expressie is:

\begin{Verbatim}[commandchars=\\\{\}]
elevation@1 * 3.28
\end{Verbatim}

\textbf{Een uitknipmasker gebruiken}

Wanneer van een hoogte rasterkaart, dat deel wilt uitknippen dat boven 0 meter hoogte ligt, kunt je de volgende expressie gebruiken om in één keer een uitknipmasker te maken en het resultaat te schrijven naar een nieuwe rasterkaart.

\begin{Verbatim}[commandchars=\\\{\}]
(elevation@1 \textgreater{}= 0) * elevation@1
\end{Verbatim}

Voor elke pixel met een waarde groter of gelijk aan 0, wordt de waarde 1 anders 0. Daarmee maak je een uitknipmasker.


\chapter{Werken met OGC Data}
\label{docs/user_manual/working_with_ogc/index:working-with-ogc-data}\label{docs/user_manual/working_with_ogc/index:sec-ogc}\label{docs/user_manual/working_with_ogc/index::doc}

\section{Working with OGC Data}
\label{docs/user_manual/working_with_ogc/ogc_client_support:working-with-ogc}\label{docs/user_manual/working_with_ogc/ogc_client_support::doc}\label{docs/user_manual/working_with_ogc/ogc_client_support:working-with-ogc-data}
QGIS supports WMS and WFS as data sources.


\subsection{What is OGC Data}
\label{docs/user_manual/working_with_ogc/ogc_client_support:what-is-ogc-data}
\index{Open\_Geospatial\_Consortium}\index{OGC}
The Open Geospatial Consortium (OGC), is an international organization with more
than 300 commercial, governmental, nonprofit and research organizations worldwide.
Its members develop and implement standards for geospatial content and services,
GIS data processing and exchange.

Describing a basic data model for geographic features an increasing number
of specifications are developed to serve specific needs for interoperable
location and geospatial technology, including GIS. Further information
can be found under \href{http://www.opengeospatial.org/}{http://www.opengeospatial.org/}.

\index{WMS}\index{WFS}\index{WCS}\index{CAT}\index{SFS}\index{GML}
Important OGC specifications are:
\begin{itemize}
\item {} 
\textbf{WMS} --- Web Map Service

\item {} 
\textbf{WFS} --- Web Feature Service

\item {} 
\textbf{WCS} --- Web Coverage Service

\item {} 
\textbf{CAT} --- Web Catalog Service

\item {} 
\textbf{SFS} --- Simple Features for SQL

\item {} 
\textbf{GML} --- Geography Markup Language

\end{itemize}

OGC services are increasingly being used to exchange geospatial data between
different GIS implementations and data stores. QGIS can now deal with three of
the above specifications, being SFS (through support of the PostgreSQL / PostGIS
data provider, see Section {\hyperref[docs/user_manual/working_with_vector/supported_data:label-postgis]{\emph{PostGIS kaartlagen}}}), WFS and WMS as a client.


\subsection{WMS Client}
\label{docs/user_manual/working_with_ogc/ogc_client_support:wms-client}\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms}
\index{WMS\_client}

\subsubsection{Overview of WMS Support}
\label{docs/user_manual/working_with_ogc/ogc_client_support:overview-of-wms-support}\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-about}\label{docs/user_manual/working_with_ogc/ogc_client_support:index-2}
QGIS currently can act as a WMS client that understands WMS 1.1, 1.1.1
and 1.3 servers. It has particularly been tested against publicly accessible
servers such as DEMIS.

WMS servers act upon requests by the client (e.g. QGIS) for a raster map
with a given extent, set of layers, symbolization style, and transparency.
The WMS server then consults its local data sources, rasterizes the map,
and sends it back to the client in a raster format. For QGIS this would
typically be JPEG or PNG.

WMS is generically a REST (Representational State Transfer) service rather
than a fully-blown Web Service. As such, you can actually take the URLs
generated by QGIS and use them in a web browser to retrieve the same images
that QGIS uses internally. This can be useful for troubleshooting, as there
are several brands of WMS servers in the market and they all have their
own interpretation of the WMS standard.

WMS layers can be added quite simply, as long as you know the URL to access
the WMS server, you have a serviceable connection to that server, and the
server understands HTTP as the data transport mechanism.


\subsubsection{Selecting WMS Servers}
\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-servers}\label{docs/user_manual/working_with_ogc/ogc_client_support:selecting-wms-servers}
The first time you use the WMS feature, there are no servers defined.

Begin by clicking the \includegraphics[width=1.5em]{mActionAddWmsLayer.png} $^{\text{Add WMS layer}}$ button inside the
toolbar, or through the \emph{Layer \(\rightarrow\) Add WMS Layer...} menu.

The dialog \emph{Add Layer(s) from a Server} for adding layers from
the WMS server appears. You can add some servers to play with by clicking the
\textbf{{[}Add default servers{]}} button. This will add two WMS demo servers for you to
use, the WMS servers of the DM Solutions Group and Lizardtech. To define a new
WMS server in the tab \emph{Layers}, select the \textbf{{[}New{]}} button. Then enter
the parameters to connect to your desired WMS server, as listed in {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:table-ogc-1]{table\_OGC\_1}}:
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_client_support:table-ogc-1}
\begin{tabulary}{\linewidth}{|L|L|}
\hline

Name
 & 
A name for this connection.  This name will be used in the
Server Connections drop-down box so that you can distinguish
it from other WMS Servers.
\\

URL
 & 
URL of the server providing the data. This must be a resolvable
host name; the same format as you would use to open a telnet
connection or ping a host.
\\

Username
 & 
Username to access a secured WMS-server.  This parameter is
optional.
\\

Password
 & 
Password for a basic authenticated WMS-server. This parameter
is optional.
\\

Ignore GetMap URI
 & 
\includegraphics{checkbox.png}
\emph{Ignore GetMap URI reported in capabilities}, use
given URI from URL-field above.
\\

Ignore GetFeatureInfo URI
 & 
\includegraphics{checkbox.png}
\emph{Ignore GetFeatureInfo URI reported in capabilities}
, use given URI from URL-field above
\\
\hline\end{tabulary}


Table OGC 1: WMS Connection Parameters

\index{Proxy}\index{proxy-server}
If you need to set up a proxy-server to be able to receive WMS-services from the
internet, you can add your proxy-server in the options. Choose menu
\emph{Settings \(\rightarrow\) Options} and click on the tab \emph{Network \& Proxy}.
There you can add your proxy-settings and enable them by setting the \includegraphics{checkbox.png}
\emph{Use proxy for web access}. Make sure that you select the correct
proxy type from the \emph{Proxy type} \includegraphics{selectstring.png} dropdown menu.

Once the new WMS Server connection has been created, it will be preserved
for future QGIS sessions.

\begin{notice}{tip}{Tip:}
\textbf{On WMS Server URLs}

Be sure, when entering in the WMS server URL, that you have the base URL.
For example, you shouldn't have fragments such as \code{request=GetCapabilities}
or \code{version=1.0.0} in your URL.
\end{notice}


\subsubsection{Loading WMS Layers}
\label{docs/user_manual/working_with_ogc/ogc_client_support:loading-wms-layers}\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-layers}
Once you have successfully filled in your parameters you can select the
\textbf{{[}Connect{]}} button to retrieve the capabilities of the selected server. This
includes the Image encoding, Layers, Layer Styles and Projections. Since this is
a network operation, the speed of the response depends on the quality of your
network connection to the WMS server. While downloading data from the WMS server,
the download progress is visualized in the left bottom of the WMS dialog.

Your screen should now look a bit like {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:figure-ogr-1]{figure\_OGR\_1}}, which shows the response
provided by the DM Solutions Group WMS server.
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_client_support:figure-ogr-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{connection_wms.png}
\caption{Dialog for adding a WMS server, showing its available layers \includegraphics[width=1em]{nix.png}}\end{figure}

\textbf{Image Encoding}

The \emph{Image encoding} section now lists the formats that are supported
by both the client and server. Choose one depending on your image accuracy
requirements.

\begin{notice}{tip}{Tip:}
\textbf{Image Encoding}

You will typically find that a WMS server offers you the choice of JPEG
or PNG image encoding. JPEG is a lossy compression format, whereas PNG
faithfully reproduces the raw raster data.

Use JPEG if you expect the WMS data to be photographic in nature and/or
you don't mind some loss in picture quality. This trade-off typically
reduces by 5 times the data transfer requirement compared to PNG.

Use PNG if you want precise representations of the original data, and you
don't mind the increased data transfer requirements.
\end{notice}

\textbf{Options}

The Options field provides a text field where you can add a \emph{Layer name}
for the WMS-layer. This name will be presented in the legend after loading
the layer.

Below the layer name you can define \emph{Tile size}, if you want to set tile
sizes (eg. 256x256) to split up the WMS request into multiple requests.

The \emph{Feature limit for GetFeatureInfo} defines what features from
the server to query.

If you select a WMS from the list a field with the default projection, provided
by the mapserver, appears. If the \textbf{{[}Change...{]}} button is active, you can click
on it and change the default projection of the WMS to another CRS, provided by
the WMS server.

\textbf{Layer Order}

The tab \emph{Layer Order} lists the selected layers available from the
current connected WMS server. You may notice that some layers are expandable,
this means that the layer can be displayed in a choice of image styles.

You can select several layers at once, but only one image style per layer.
When several layers are selected, they will be combined at the WMS Server
and transmitted to QGIS in one go.

\begin{notice}{tip}{Tip:}
\textbf{WMS Layer Ordering}

WMS layers rendered by a server are overlaid in the order listed in the Layers
section, from top to bottom of the list. If you want to change the overlay
order, you can use the tab \emph{Layer Order}.
\end{notice}
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-transparency}
\textbf{Transparency}

In this version of QGIS, the \emph{Global transparency} setting from the
\emph{Layer Properties} is hard-coded to be always on, where available.

\index{WMS\_layer\_transparency}
\begin{notice}{tip}{Tip:}
\textbf{WMS Layer Transparency}

The availability of WMS image transparency depends on the image encoding
used: PNG and GIF support transparency, whilst JPEG leaves it unsupported.
\end{notice}

\textbf{Coordinate Reference System}

\index{Coordinate\_Reference\_System}\index{SRS}\index{CRS}
A Coordinate Reference System (CRS) is the OGC terminology for a QGIS Projection.

Each WMS Layer can be presented in multiple CRSs, depending on the capability of
the WMS server.

To choose a CRS, select \textbf{{[}Change...{]}} and a dialog similar to Figure Projection 3
in {\hyperref[docs/user_manual/working_with_projections/working_with_projections:label-projections]{\emph{Werken met Projecties}}} will appear. The main difference with the WMS version of
the screen is that only those CRSs supported by the WMS Server will be shown.


\subsubsection{Server-Search}
\label{docs/user_manual/working_with_ogc/ogc_client_support:server-search}\label{docs/user_manual/working_with_ogc/ogc_client_support:serversearch}
Within QGIS you can search for WMS-servers. {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:figure-ogc-2]{Figure\_OGC\_2}} shows the tab
\emph{Server Search} with the \emph{Add Layer(s) from a Server} dialog.
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_client_support:figure-ogc-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{wms_server_search.png}
\caption{Dialog for searching WMS servers after some keywords \includegraphics[width=1em]{nix.png}}\end{figure}

As you can see it is possible to enter a search-string in the text field and hit
the \textbf{{[}Search{]}} button. After a short while the search result will be populated
into the list below the text field. Browse the result list and inspect your search
results within the table. To visualize the results, select a table entry, press
the \textbf{{[}Add selected row to WMS-list{]}} button and change back to the tab
\emph{Layers}. QGIS automatically has updated your server list and the
selected search result is already enabled in the list of saved WMS-servers in
the \emph{Layers} tab. You only need to request the list of layers by clicking
the \textbf{{[}Connect{]}} button. This option is quite handy when you want to search maps
by specific keywords.

Basically this option is a frontend to the API of \href{http://geopole.org}{http://geopole.org}.


\subsubsection{Tilesets}
\label{docs/user_manual/working_with_ogc/ogc_client_support:id1}\label{docs/user_manual/working_with_ogc/ogc_client_support:tilesets}
\index{WMS\_tiles}\index{WMS-C}
When using WMS-C (Cached WMS) Services like \href{http://labs.metacarta.com/wms-c/Basic.py}{http://labs.metacarta.com/wms-c/Basic.py}
you are able to browse through the tab \emph{Tilesets} given by the server.
Additional information like tile size, formats and supported CRS are listed in
this table. In combination with this feature you can use the tile scale slider
from the \emph{View \(\rightarrow\) Tile scale slider}, which gives you the
available scales from the tileserver with nice slider docked in.


\subsubsection{Using the Identify Tool}
\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-identify}\label{docs/user_manual/working_with_ogc/ogc_client_support:using-the-identify-tool}
\index{WMS\_identify}
Once you have added a WMS server, and if any layer from a WMS server is queryable,
you can then use the \includegraphics[width=1.5em]{mActionIdentify.png} $^{\text{Identify}}$ tool to select a pixel on
the map canvas. A query is made to the WMS server for each selection made.
The results of the query are returned in plain text. The formatting of this text
is dependent on the particular WMS server used.
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-properties}
\textbf{Viewing Properties}

\index{WMS\_properties}
Once you have added a WMS server, you can view its properties by right-clicking
on it in the legend, and selecting \emph{Properties}.
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-properties-metadata}
\textbf{Metadata Tab}

\index{WMS\_metadata}
The tab \emph{Metadata} displays a wealth of information about the WMS
server, generally collected from the Capabilities statement returned from
that server. Many definitions can be cleaned by reading the WMS standards (see
OPEN-GEOSPATIAL-CONSORTIUM {\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}}), but here are a few handy
definitions:
\begin{itemize}
\item {} 
\textbf{Server Properties}
\begin{itemize}
\item {} 
\textbf{WMS Version} --- The WMS version supported by the server.

\item {} 
\textbf{Image Formats} --- The list of MIME-types the server can respond with
when drawing the map. QGIS supports whatever formats the underlying Qt
libraries were built with, which is typically at least \code{image/png} and
\code{image/jpeg}.

\item {} 
\textbf{Identity Formats} --- The list of MIME-types the server can respond
with when you use the Identify tool. Currently QGIS supports the
\code{text-plain} type.

\end{itemize}

\item {} 
\textbf{Layer Properties}
\begin{itemize}
\item {} 
\textbf{Selected} --- Whether or not this layer was selected when its server was
added to this project.

\item {} 
\textbf{Visible} --- Whether or not this layer is selected as visible in the
legend. (Not yet used in this version of QGIS.)

\item {} 
\textbf{Can Identify} --- Whether or not this layer will return any results
when the Identify tool is used on it.

\item {} 
\textbf{Can be Transparent} --- Whether or not this layer can be rendered with
transparency. This version of QGIS will always use transparency if this is
\code{Yes} and the image encoding supports transparency

\item {} 
\textbf{Can Zoom In} --- Whether or not this layer can be zoomed in by the server.
This version of QGIS assumes all WMS layers have this set to \code{Yes}.
Deficient layers may be rendered strangely.

\item {} 
\textbf{Cascade Count} --- WMS servers can act as a proxy to other WMS servers to
get the raster data for a layer. This entry shows how many times the request
for this layer is forwarded to peer WMS servers for a result.

\item {} 
\textbf{Fixed Width, Fixed Height} --- Whether or not this layer has fixed source
pixel dimensions. This version of QGIS assumes all WMS layers have this set
to nothing. Deficient layers may be rendered strangely.

\item {} 
\textbf{WGS 84 Bounding Box} --- The bounding box of the layer, in WGS 84
coordinates. Some WMS servers do not set this correctly (e.g. UTM coordinates
are used instead). If this is the case, then the initial view of this layer
may be rendered with a very `zoomed-out' appearance by QGIS. The WMS webmaster
should be informed of this error, which they may know as the WMS XML elements
\code{LatLonBoundingBox}, \code{EX\_GeographicBoundingBox} or the CRS:84 \code{BoundingBox}.

\item {} 
\textbf{Available in CRS} --- The projections that this layer can be rendered
in by the WMS server. These are listed in the WMS-native format.

\item {} 
\textbf{Available in style} --- The image styles that this layer can be rendered
in by the WMS server.

\end{itemize}

\end{itemize}


\subsubsection{WMS Client Limitations}
\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-limits}\label{docs/user_manual/working_with_ogc/ogc_client_support:wms-client-limitations}
Not all possible WMS Client functionality had been included in this version
of QGIS. Some of the more notable exceptions follow.

\textbf{Editing WMS Layer Settings}

Once you've completed the \includegraphics[width=1.5em]{mActionAddWmsLayer.png} $^{\text{Add WMS layer}}$ procedure,
there is no ability to change the settings. A workaround is to delete the layer
completely and start again.

\textbf{WMS Servers Requiring Authentication}

Currently public accessible and secured WMS-services are supported. The secured
WMS-servers can be accessed by public authentication. You can add the (optional)
credentials when you add a WMS-server. See section {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-servers]{\emph{Selecting WMS Servers}}} for details.

\index{InteProxy}\index{Secured\_OGC\_Authentication}
\begin{notice}{tip}{Tip:}
\textbf{Accessing secured OGC-layers}

If you need to access secured layers with other secured methods than basic
authentication, you could use InteProxy as a transparent proxy, which does
support several authentication methods. More information can be found at the
InteProxy manual found on the website \href{http://inteproxy.wald.intevation.org}{http://inteproxy.wald.intevation.org}.
\end{notice}

\index{QGIS\_mapserver}\index{WMS\_1.3.0}
\begin{notice}{tip}{Tip:}
\textbf{QGIS WMS Mapserver}

From Version 1.7.0 QGIS has its own implementation of a WMS 1.3.0 Mapserver.
Read more about this at chapter {\hyperref[docs/user_manual/working_with_ogc/ogc_server_support:label-qgisserver]{\emph{QGIS Server}}}.
\end{notice}


\subsection{WFS and WFS-T Client}
\label{docs/user_manual/working_with_ogc/ogc_client_support:ogc-wfs}\label{docs/user_manual/working_with_ogc/ogc_client_support:wfs-and-wfs-t-client}
\index{WFS}\index{WFS-T}\index{WFS\_Transactional}
In QGIS, a WFS layer behaves pretty much like any other vector layer. You can
identify and select features and view the attribute table. Since QGIS 1.6 editing
(WFS-T) is also supported.

In general adding a WFS layer is very similar to the procedure used with WMS.
The difference is there are no default servers defined, so we have to add our own.

\textbf{Loading a WFS Layer}

As an example we use the DM Solutions WFS server and display a layer.
The URL is: \href{http://www2.dmsolutions.ca/cgi-bin/mswfs\_gmap}{http://www2.dmsolutions.ca/cgi-bin/mswfs\_gmap}
\begin{enumerate}
\item {} 
Click on the \includegraphics[width=1.5em]{wfs.png} $^{\text{Add WFS Layer}}$ tool on the
Layers toolbar, the dialog \emph{Add WFS Layer from a Server} appears

\item {} 
Click on \textbf{{[}New{]}}

\item {} 
Enter `DM Solutions' as name

\item {} 
Enter the URL (see above)

\item {} 
Click \textbf{{[}OK{]}}

\item {} 
Choose `DM Solutions' from the \emph{Server Connections} \includegraphics{selectstring.png}
combobox

\item {} 
Click \textbf{{[}Connect{]}}

\item {} 
Wait for the list of layers to be populated

\item {} 
Select the \emph{Parks} layer in the list

\item {} 
Click \textbf{{[}Apply{]}} to add the layer to the map

\end{enumerate}

Note that proxy-settings you have set in your preferences are also recognized.
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_client_support:figure-ogc-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{connection_wfs.png}
\caption{Adding a WFS layer \includegraphics[width=1em]{nix.png}}\end{figure}

You'll notice the download progress is visualized in the left bottom of the QGIS
main window. Once the layer is loaded, you can identify and select a province or
two and view the attribute table.

Only WFS 1.0.0 is supported. At this point there have not been many tests against
WFS versions implemented in other WFS-servers. If you encounter problems with any
other WFS-server, please do not hesitate to contact the development team. Please
refer to Section {\hyperref[docs/user_manual/preamble/help_and_support:label-helpsupport]{\emph{Mailinglijsten}}} for further information about the
mailinglists.

\begin{notice}{tip}{Tip:}
\textbf{Finding WFS Servers}

You can find additional WFS servers by using Google or your favorite search
engine. There are a number of lists with public URLs, some of them maintained
and some not.
\end{notice}

\index{QGIS\_Server}\index{FastCGI}\index{CGI}\index{Common\_Gateway\_Interface}

\section{QGIS Server}
\label{docs/user_manual/working_with_ogc/ogc_server_support:index-0}\label{docs/user_manual/working_with_ogc/ogc_server_support:qgis-server}\label{docs/user_manual/working_with_ogc/ogc_server_support::doc}\label{docs/user_manual/working_with_ogc/ogc_server_support:label-qgisserver}
QGIS Server is an open source WMS 1.3 and WFS 1.0.0 implementation which, in addition,
implements advanced cartographic features for thematic mapping. The QGIS Server
is a FastCGI/CGI (Common Gateway Interface) application written in C++ that works
together with a webserver (e.g. Apache, Lighttpd). It is funded by the EU projects
Orchestra, Sany and the city of Uster in Switzerland.

\index{SLD}\index{SLD/SE}
It uses QGIS as backend for the GIS logic and for map rendering. Furthermore the
Qt library is used for graphics and for platform independent C++ programming. In
contrast to other WMS software, the QGIS Server uses cartographic rules as a
configuration language, both for the server configuration and for the user-defined
cartographic rules.

\index{Publish\_to\_Web\_plugin}
Moreover, the QGIS Server project provides the `Publish to Web' plugin, a plugin
for QGIS desktop which exports the current layers and symbology as a web project
for QGIS Server (containing cartographic visualization rules expressed in SLD).

As QGIS desktop and QGIS Server use the same visualization libraries, the maps
that are published on the web look the same as in desktop GIS. The `Publish to Web'
plugin currently supports basic symbolization, with more complex cartographic
visualization rules introduced manually. As the configuration is performed with
the \href{http://www.opengeospatial.org/standards/sld}{SLD standard} and its
documented extensions, there is only one standardised language to learn, which
greatly simplifies the complexity of creating maps for the Web.

In one of the following manuals we will provide a sample configuration to set up
a QGIS Server. But for now we recommend to read one of the following URLs to get
more information:
\begin{itemize}
\item {} 
\href{http://karlinapp.ethz.ch/qgis\_wms/}{http://karlinapp.ethz.ch/qgis\_wms/}

\item {} 
\href{http://hub.qgis.org/projects/quantum-gis/wiki/QGIS\_Server\_Tutorial}{http://hub.qgis.org/projects/quantum-gis/wiki/QGIS\_Server\_Tutorial}

\item {} 
\href{http://linfiniti.com/2010/08/qgis-mapserver-a-wms-server-for-the-masses/}{http://linfiniti.com/2010/08/qgis-mapserver-a-wms-server-for-the-masses/}

\end{itemize}

\index{apache}\index{apache2}\index{Debian\_Squeeze}

\subsection{Sample installation on Debian Squeeze}
\label{docs/user_manual/working_with_ogc/ogc_server_support:sample-installation-on-debian-squeeze}\label{docs/user_manual/working_with_ogc/ogc_server_support:index-3}
At this point we will give a short and simple sample installation howto for
Debian Squeeze. Many other OS provide packages for QGIS Server, too. If you
have to build it all from source, please refer to the URLs above.

Apart from qgis and qgis-mapserver you need a webserver, in our case apache2.
You can install all packages with aptitude or apt-get install together with other
necessary dependency packages. After installation you should test, if the webserver
and qgis server works as expected. Make sure the apache server is running with
\code{/etc/init.d/apache2 start}. Open a web browser and type URL: \code{http://localhost}.
If apache is up, you should see the message `It works!'.

Now we test the qgis server installation. The \code{qgis\_mapserv.fcgi} is available
at \code{/usr/lib/cgi-bin/qgis\_mapserv.fcgi} and provides a standard wms that shows
the state boundaries of Alaska. Add the WMS with the URL
\code{http://localhost/cgi-bin/qgis\_mapserv.fcgi} as described in {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-servers]{\emph{Selecting WMS Servers}}}.
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_server_support:figure-server-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{standard_wms_usa.png}
\caption{Standard WMS with USA boundaries included in the qgis server (KDE) \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{Creating a WMS/WFS from a QGIS project}
\label{docs/user_manual/working_with_ogc/ogc_server_support:creating-a-wms-wfs-from-a-qgis-project}\label{docs/user_manual/working_with_ogc/ogc_server_support:creating-a-wms-from-a-qgis-project}
To provide a new qgis wms/wfs server we have to create a qgis project file with
some data. Here we use the `alaska' shapefile from the qgis\_sample\_dataset. Define
the colors and styles of the layers in QGIS and define the project CRS, if not
already done.
\phantomsection\label{docs/user_manual/working_with_ogc/ogc_server_support:figure-server-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{ows_server_definition.png}
\caption{Definitions for a qgis project WMS/WFS server (KDE)}\end{figure}

Then open the \code{OWS Server} tab in the menu \emph{Settings \(\rightarrow\)
Project Properties} and define the general fields under `Service Capabilities'.
For \code{WMS Capabilities} define `Coordinate System Restrictions' and `Advertised
Extend'. Additionally you can enable the checkbox \includegraphics{checkbox.png} \emph{Add WKT
geometry to feature into response} to make the layers queryable and add a
`Maximum width' and height that can be requested. For \code{WFS Capabilities} you
only need to select the layers that you want to provide as WFS. Now save the
session in a project file \code{alaska.qgs}. To provide the project as a WMS/WFS,
we create a new folder \code{/usr/lib/cgi-bin/project} with admin privileges and
add the project file \code{alaska.qgs} and a copy of the \code{qgis\_mapserv.fcgi}
file - that's all.

Now we test our project WMS and WFS, add the WMS and WFS as described in
{\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:ogc-wms-layers]{\emph{Loading WMS Layers}}} and {\hyperref[docs/user_manual/working_with_ogc/ogc_client_support:ogc-wfs]{\emph{WFS and WFS-T Client}}} to QGIS and load the WMS. The URL is:

\begin{Verbatim}[commandchars=\\\{\}]
http://localhost/cgi-bin/project/qgis\_mapserv.fcgi
\end{Verbatim}


\chapter{Werken met GPS Data}
\label{docs/user_manual/working_with_gps/index::doc}\label{docs/user_manual/working_with_gps/index:working-with-gps-data}

\section{GPS Plugin}
\label{docs/user_manual/working_with_gps/plugins_gps:plugin-gps}\label{docs/user_manual/working_with_gps/plugins_gps:gps-plugin}\label{docs/user_manual/working_with_gps/plugins_gps::doc}

\subsection{What is GPS?}
\label{docs/user_manual/working_with_gps/plugins_gps:what-is-gps}\label{docs/user_manual/working_with_gps/plugins_gps:whatsgps}
GPS, the Global Positioning System, is a satellite-based system that allows
anyone with a GPS receiver to find their exact position anywhere in the world.
It is used as an aid in navigation, for example in airplanes, in boats and by
hikers. The GPS receiver uses the signals from the satellites to calculate its
latitude, longitude and (sometimes) elevation. Most receivers also have the
capability to store locations (known as \emph{waypoints}), sequences of locations
that make up a planned \emph{route} and a tracklog or \emph{track} of the receivers
movement over time. Waypoints, routes and tracks are the three basic feature
types in GPS data. QGIS displays waypoints in point layers while routes and
tracks are displayed in linestring layers.


\subsection{Loading GPS data from a file}
\label{docs/user_manual/working_with_gps/plugins_gps:loading-gps-data-from-a-file}\label{docs/user_manual/working_with_gps/plugins_gps:label-loadgps}
There are dozens of different file formats for storing GPS data. The format
that QGIS uses is called GPX (GPS eXchange format), which is a standard
interchange format that can contain any number of waypoints, routes and tracks
in the same file.

To load a GPX file you first need to load the plugin.
\emph{Plugins \(\rightarrow\)} \includegraphics[width=1.5em]{mActionShowPluginManager.png}
\emph{Plugin Manager...} opens the Plugin Manager Dialog.
Activate the \includegraphics{checkbox.png} \emph{GPS Tools} checkbox. When this plugin
is loaded two buttons with a small handheld GPS device will show up in the
toolbar:
\begin{itemize}
\item {} 
\includegraphics[width=1.5em]{gps_importer.png} $^{\text{Create new GPX Layer}}$

\item {} 
\includegraphics[width=1.5em]{gps_importer.png} $^{\text{GPS Tools}}$

\end{itemize}

For working with GPS data we provide an example GPX file available in the QGIS
sample dataset: \code{qgis\_sample\_data/gps/national\_monuments.gpx}. See Section
{\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}} for more information about the sample data.
\begin{enumerate}
\item {} 
Click on the \includegraphics[width=1.5em]{gps_importer.png} $^{\text{GPS Tools}}$ icon and open the
\emph{Load GPX file} tab (see {\hyperref[docs/user_manual/working_with_gps/plugins_gps:figure-gps-1]{figure\_GPS\_1}}).

\item {} 
Browse to the folder \code{qgis\_sample\_data/gps/}, select the GPX file
\code{national\_monuments.gpx} and click \textbf{{[}Open{]}}.

\end{enumerate}
\phantomsection\label{docs/user_manual/working_with_gps/plugins_gps:figure-gps-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{loadgpx.png}
\caption{The \emph{GPS Tools} dialog window \includegraphics[width=1em]{nix.png}}\end{figure}

Use the \textbf{{[}Browse...{]}} button  to select the GPX file, then use the
checkboxes to select the feature types you want to load from that GPX file.
Each feature type will be loaded in a separate layer when you click
\textbf{{[}OK{]}}. The file \code{national\_monuments.gpx} only includes waypoints.

\begin{notice}{note}{Notitie:}
GPS units allow to store data in different coordinate systems.
When downloading a GPX file (from your GPS unit or a web site) and then
loading it in Quantum GIS, be sure that the data stored in the GPX file
uses WGS84 (latitude/longitude). Quantum GIS expects this and it is
the official GPX specification. See \href{http://www.topografix.com/GPX/1/1/}{http://www.topografix.com/GPX/1/1/}
\end{notice}


\subsection{GPSBabel}
\label{docs/user_manual/working_with_gps/plugins_gps:gpsbabel}
Since QGIS uses GPX files you need a way to convert other GPS file formats to
GPX. This can be done for many formats using the free program GPSBabel, which is
available at \href{http://www.gpsbabel.org}{http://www.gpsbabel.org}. This program can also transfer GPS
data between your computer and a GPS device. QGIS uses GPSBabel to do these
things, so it is recommended that you install it. However, if you just want to
load GPS data from GPX files you will not need it. Version 1.2.3 of GPSBabel is
known to work with QGIS, but you should be able to use later versions without
any problems.


\subsection{Importing GPS data}
\label{docs/user_manual/working_with_gps/plugins_gps:importing-gps-data}
To import GPS data from a file that is not a GPX file, you use the tool
\emph{Import other file} in the GPS Tools dialog. Here you select the file
that you want to import (and the file type), which feature type you want to
import from it, where you want to store the converted GPX file and what the name
of the new layer should be. Note that not all GPS data formats will support all
three feature types, so for many formats you will only be able to choose between
one or two types.


\subsection{Downloading GPS data from a device}
\label{docs/user_manual/working_with_gps/plugins_gps:downloading-gps-data-from-a-device}
QGIS can use GPSBabel to download data from a GPS device directly as new vector
layers. For this we use the \emph{Download from GPS} tab of the GPS
Tools dialog (see {\hyperref[docs/user_manual/working_with_gps/plugins_gps:figure-gps-2]{Figure\_GPS\_2}}). Here, we select the type of GPS device, the
port that it is connected to (or usb if your GPS supports this), the feature type
that you want to download, the GPX file where the data should be stored, and the
name of the new layer.
\phantomsection\label{docs/user_manual/working_with_gps/plugins_gps:figure-gps-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{download.png}
\caption{The download tool}\end{figure}

The device type you select in the GPS device menu determines how GPSBabel tries
to communicate with your GPS device. If none of the available types work with
your GPS device you can create a new type (see section {\hyperref[docs/user_manual/working_with_gps/plugins_gps:defining-new-device]{\emph{Defining new device types}}}).

The port may be a file name or some other name that your operating system uses
as a reference to the physical port in your computer that the GPS device is
connected to. It may also be simply usb, for usb enabled GPS units.
\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png} On Linux this is something like \code{/dev/ttyS0} or \code{/dev/ttyS1}

\item {} 
\includegraphics[width=1em]{win.png} On Windows it is \code{COM1} or \code{COM2}.

\end{itemize}

When you click \textbf{{[}OK{]}} the data will be downloaded from the device and
appear as a layer in QGIS.


\subsection{Uploading GPS data to a device}
\label{docs/user_manual/working_with_gps/plugins_gps:uploading-gps-data-to-a-device}
You can also upload data directly from a vector layer in QGIS to a GPS device
using the \emph{Upload to GPS} tab of the GPS Tools dialog. To do
this you simply select the layer that you want to upload (which must be a GPX
layer), your GPS device type, and the port (or usb) that it is connected to.
Just as with the download tool you can specify new device types if your device
isn't in the list.

This tool is very useful in combination with the vector editing capabilities of
QGIS. It allows you to load a map, create waypoints and routes, and then upload
them and use them on your GPS device.


\subsection{Defining new device types}
\label{docs/user_manual/working_with_gps/plugins_gps:defining-new-device-types}\label{docs/user_manual/working_with_gps/plugins_gps:defining-new-device}
There are lots of different types of GPS devices. The QGIS developers can't
test all of them, so if you have one that does not work with any of the device
types listed in the \emph{Download from GPS} and \emph{Upload to GPS}
tools you can define your own device type for it. You do this by using the GPS
device editor, which you start by clicking the \textbf{{[}Edit devices{]}} button in the
download or the upload tabs.

To define a new device you simply click the \textbf{{[}New device{]}} button,
enter a name, a download command and an upload command for your device, and
click the \textbf{{[}Update device{]}} button. The name will be listed in the
device menus in the upload and download windows, and can be any string. The
download command is the command that is used to download data from the device
to a GPX file. This will probably be a GPSBabel command, but you can use any
other command line program that can create a GPX file. QGIS will replace the
keywords \code{\%type}, \code{\%in}, and \code{\%out} when it runs the command.

\code{\%type} will be replaced by \code{-w} if you are downloading waypoints,
\code{-r} if you are downloading routes and \code{-t} if you are downloading tracks.
These are command line options that tell GPSBabel which feature type to download.

\code{\%in} will be replaced by the port name that you choose in the download window
and \code{\%out} will be replaced by the name you choose for the GPX file that the
downloaded data should be stored in. So if you create a device type with the
download command \code{gpsbabel \%type -i garmin -o gpx \%in \%out} (this is actually
the download command for the predefined device type `Garmin serial') and then
use it to download waypoints from port \code{/dev/ttyS0} to the file \code{output.gpx},
QGIS will replace the keywords and run the command
\code{gpsbabel -w -i garmin -o gpx /dev/ttyS0 output.gpx}.

The upload command is the command that is used to upload data to the device.
The same keywords are used, but \code{\%in} is now replaced by the name of the GPX
file for the layer that is being uploaded, and \code{\%out} is replaced by the port
name.

You can learn more about GPSBabel and it's available command line options at
\href{http://www.gpsbabel.org}{http://www.gpsbabel.org}.

Once you have created a new device type it will appear in the device lists for
the download and upload tools.


\section{Live GPS tracking}
\label{docs/user_manual/working_with_gps/live_GPS_tracking:sec-gpstracking}\label{docs/user_manual/working_with_gps/live_GPS_tracking:live-gps-tracking}\label{docs/user_manual/working_with_gps/live_GPS_tracking::doc}
To activate Live GPS tracking in QGIS you need to select \emph{Settings \(\rightarrow\)}
\includegraphics{checkbox.png} \emph{GPS information}. You will get a new docked window on the
left side of the canvas.

There are 4 possible screens in this GPS tracking window:
\begin{itemize}
\item {} 
\includegraphics[width=1.5em]{mActionToggleEditing.png} GPS position coordinates and for manually entering
Vertices and Features.

\item {} 
\includegraphics[width=1.5em]{gpstrack_barchart.png} GPS signal strength of satellite connections.

\item {} 
\includegraphics[width=1.5em]{gpstrack_polarchart.png} GPS polar screen showing number and polar position of
satellites.

\item {} 
\includegraphics[width=1em]{mActionOptions.png} GPS options screen (see {\hyperref[docs/user_manual/working_with_gps/live_GPS_tracking:figure-gps-options]{figure\_gps\_options}}).

\end{itemize}

With a plugged in GPS receiver (has to be supported by your operating system)
a simple click on \textbf{{[}Connect{]}} connects the GPS to QGIS. A second click (now
on \textbf{{[}Disconnect{]}}) disconnects the GPS-receiver from your computer. For GNU/Linux
gpsd support is integrated to support connection to most GPS receivers. Therefore
you first have to configure gpsd properly to connect QGIS to it.

\begin{notice}{warning}{Waarschuwing:}
If you want to record your position to the canvas you have to create a new
vector layer first and switch it to editable status to be able to record your
track.
\end{notice}


\subsection{Position and additional attributes}
\label{docs/user_manual/working_with_gps/live_GPS_tracking:position-and-additional-attributes}
\includegraphics[width=1.5em]{mActionToggleEditing.png} If the GPS is receiving signals from satellites you will
see your position in latitude, longitude and altitude together with additional
attributes.
\phantomsection\label{docs/user_manual/working_with_gps/live_GPS_tracking:figure-gps-position}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=10em]{gpstrack_main.png}
\caption{GPS tracking position and additional attributes \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{GPS signal strength}
\label{docs/user_manual/working_with_gps/live_GPS_tracking:gps-signal-strength}
\includegraphics[width=1.5em]{gpstrack_barchart.png} Here you can see the signal strenght of the satellites you
are receiving signals from.
\phantomsection\label{docs/user_manual/working_with_gps/live_GPS_tracking:figure-gps-strength}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=10em]{gpstrack_stren.png}
\caption{GPS tracking signal strength \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{GPS polar window}
\label{docs/user_manual/working_with_gps/live_GPS_tracking:gps-polar-window}
\includegraphics[width=1.5em]{gpstrack_polarchart.png} If you want to know where in the sky all the connected
satellites are, you have to switch to the polar screen. You can also see the
ID numbers of the satellites you are receiving signals from.
\phantomsection\label{docs/user_manual/working_with_gps/live_GPS_tracking:figure-gps-polar}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=10em]{gpstrack_polar.png}
\caption{GPS tracking polar window \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{GPS options}
\label{docs/user_manual/working_with_gps/live_GPS_tracking:gps-options}
\includegraphics[width=1em]{mActionOptions.png} In case of connection problems you can switch between:
\begin{itemize}
\item {} 
\includegraphics{radiobuttonon.png} \emph{Autodetect}

\item {} 
\includegraphics{radiobuttonon.png} \emph{Internal},

\item {} 
\includegraphics{radiobuttonon.png} \emph{Serial device}

\item {} 
\includegraphics{radiobuttonon.png} \emph{gpsd} (selecting Host, Port and Device your
GPS is connected to).

\end{itemize}

A click on \textbf{{[}Connect{]}} again initiates the connection to the GPS receiver.
\phantomsection\label{docs/user_manual/working_with_gps/live_GPS_tracking:figure-gps-options}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=10em]{gpstrack_options.png}
\caption{GPS tracking options window \includegraphics[width=1em]{nix.png}}\end{figure}

You can activate \includegraphics{checkbox.png} \emph{Automatically save added features}
when you are in editing mode. Or you can can activate \includegraphics{checkbox.png}
\emph{Automatically add points} to the map canvas with a certain width
and color.

Activating \includegraphics{checkbox.png} \emph{Cursor} you can use a slider \includegraphics{slider.png} to shrink
and grow the position cursor on the canvas.

Activating \includegraphics{radiobuttonon.png} \emph{Map centering} allows to decide in which
way the canvas will be updated. This includes `always', `when leaving' if your
recorded coordinates start either to move out of canvas or `never' to keep map
extent.

Finally you can activate \includegraphics{checkbox.png} \emph{Log file} and define a path and a
file where log messages about the gps tracking a logged.

If you want to set a feature manually you have to go back to \includegraphics[width=1.5em]{mActionToggleEditing.png}
$^{\text{Position}}$ and click on \textbf{{[}Add Point{]}} or \textbf{{[}Add track point{]}}.

\index{GRASS}

\chapter{GRASS GIS Integration}
\label{docs/user_manual/grass_integration/grass_integration:index-0}\label{docs/user_manual/grass_integration/grass_integration:grass-gis-integration}\label{docs/user_manual/grass_integration/grass_integration::doc}\label{docs/user_manual/grass_integration/grass_integration:sec-grass}
The GRASS plugin provides access to GRASS GIS (see GRASS-PROJECT
{\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}}) databases and functionalities. This includes
visualization of GRASS raster and vector layers, digitizing vector layers,
editing vector attributes, creating new vector layers and analysing GRASS 2D and
3D data with more than 300 GRASS modules.

In this Section we'll introduce the plugin functionalities and give some examples
on managing and working with GRASS data. Following main features are provided
with the toolbar menu, when you start the GRASS plugin, as described in section
{\hyperref[docs/user_manual/grass_integration/grass_integration:sec-starting-grass]{\emph{Starting the GRASS plugin}}} :
\begin{itemize}
\item {} 
\includegraphics[width=1.5em]{grass_open_mapset.png} $^{\text{Open mapset}}$

\item {} 
\includegraphics[width=1.5em]{grass_new_mapset.png} $^{\text{New mapset}}$

\item {} 
\includegraphics[width=1.5em]{grass_close_mapset.png} $^{\text{Close mapset}}$

\item {} 
\includegraphics[width=1.5em]{grass_add_vector.png} $^{\text{Add GRASS vector layer}}$

\item {} 
\includegraphics[width=1.5em]{grass_add_raster.png} $^{\text{Add GRASS raster layer}}$

\item {} 
\includegraphics[width=1.5em]{grass_new_vector_layer.png} $^{\text{Create new GRASS vector}}$

\item {} 
\includegraphics[width=1.5em]{grass_edit.png} $^{\text{Edit GRASS vector layer}}$

\item {} 
\includegraphics[width=1.5em]{grass_tools.png} $^{\text{Open GRASS tools}}$

\item {} 
\includegraphics[width=1.5em]{grass_region.png} $^{\text{Display current GRASS region}}$

\item {} 
\includegraphics[width=1.5em]{grass_region_edit.png} $^{\text{Edit current GRASS region}}$

\end{itemize}

\index{GRASS!Start Plugin}

\section{Starting the GRASS plugin}
\label{docs/user_manual/grass_integration/grass_integration:starting-the-grass-plugin}\label{docs/user_manual/grass_integration/grass_integration:index-1}\label{docs/user_manual/grass_integration/grass_integration:sec-starting-grass}
To use GRASS functionalities and/or visualize GRASS vector and raster layers in
QGIS, you must select and load the GRASS plugin with the Plugin Manager.
Therefore click the menu \emph{Plugins \(\rightarrow\)} \includegraphics[width=1.5em]{mActionShowPluginManager.png}
\emph{Manage Plugins}, select \includegraphics{checkbox.png} \emph{GRASS} and click
\textbf{{[}OK{]}}.

You can now start loading raster and vector layers from an existing GRASS
\code{LOCATION} (see section {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-load-grassdata]{\emph{Loading GRASS raster and vector layers}}}). Or you create a new
GRASS \code{LOCATION} with QGIS (see section {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-create-loc]{\emph{Creating a new GRASS LOCATION}}}) and import
some raster and vector data (see Section {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-import-loc-data]{\emph{Importing data into a GRASS LOCATION}}}) for further
analysis with the GRASS Toolbox (see section {\hyperref[docs/user_manual/grass_integration/grass_integration:subsec-grass-toolbox]{\emph{The GRASS toolbox}}}).


\section{Loading GRASS raster and vector layers}
\label{docs/user_manual/grass_integration/grass_integration:loading-grass-raster-and-vector-layers}\label{docs/user_manual/grass_integration/grass_integration:sec-load-grassdata}
\index{GRASS!loading data}
With the GRASS plugin, you can load vector or raster layers using the appropriate
button on the toolbar menu. As an example we use the QGIS alaska dataset (see
Section {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}). It includes a small sample GRASS \code{LOCATION}
with 3 vector layers and 1 raster elevation map.
\begin{enumerate}
\item {} 
Create a new folder \code{grassdata}, download the QGIS alaska
dataset \code{qgis\_sample\_data.zip} from \href{http://download.osgeo.org/qgis/data/}{http://download.osgeo.org/qgis/data/}
and unzip the file into \code{grassdata}.

\item {} 
Start QGIS.

\item {} 
If not already done in a previous QGIS session, load the GRASS plugin
clicking on \emph{Plugins \(\rightarrow\)} \includegraphics[width=1.5em]{mActionShowPluginManager.png}
\emph{Manage Plugins} and activate \includegraphics{checkbox.png} \emph{GRASS}.
The GRASS toolbar appears in the QGIS main window.

\item {} 
In the GRASS toolbar, click the \includegraphics[width=1.5em]{grass_open_mapset.png}$^{\text{Open
mapset}}$ icon to bring up the \code{MAPSET} wizard.

\item {} 
For \code{Gisdbase} browse and select or enter the path to the
newly created folder \code{grassdata}.

\item {} 
You should now be able to select the \emph{LOCATION} \includegraphics{selectstring.png} \code{alaska}
and the \emph{MAPSET} \includegraphics{selectstring.png} \code{demo}.

\item {} 
Click \textbf{{[}OK{]}}. Notice that some previously disabled tools in the
GRASS toolbar are now enabled.

\item {} 
Click on \includegraphics[width=1.5em]{grass_add_raster.png} $^{\text{Add GRASS raster layer}}$,
choose the map name \code{gtopo30} and click \textbf{{[}OK{]}}. The elevation
layer will be visualized.

\item {} 
Click on \includegraphics[width=1.5em]{grass_add_vector.png} $^{\text{Add GRASS vector layer}}$,
choose the map name \code{alaska} and click \emph{OK}. The alaska
boundary vector layer will be overlayed on top of the \code{gtopo30} map. You can
now adapt the layer properties as described in chapter {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-properties-dialog]{\emph{Het Vector Eigenschappen Menu}}},
e.g. change opacity, fill and outline color.

\item {} 
Also load the other two vector layers \code{rivers} and \code{airports} and
adapt their properties.

\end{enumerate}

As you see, it is very simple to load GRASS raster and vector layers in QGIS.
See following sections for editing GRASS data and creating a new \code{LOCATION}.
More sample GRASS \code{LOCATIONs} are available at the GRASS website at
\href{http://grass.osgeo.org/download/data.php}{http://grass.osgeo.org/download/data.php}.

\begin{notice}{tip}{Tip:}
\textbf{GRASS Data Loading}

If you have problems loading data or QGIS terminates abnormally, check to make
sure you have loaded the GRASS plugin properly as described in section
{\hyperref[docs/user_manual/grass_integration/grass_integration:sec-starting-grass]{\emph{Starting the GRASS plugin}}}.
\end{notice}


\section{GRASS LOCATION and MAPSET}
\label{docs/user_manual/grass_integration/grass_integration:grass-location-and-mapset}\label{docs/user_manual/grass_integration/grass_integration:sec-about-loc}
GRASS data are stored in a directory referred to as GISDBASE. This directory often
called \code{grassdata}, must be created before you start working with the GRASS
plugin in QGIS. Within this directory, the GRASS GIS data are organized by projects
stored in subdirectories called \code{LOCATION}. Each \code{LOCATION} is defined
by its coordinate system, map projection and geographical boundaries. Each
\code{LOCATION} can have several \code{MAPSETs} (subdirectories of the
\code{LOCATION}) that are used to subdivide the project into different topics,
subregions, or as workspaces for individual team members (Neteler \& Mitasova
2008 {\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}}). In order to analyze vector and raster layers
with GRASS modules, you must import them into a GRASS \code{LOCATION} (This is
not strictly true - with the GRASS modules \code{r.external} and \code{v.external}
you can create read-only links to external GDAL/OGR-supported data sets without
importing them. But because this is not the usual way for beginners to work with
GRASS, this functionality will not be described here.).
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-location-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{grass_location.png}
\caption{GRASS data in the alaska LOCATION}\end{figure}


\subsection{Creating a new GRASS LOCATION}
\label{docs/user_manual/grass_integration/grass_integration:sec-create-loc}\label{docs/user_manual/grass_integration/grass_integration:creating-a-new-grass-location}
As an example here is how the sample GRASS \code{LOCATION alaska}, which is
projected in Albers Equal Area projection with unit feet was created for the
QGIS sample dataset. This sample GRASS \code{LOCATION alaska} will be used for
all examples and exercises in the following GRASS GIS related chapters. It is
useful to download and install the dataset on your computer {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}).
\begin{enumerate}
\item {} 
Start QGIS and make sure the GRASS plugin is loaded.

\item {} 
Visualize the \code{alaska.shp} Shapefile (see Section
{\hyperref[docs/user_manual/working_with_vector/supported_data:vector-load-shapefile]{\emph{Het laden van een Shapefile}}}) from the QGIS alaska dataset {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}.

\item {} 
In the GRASS toolbar, click on the \includegraphics[width=1.5em]{grass_new_mapset.png}$^{\text{New mapset}}$ icon
to bring up the \code{MAPSET} wizard.

\item {} 
Select an existing GRASS database (GISDBASE) folder
\code{grassdata} or create one for the new \code{LOCATION} using a
file manager on your computer. Then click \textbf{{[}Next{]}}.

\item {} 
We can use this wizard to create a new \code{MAPSET} within an
existing \code{LOCATION} (see section {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-add-mapset]{\emph{Adding a new MAPSET}}}) or to create
a new \code{LOCATION} altogether. Click on the radio button
\includegraphics{radiobuttonon.png}\emph{Create new location} (see {\hyperref[docs/user_manual/grass_integration/grass_integration:figure-grass-location-2]{figure\_grass\_location\_2}}).

\item {} 
Enter a name for the \code{LOCATION} - we used alaska and click \textbf{{[}Next{]}}.

\item {} 
Define the projection by clicking on the radio button
\includegraphics{radiobuttonon.png}\emph{Projection} to enable the projection list.

\item {} 
We are using Albers Equal Area Alaska (feet) projection. Since we
happen to know that it is represented by the EPSG ID 2964, we enter it in
the search box. (Note: If you want to repeat this process for another
\code{LOCATION} and projection and haven't memorized the EPSG ID,
click on the \includegraphics[width=1.5em]{mIconProjectionEnabled.png} $^{\text{projector}}$ icon in the lower right-hand
corner of the status bar (see Section {\hyperref[docs/user_manual/working_with_projections/working_with_projections:label-projections]{\emph{Werken met Projecties}}})).

\item {} 
In \emph{Filter} insert 2964 to select the projection.

\item {} 
Click \textbf{{[}Next{]}}.

\item {} 
To define the default region, we have to enter the \code{LOCATION}
bounds in north, south, east, and west direction. Here we simply click on
the button \emph{Set current QGIS extent}, to apply the extend of the
loaded layer \code{alaska.shp} as the GRASS default region extend.

\item {} 
Click \textbf{{[}Next{]}}.

\item {} 
We also need to define a \code{MAPSET} within our new
\code{LOCATION}. You can name it whatever you like - we used demo (When
creating a new \code{LOCATION}). GRASS automatically creates a special
\code{MAPSET} called \code{PERMANENT} designed to store the core data for
the project, its default spatial extend and coordinate system definitions
(Neteler \& Mitasova 2008 {\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}})

\item {} 
Check out the summary to make sure it's correct and click
\textbf{{[}Finish{]}}.

\item {} 
The new \code{LOCATION alaska} and two \code{MAPSETs demo}
and \code{PERMANENT} are created. The currently opened working set is
\code{MAPSET demo}, as you defined.

\item {} 
Notice that some of the tools in the GRASS toolbar that were
disabled are now enabled.

\end{enumerate}
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-location-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{create_grass_location.png}
\caption{Creating a new GRASS LOCATION or a new MAPSET in QGIS}\end{figure}

If that seemed like a lot of steps, it's really not all that bad and a very quick
way to create a \code{LOCATION}. The \code{LOCATION alaska} is now ready for
data import (see section {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-import-loc-data]{\emph{Importing data into a GRASS LOCATION}}}). You can also use the already
existing vector and raster data in the sample GRASS \code{LOCATION alaska}
included in the QGIS alaska dataset {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}} and move on to
Section {\hyperref[docs/user_manual/grass_integration/grass_integration:label-vectmodel]{\emph{The GRASS vector data model}}}.


\subsection{Adding a new MAPSET}
\label{docs/user_manual/grass_integration/grass_integration:adding-a-new-mapset}\label{docs/user_manual/grass_integration/grass_integration:sec-add-mapset}
A user has only write access to a GRASS \code{MAPSET} he created. This means that
besides access to his own \code{MAPSET}, each user can read maps in other user's
\code{MAPSETs}, but he can modify or remove only the maps in his own \code{MAPSET}.

All \code{MAPSETs} include a \code{WIND} file that stores the current boundary
coordinate values and the currently selected raster resolution (Neteler \& Mitasova
2008 {\hyperref[docs/user_manual/literature_web/literature_and_web_references:literature-and-web]{\emph{Literature and Web References}}}, see Section {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-grass-region]{\emph{The GRASS region tool}}}).
\begin{enumerate}
\item {} 
Start QGIS and make sure the GRASS plugin is loaded.

\item {} 
In the GRASS toolbar, click on the \includegraphics[width=1.5em]{grass_new_mapset.png} $^{\text{New mapset}}$ icon
to bring up the \code{MAPSET} wizard.

\item {} 
Select the GRASS database (GISDBASE) folder \code{grassdata}
with the \code{LOCATION alaska}, where we want to add a further
\code{MAPSET}, called test.

\item {} 
Click \textbf{{[}Next{]}}.

\item {} 
We can use this wizard to create a new \code{MAPSET} within an
existing \code{LOCATION} or to create a new \code{LOCATION} altogether.
Click on the radio button \includegraphics{radiobuttonon.png}\emph{Select location}
(see {\hyperref[docs/user_manual/grass_integration/grass_integration:figure-grass-location-2]{figure\_grass\_location\_2}}) and click \textbf{{[}Next{]}}.

\item {} 
Enter the name \code{text} for the new \code{MAPSET}. Below
in the wizard you see a list of existing \code{MAPSETs} and its owners.

\item {} 
Click \textbf{{[}Next{]}}, check out the summary to make sure it's all
correct and click \textbf{{[}Finish{]}}.

\end{enumerate}


\section{Importing data into a GRASS LOCATION}
\label{docs/user_manual/grass_integration/grass_integration:sec-import-loc-data}\label{docs/user_manual/grass_integration/grass_integration:importing-data-into-a-grass-location}
This Section gives an example how to import raster and vector data into the
\code{alaska} GRASS \code{LOCATION} provided by the QGIS alaska dataset. Therefore
we use a landcover raster map \code{landcover.img} and a vector GML File
\code{lakes.gml} from the QGIS alaska dataset {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}.
\begin{enumerate}
\item {} 
Start QGIS and make sure the GRASS plugin is loaded.

\item {} 
In the GRASS toolbar, click the \includegraphics[width=1.5em]{grass_open_mapset.png}$^{\text{Open
MAPSET}}$ icon to bring up the \code{MAPSET} wizard.

\item {} 
Select as GRASS database the folder \code{grassdata} in the QGIS
alaska dataset, as \code{LOCATION alaska}, as \code{MAPSET}
\code{demo} and click \textbf{{[}OK{]}}.

\item {} 
Now click the \includegraphics[width=1.5em]{grass_tools.png} $^{\text{Open GRASS tools}}$ icon. The
GRASS Toolbox (see section {\hyperref[docs/user_manual/grass_integration/grass_integration:subsec-grass-toolbox]{\emph{The GRASS toolbox}}}) dialog appears.

\item {} 
To import the raster map \code{landcover.img}, click the module
\code{r.in.gdal} in the \emph{Modules Tree} tab. This GRASS module
allows to import GDAL supported raster files into a GRASS
\code{LOCATION}. The module dialog for \code{r.in.gdal} appears.

\item {} 
Browse to the folder \code{raster} in the QGIS alaska dataset
and select the file \code{landcover.img}.

\item {} 
As raster output name define \code{landcover\_grass} and click
\textbf{{[}Run{]}}. In the \emph{Output} tab you see the currently running GRASS
command \code{r.in.gdal -o input=/path/to/landcover.img
output=landcover\_grass}.

\item {} 
When it says \textbf{Succesfully finished} click \textbf{{[}View output{]}}.
The \code{landcover\_grass} raster layer is now imported into GRASS and
will be visualized in the QGIS canvas.

\item {} 
To import the vector GML file \code{lakes.gml}, click the module
\code{v.in.ogr} in the \emph{Modules Tree} tab. This GRASS module allows
to import OGR supported vector files into a GRASS \code{LOCATION}. The
module dialog for \code{v.in.ogr} appears.

\item {} 
Browse to the folder \code{gml} in the QGIS alaska
dataset and select the file \code{lakes.gml} as OGR file.

\item {} 
As vector output name define \code{lakes\_grass} and click
\textbf{{[}Run{]}}. You don't have to care about the other options in this
example. In the \emph{Output} tab you see the currently running GRASS
command \code{v.in.ogr -o dsn=/path/to/lakes.gml output=lakes\_grass}.

\item {} 
When it says \textbf{Succesfully finished} click \textbf{{[}View output{]}}.
The \code{lakes\_grass} vector layer is now imported into GRASS and will
be visualized in the QGIS canvas.

\end{enumerate}


\section{The GRASS vector data model}
\label{docs/user_manual/grass_integration/grass_integration:label-vectmodel}\label{docs/user_manual/grass_integration/grass_integration:the-grass-vector-data-model}
\index{GRASS!vector data model}
It is important to understand the GRASS vector data model prior to digitizing.

\index{GRASS!digitizing}
In general, GRASS uses a topological vector model.

\index{GRASS!topology}
This means that areas are not represented as closed polygons, but by one or more
boundaries. A boundary between two adjacent areas is digitized only once, and it
is shared by both areas. Boundaries must be connected and closed without gaps.
An area is identified (and labeled) by the \textbf{centroid} of the area.

Besides boundaries and centroids, a vector map can also contain points and lines.
All these geometry elements can be mixed in one vector and will be represented
in different so called `layers' inside one GRASS vector map. So in GRASS a layer
is not a vector or raster map but a level inside a vector layer. This is important
to distinguish carefully (Although it is possible to mix geometry elements, it
is unusual and even in GRASS only used in special cases such as vector network
analysis. Normally you should prefere to store different geometry elements in
different layers.).

It is possible to store several `layers' in one vector dataset. For example,
fields, forests and lakes can be stored in one vector. Adjacent forest and lake
can share the same boundary, but they have separate attribute tables. It is also
possible to attach attributes to boundaries. For example, the boundary between
lake and forest is a road, so it can have a different attribute table.

The `layer' of the feature is defined by `layer' inside GRASS. `Layer' is the
number which defines if there are more than one layer inside the dataset, e.g.
if the geometry is forest or lake. For now, it can be only a number, in the future
GRASS will also support names as fields in the user interface.

Attributes can be stored inside the GRASS \code{LOCATION} as DBase or SQLITE3 or
in external database tables, for example PostgreSQL, MySQL, Oracle, etc.

\index{GRASS!attribute storage}
Attributes in database tables are linked to geometry elements using a `category'
value.

\index{GRASS!attribute linkage}
`Category' (key, ID) is an integer attached to geometry primitives, and it is
used as the link to one key column in the database table.

\begin{notice}{tip}{Tip:}
\textbf{Learning the GRASS Vector Model}

The best way to learn the GRASS vector model and its capabilities is to
download one of the many GRASS tutorials where the vector model is described
more deeply. See \href{http://grass.osgeo.org/gdp/manuals.php}{http://grass.osgeo.org/gdp/manuals.php} for more information,
books and tutorials in several languages.
\end{notice}

\index{GRASS|see{Creating new vectors;editing;creating a new layer}}

\section{Creating a new GRASS vector layer}
\label{docs/user_manual/grass_integration/grass_integration:creating-new-grass-vectors}\label{docs/user_manual/grass_integration/grass_integration:index-8}\label{docs/user_manual/grass_integration/grass_integration:creating-a-new-grass-vector-layer}
To create a new GRASS vector layer with the GRASS plugin click the
\includegraphics[width=1.5em]{grass_new_vector_layer.png} $^{\text{Create new GRASS vector}}$ toolbar icon.
Enter a name in the text box and you can start digitizing point, line or polygon
geometries, following the procedure described in Section {\hyperref[docs/user_manual/grass_integration/grass_integration:grass-digitizing]{\emph{Digitizing and editing a GRASS vector layer}}}.

In GRASS it is possible to organize all sort of geometry types (point, line and
area) in one layer, because GRASS uses a topological vector model, so you don't
need to select the geometry type when creating a new GRASS vector. This is
different from Shapefile creation with QGIS, because Shapefiles use the Simple
Feature vector model (see Section {\hyperref[docs/user_manual/working_with_vector/editing_geometry_attributes:sec-create-shape]{\emph{Het aanmaken van een nieuwe Vectorlaag}}}).

\begin{notice}{tip}{Tip:}
\textbf{Creating an attribute table for a new GRASS vector layer}

If you want to assign attributes to your digitized geometry features, make
sure to create an attribute table with columns before you start digitizing
(see {\hyperref[docs/user_manual/grass_integration/grass_integration:figure-grass-digitizing-5]{figure\_grass\_digitizing\_5}}).
\end{notice}


\section{Digitizing and editing a GRASS vector layer}
\label{docs/user_manual/grass_integration/grass_integration:grass-digitizing}\label{docs/user_manual/grass_integration/grass_integration:digitizing-and-editing-a-grass-vector-layer}
\index{GRASS!digitizing tools}
The digitizing tools for GRASS vector layers are accessed using the
\includegraphics[width=1.5em]{grass_edit.png} $^{\text{Edit GRASS vector layer}}$ icon on the toolbar. Make sure you
have loaded a GRASS vector and it is the selected layer in the legend before
clicking on the edit tool. Figure {\hyperref[docs/user_manual/grass_integration/grass_integration:figure-grass-digitizing-2]{figure\_grass\_digitizing\_2}} shows the GRASS
edit dialog that is displayed when you click on the edit tool. The tools and
settings are discussed in the following sections.

\begin{notice}{tip}{Tip:}
\textbf{Digitizing polygons in GRASS}

If you want to create a polygon in GRASS, you first digitize the boundary of
the polygon, setting the mode to `No category'. Then you add a centroid
(label point) into the closed boundary, setting the mode to `Next not used'.
The reason is, that a topological vector model links attribute information of
a polygon always to the centroid and not to the boundary.
\end{notice}
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:label-grasstoolbar}
\textbf{Toolbar}

In {\hyperref[docs/user_manual/grass_integration/grass_integration:figure-grass-digitizing-1]{figure\_grass\_digitizing\_1}} you see the GRASS digitizing toolbar icons provided
by the GRASS plugin. Table {\hyperref[docs/user_manual/grass_integration/grass_integration:table-grass-digitizing-1]{table\_grass\_digitizing\_1}} explains the available
functionalities.
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-digitizing-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_digitizing_toolbar.png}
\caption{GRASS Digitizing Toolbar}\end{figure}
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:table-grass-digitizing-1}
\begin{tabulary}{\linewidth}{|L|L|L|}
\hline
\textsf{\relax 
Icon
} & \textsf{\relax 
Tool
} & \textsf{\relax 
Purpose
}\\
\hline
\includegraphics[width=1.5em]{grass_new_point.png}
 & 
New Point
 & 
Digitize new point
\\

\includegraphics[width=1.5em]{grass_new_line.png}
 & 
New Line
 & 
Digitize new line
\\

\includegraphics[width=1.5em]{grass_new_boundary.png}
 & 
New Boundary
 & 
Digitize new boundary (finish by selecting new tool)
\\

\includegraphics[width=1.5em]{grass_new_centroid.png}
 & 
New Centroid
 & 
Digitize new centroid (label existing area)
\\

\includegraphics[width=1.5em]{grass_move_vertex.png}
 & 
Move vertex
 & 
Move one vertex of existing line or boundary and identify new position
\\

\includegraphics[width=1.5em]{grass_add_vertex.png}
 & 
Add vertex
 & 
Add a new vertex to existing line
\\

\includegraphics[width=1.5em]{grass_delete_vertex.png}
 & 
Delete vertex
 & 
Delete vertex from existing line (confirm selected vertex by another click)
\\

\includegraphics[width=1.5em]{grass_move_line.png}
 & 
Move element
 & 
Move selected boundary, line, point or centroid and click on new position
\\

\includegraphics[width=1.5em]{grass_split_line.png}
 & 
Split line
 & 
Split an existing line to 2 parts
\\

\includegraphics[width=1.5em]{grass_delete_line.png}
 & 
Delete element
 & 
Delete existing boundary, line, point or centroid (confirm selected element by another click)
\\

\includegraphics[width=1.5em]{grass_edit_attributes.png}
 & 
Edit attributes
 & 
Edit attributes of selected element (note that one element can represent more features, see above)
\\

\includegraphics[width=1.5em]{grass_close_edit.png}
 & 
Close
 & 
Close session and save current status (rebuilds topology afterwards)
\\
\hline\end{tabulary}

\begin{quote}

Table GRASS Digitizing 1: GRASS Digitizing Tools
\end{quote}

\textbf{Category Tab}

\index{GRASS!category settings}
The \emph{Category} tab allows you to define the way in which the category
values will be assigned to a new geometry element.
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-digitizing-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_digitizing_category.png}
\caption{GRASS Digitizing Category Tab}\end{figure}
\begin{itemize}
\item {} 
\textbf{Mode}: what category value shall be applied to new geometry elements.
\begin{itemize}
\item {} 
Next not used - apply next not yet used category value to geometry element.

\item {} 
Manual entry - manually define the category value for the geometry element
in the `Category'-entry field.

\item {} 
No category - Do not apply a category value to the geometry element. This is
e.g. used for area boundaries, because the category values are connected via
the centroid.

\end{itemize}

\item {} 
\textbf{Category} - A number (ID) is attached to each digitized geometry element.
It is used to connect each geometry element with its attributes.

\item {} 
\textbf{Field (layer)} - Each geometry element can be connected with several
attribute tables using different GRASS geometry layers. Default layer number
is 1.

\end{itemize}

\begin{notice}{tip}{Tip:}
\textbf{Creating an additional GRASS `layer' with QGIS}

If you would like to add more layers to your dataset, just add a new number
in the `Field (layer)' entry box and press return. In the Table tab you can
create your new table connected to your new layer.
\end{notice}
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:label-settingtab}
\textbf{Settings Tab}

\index{GRASS!snapping tolerance}
The \emph{Settings} tab allows you to set the snapping in screen pixels.
The threshold defines at what distance new points or line ends are snapped to
existing nodes. This helps to prevent gaps or dangles between boundaries. The
default is set to 10 pixels.
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-digitizing-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_digitizing_settings.png}
\caption{GRASS Digitizing Settings Tab}\end{figure}

\textbf{Symbology Tab}

\index{GRASS!symbology settings}
The \emph{Symbology} tab allows you to view and set symbology and color
settings for various geometry types and their topological status (e.g. closed
/ opened boundary).
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-digitizing-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_digitizing_symbology.png}
\caption{GRASS Digitizing Symbolog Tab}\end{figure}

\textbf{Table Tab}

\index{GRASS!table editing}
The \emph{Table} tab provides information about the database table for a
given `layer'. Here you can add new columns to an existing attribute table, or
create a new database table for a new GRASS vector layer (see Section
{\hyperref[docs/user_manual/grass_integration/grass_integration:creating-new-grass-vectors]{\emph{Creating a new GRASS vector layer}}}).
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-digitizing-5}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_digitizing_table.png}
\caption{GRASS Digitizing Table Tab}\end{figure}

\begin{notice}{tip}{Tip:}
\textbf{GRASS Edit Permissions}

You must be the owner of the GRASS \code{MAPSET} you want to edit. It is
impossible to edit data layers in a \code{MAPSET} that is not yours, even
if you have write permissions.
\end{notice}


\section{The GRASS region tool}
\label{docs/user_manual/grass_integration/grass_integration:the-grass-region-tool}\label{docs/user_manual/grass_integration/grass_integration:sec-grass-region}
\index{GRASS!region}
The region definition (setting a spatial working window) in GRASS is important
for working with raster layers. Vector analysis is by default not limited to any
defined region definitions. But all newly-created rasters will have the spatial
extension and resolution of the currently defined GRASS region, regardless of
their original extension and resolution. The current GRASS region is stored in
the \code{\$LOCATION/\$MAPSET/WIND} file, and it defines north, south, east and
west bounds, number of columns and rows, horizontal and vertical spatial resolution.

It is possible to switch on/off the visualization of the GRASS region in the QGIS
canvas using the \includegraphics[width=1.5em]{grass_region.png} $^{\text{Display current GRASS region}}$ button.

\index{GRASS!region display}
With the \includegraphics[width=1.5em]{grass_region_edit.png} $^{\text{Edit current GRASS region}}$ icon you can open
a dialog to change the current region and the symbology of the GRASS region
rectangle in the QGIS canvas. Type in the new region bounds and resolution and
click \textbf{{[}OK{]}}. It also allows to select a new region interactively with your
mouse on the QGIS canvas. Therefore click with the left mouse button in the QGIS
canvas, open a rectangle, close it using the left mouse button again and click
\textbf{{[}OK{]}}.

\index{GRASS!region editing}
The GRASS module \code{g.region} provide a lot more parameters to define an
appropriate region extend and resolution for your raster analysis. You can use
these parameters with the GRASS Toolbox, described in Section {\hyperref[docs/user_manual/grass_integration/grass_integration:subsec-grass-toolbox]{\emph{The GRASS toolbox}}}.


\section{The GRASS toolbox}
\label{docs/user_manual/grass_integration/grass_integration:the-grass-toolbox}\label{docs/user_manual/grass_integration/grass_integration:subsec-grass-toolbox}
\index{GRASS toolbox}
The \includegraphics[width=1.5em]{grass_tools.png} $^{\text{Open GRASS Tools}}$ box provides GRASS module functionalities
to work with data inside a selected GRASS \code{LOCATION} and \code{MAPSET}.
To use the GRASS toolbox you need to open a \code{LOCATION} and \code{MAPSET}
where you have write-permission (usually granted, if you created the \code{MAPSET}).
This is necessary, because new raster or vector layers created during analysis
need to be written to the currently selected \code{LOCATION} and \code{MAPSET}.
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-toolbox-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_toolbox_moduletree.png}
\caption{GRASS Toolbox and Module Tree \includegraphics[width=1em]{nix.png}}\end{figure}

The GRASS Shell inside the GRASS Toolbox provides access to almost all (more than
330) GRASS modules through a command line interface. To offer a more user friendly
working environment, about 200 of the available GRASS modules and functionalities
are also provided by graphical dialogs within the GRASS plugin Toolbox.


\subsection{Working with GRASS modules}
\label{docs/user_manual/grass_integration/grass_integration:grass-modules}\label{docs/user_manual/grass_integration/grass_integration:working-with-grass-modules}
The GRASS Shell inside the GRASS Toolbox provides access to almost all (more than
300) GRASS modules in a command line interface. To offer a more user friendly
working environment, about 200 of the available GRASS modules and functionalities
are also provided by graphical dialogs.

A complete list of GRASS modules available in the graphical Toolbox in QGIS version
1.8.0 is available in the GRASS wiki ( \href{http://grass.osgeo.org/wiki/GRASS-QGIS\_relevant\_module\_list}{http://grass.osgeo.org/wiki/GRASS-QGIS\_relevant\_module\_list}).

It is also possible to customize the GRASS Toolbox content. This procedure is
described in Section {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-toolbox-customizing]{\emph{Customizing the GRASS Toolbox}}}.

As shown in {\hyperref[docs/user_manual/grass_integration/grass_integration:figure-grass-toolbox-1]{figure\_grass\_toolbox\_1}} , you can look for the appropriate GRASS
module using the thematically grouped \emph{Modules Tree} or the searchable
\emph{Modules List} tab.

Clicking on a graphical module icon a new tab will be added to the toolbox dialog
providing three new sub-tabs \emph{Options}, \emph{Output} and \emph{Manual}.

\textbf{Options}

The \emph{Options} tab provides a simplified module dialog where you can
usually select a raster or vector layer visualized in the QGIS canvas and enter
further module specific parameters to run the module.
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-module-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_module_option.png}
\caption{GRASS Toolbox Module Options \includegraphics[width=1em]{nix.png}}\end{figure}

The provided module parameters are often not complete to keep the dialog clear.
If you want to use further module parameters and flags, you need to start the
GRASS Shell and run the module in the command line.

A new feature in QGIS 1.8.0 is the support for a \emph{show advanced options}
button below the simplified module dialog in the \emph{Options} tab. At the
moment it is only added to the module v.in.ascii as an example use, but will
probably be part of more / all modules in the GRASS toolbox in future versions
of QGIS. This allows to use the complete GRASS module options without the need
to switch to the GRASS Shell.

\textbf{Output}
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-module-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_module_output.png}
\caption{GRASS Toolbox Module Output \includegraphics[width=1em]{nix.png}}\end{figure}

The \emph{Output} tab provides information about the output status of the
module. When you click the \textbf{{[}Run{]}} button, the module switches to the
\emph{Output} tab and you see information about the analysis process. If
all works well, you will finally see a \code{Successfully finished} message.

\textbf{Manual}
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-module-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_module_manual.png}
\caption{GRASS Toolbox Module Manual \includegraphics[width=1em]{nix.png}}\end{figure}

The \emph{Manual} tab shows the HTML help page of the GRASS module. You can
use it to check further module parameters and flags or to get a deeper knowledge
about the purpose of the module. At the end of each module manual page you see
further links to the \code{Main Help index}, the \code{Thematic index} and the
\code{Full index}. These links provide the same information as if you use the
module \code{g.manual}.

\index{GRASS!display results}
\begin{notice}{tip}{Tip:}
\textbf{Display results immediately}

If you want to display your calculation results immediately in your map canvas,
you can use the `View Output' button at the bottom of the module tab.
\end{notice}


\subsection{GRASS module examples}
\label{docs/user_manual/grass_integration/grass_integration:grass-module-examples}
The following examples will demonstrate the power of some of the GRASS modules.


\subsubsection{Creating contour lines}
\label{docs/user_manual/grass_integration/grass_integration:creating-contour-lines}
The first example creates a vector contour map from an elevation raster (DEM).
Assuming you have the Alaska \code{LOCATION} set up as explained in Section
{\hyperref[docs/user_manual/grass_integration/grass_integration:sec-import-loc-data]{\emph{Importing data into a GRASS LOCATION}}}.
\begin{itemize}
\item {} 
First open the location by clicking the
\includegraphics[width=1.5em]{grass_open_mapset.png} $^{\text{Open mapset}}$ button and choosing the Alaska location.

\item {} 
Now load the \code{gtopo30} elevation raster by clicking
\includegraphics[width=1.5em]{grass_add_raster.png} $^{\text{Add GRASS raster layer}}$ and selecting the
\code{gtopo30} raster from the demo location.

\item {} 
Now open the Toolbox with the \includegraphics[width=1.5em]{grass_tools.png} $^{\text{Open GRASS tools}}$ button.

\item {} 
In the list of tool categories double click \emph{Raster \(\rightarrow\) Surface
Management \(\rightarrow\) Generate vector contour lines}.

\item {} 
Now a single click on the tool \textbf{r.contour} will open the tool dialog as
explained above {\hyperref[docs/user_manual/grass_integration/grass_integration:grass-modules]{\emph{Working with GRASS modules}}}. The \code{gtopo30} raster should appear as
the \emph{Name of input raster}.

\item {} 
Type into the \emph{Increment between Contour levels} \includegraphics{selectnumber.png}
the value 100. (This will create contour lines at intervals of 100 meters.)

\item {} 
Type into the \emph{Name for output vector map} the name \code{ctour\_100}.

\item {} 
Click \textbf{{[}Run{]}} to start the process. Wait for several moments until the message
\code{Successfully finished} appears in the output window. Then click \textbf{{[}View Output{]}}
and \textbf{{[}close{]}}.

\end{itemize}

Since this is a large region, it will take a while to display. After it finishes
rendering, you can open the layer properties window to change the line color so
that the contours appear clearly over the elevation raster, as in {\hyperref[docs/user_manual/working_with_vector/vector_properties:vector-properties-dialog]{\emph{Het Vector Eigenschappen Menu}}}.

Next zoom in to a small mountainous area in the center of Alaska. Zooming in close
you will notice that the contours have sharp corners. GRASS offers the \textbf{v.generalize}
tool to slightly alter vector maps while keeping their overall shape. The tool
uses several different algorithms with different purposes. Some of the algorithms
(i.e. Douglas Peuker and Vertex reduction) simplify the line by removing some of
the vertices. The resulting vector will load faster. This process will be used
when you have a highly detailed vector, but you are creating a very small scale
map, so the detail is unnecessary.

\index{GRASS!display results}
\begin{notice}{tip}{Tip:}
\textbf{The simplify tool}

Note that the QGIS fTools plugin has a \emph{Simplify geometries \(\rightarrow\)}
tool that works just like the GRASS \textbf{v.generalize} Douglas-Peuker algorithm.
\end{notice}

However, the purpose of this example is different. The contour lines created by
\code{r.contour} have sharp angles that should be smoothed. Among the \textbf{v.generalize}
algorithms there is Chaikens which does just that (also Hermite splines). Be
aware that these algorithms can \textbf{add} additional vertices to the vector,
causing it to load even more slowly.
\begin{itemize}
\item {} 
Open the GRASS toolbox and double click the categories \emph{Vector \(\rightarrow\)
Develop map \(\rightarrow\) Generalization}, then click on the \textbf{v.generalize} module to
open its options window.

\item {} 
Check that the `ctour\_100' vector appears as the \emph{Name of input vector}.

\item {} 
From the list of algorithms choose Chaiken's. Leave all other options at their
default, and scroll down to the last row to enter in the field \emph{Name for output
vector map} `ctour\_100\_smooth', and click \textbf{{[}Run{]}}.

\item {} 
The process takes several moments. Once \code{Successfully finished} appears in
the output windows, click \textbf{{[}View output{]}} and then \textbf{{[}close{]}}.

\item {} 
You may change the color of the vector to display it clearly on the raster
background and to contrast with the original contour lines. You will notice
that the new contour lines have smoother corners than the original while staying
faithful to the original overall shape.

\end{itemize}
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-module-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{grass_toolbox_vgeneralize.png}
\caption{GRASS module v.generalize to smooth a vector map \includegraphics[width=1em]{nix.png}}\end{figure}

\index{GRASS!toolbox}
\begin{notice}{tip}{Tip:}
\textbf{Other uses for r.contour}

The procedure described above can be used in other equivalent situations. If
you have a raster map of precipitation data, for example, then the same method
will  be used to create a vector map of isohyetal (constant rainfall) lines.
\end{notice}


\subsubsection{Creating a Hillshade 3D effect}
\label{docs/user_manual/grass_integration/grass_integration:creating-a-hillshade-3d-effect}
Several methods are used to display elevation layers and give a 3D effect to maps.
The use of contour lines as shown above is one popular method often chosen to
produce topographic maps. Another way to display a 3D effect is by hillshading.
The hillshade effect is created from a DEM (elevation) raster by first calculating
the slope and aspect of each cell, then simulating the sun's position in the sky
and giving a reflectance value to each cell. Thus you get sun facing slopes
lighted and the slopes facing away from the sun (in shadow) are darkened.
\begin{itemize}
\item {} 
Begin this example by loading the \code{gtopo30} elevation raster. Start the GRASS
toolbox and under the Raster category double click to open \emph{Spatial analysis
\(\rightarrow\) Terrain analysis}.

\item {} 
Then click \textbf{r.shaded.relief} to open the module.

\item {} 
Change the \emph{azimuth angle} \includegraphics{selectnumber.png} 270 to 315.

\item {} 
Enter \code{gtopo30\_shade} for the new hillshade raster, and click \textbf{{[}Run}{]}.

\item {} 
When the process completes, add the hillshade raster to the map. You should see
it displayed in grayscale.

\item {} 
To view both the hill shading and the colors of the \code{gtopo30} together shift
the hillshade map below the \code{gtopo30} map in the table of contents, then open
the \emph{Properties} window of \code{gtopo30}, switch to the
\emph{transparency} tab and set its transparency level to about 25\%.

\end{itemize}

You should now have the \code{gtopo30} elevation with its colormap and transparency
setting displayed \textbf{above} the grayscale hillshade map. In order to see the
visual effects of the hillshading, turn off the \code{gtopo30\_shade} map, then turn
it back on.

\textbf{Using the GRASS shell}

The GRASS plugin in QGIS is designed for users who are new to GRASS, and not
familiar with all the modules and options. As such, some modules in the toolbox
do not show all the options available, and some modules do not appear at all.
The GRASS shell (or console) gives the user access to those additional GRASS
modules that do not appear in the toolbox tree, and also to some additional
options to the modules that are in the toolbox with the simplest default
parameters. This example demonstrates the use of an additional option in the
\textbf{r.shaded.relief} module that was shown above.
\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_toolbox_shell.png}
\caption{The GRASS shell, r.shaded.relief module \includegraphics[width=1em]{nix.png}}\end{figure}

The module \textbf{r.shaded.relief} can take a parameter \code{zmult} which multiplies
the elevation values relative to the X-Y coordinate units so that the hillshade
effect is even more pronounced.
\begin{itemize}
\item {} 
Load the \code{gtopo30} elevation raster as above, then start the GRASS toolbox
and click on the GRASS shell. In the shell window type the command
\code{r.shaded.relief map=gtopo30 shade=gtopo30\_shade2 azimuth=315 zmult=3} and
press \textbf{{[}Enter{]}}.

\item {} 
After the process finishes shift to the \emph{Browse} tab and double click
on the new \code{gtopo30\_shade2} raster to display in QGIS.

\item {} 
As explained above, shift the shaded relief raster below the gtopo30 raster in
the Table of Contents, then check transparency of the colored gtopo30 layer.
You should see that the 3D effect stands out more strongly compared to the
first shaded relief map.

\end{itemize}
\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{grass_toolbox_shadedrelief.png}
\caption{Displaying shaded relief created with the GRASS module r.shaded.relief \includegraphics[width=1em]{nix.png}}\end{figure}


\subsubsection{Raster statistics in a vector map}
\label{docs/user_manual/grass_integration/grass_integration:raster-statistics-in-a-vector-map}
The next example shows how a GRASS module can aggregate raster data and add columns
of statistics for each polygon in a vector map.
\begin{itemize}
\item {} 
Again using the Alaska data, refer to {\hyperref[docs/user_manual/grass_integration/grass_integration:sec-import-loc-data]{\emph{Importing data into a GRASS LOCATION}}} to import the
trees shapefile from the \code{shapefiles} directory into GRASS.

\item {} 
Now an intermediary step is required: centroids must be added to the imported
trees map to make it a complete GRASS area vector (including both boundaries
and centroids).

\item {} 
From the toolbox choose \emph{Vector \(\rightarrow\) Manage features}, and open
the module \textbf{v.centroids}.

\item {} 
Enter as the \emph{output vector map} `forest\_areas' and run the module.

\item {} 
Now load the \code{forest\_areas} vector and display the types of forests - deciduous,
evergreen, mixed - in different colors: In the layer \emph{Properties}
window, \emph{Symbology} tab, choose from \emph{Legend type}
\includegraphics{selectstring.png} `Unique value' and set the \emph{Classification field}
to `VEGDESC'. (Refer to the explanation of the symbology tab
:ref:sec\_symbology in the vector section).

\item {} 
Next reopen the GRASS toolbox and open \emph{Vector \(\rightarrow\) Vector update}
by other maps.

\item {} 
Click on the \textbf{v.rast.stats} module. Enter \code{gtopo30}, and \code{forest\_areas}.

\item {} 
Only one additional parameter is needed: Enter \emph{column prefix} \code{elev},
and click \textbf{{[}run{]}}. This is a computationally heavy operation which will run
for a long time (probably up to two hours).

\item {} 
Finally open the \code{forest\_areas} attribute table, and verify that several new
columns have been added including \code{elev\_min}, \code{elev\_max}, \code{elev\_mean}
etc. for each forest polygon.

\end{itemize}


\subsection{Working with the GRASS LOCATION browser}
\label{docs/user_manual/grass_integration/grass_integration:working-with-the-grass-location-browser}
\index{GRASS toolbox!Browser}
Another useful feature inside the GRASS Toolbox is the GRASS \code{LOCATION}
browser. In {\hyperref[docs/user_manual/grass_integration/grass_integration:figure-grass-module-7]{figure\_grass\_module\_7}} you can see the current working \code{LOCATION}
with its \code{MAPSETs}.

In the left browser windows you can browse through all \code{MAPSETs} inside the
current \code{LOCATION}. The right browser window shows some meta information
for selected raster or vector layers, e.g. resolution, bounding box, data source,
connected attribute table for vector data and a command history.
\phantomsection\label{docs/user_manual/grass_integration/grass_integration:figure-grass-module-7}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{grass_mapset_browser.png}
\caption{GRASS LOCATION browser \includegraphics[width=1em]{nix.png}}\end{figure}

The toolbar inside the \emph{Browser} tab offers following tools to manage
the selected \code{LOCATION}:
\begin{itemize}
\item {} 
\includegraphics[width=1.5em]{grass_add_map.png} \emph{Add selected map to canvas}

\item {} 
\includegraphics[width=1.5em]{grass_copy_map.png} \emph{Copy selected map}

\item {} 
\includegraphics[width=1.5em]{grass_rename_map.png} \emph{Rename selected map}

\item {} 
\includegraphics[width=1.5em]{grass_delete_map.png} \emph{Delete selected map}

\item {} 
\includegraphics[width=1.5em]{grass_set_region.png} \emph{Set current region to selected map}

\item {} 
\includegraphics[width=1.5em]{grass_refresh.png} \emph{Refresh browser window}

\end{itemize}

The \includegraphics[width=1.5em]{grass_rename_map.png} \emph{Rename selected map} and \includegraphics[width=1.5em]{grass_delete_map.png}
\emph{Delete selected map} only work with maps inside your currently selected
\code{MAPSET}. All other tools also work with raster and vector layers in
another \code{MAPSET}.


\subsection{Customizing the GRASS Toolbox}
\label{docs/user_manual/grass_integration/grass_integration:customizing-the-grass-toolbox}\label{docs/user_manual/grass_integration/grass_integration:sec-toolbox-customizing}
\index{GRASS toolbox!customize}
Nearly all GRASS modules can be added to the GRASS toolbox. A XML interface is
provided to parse the pretty simple XML files which configures the modules
appearance and parameters inside the toolbox.

A sample XML file for generating the module \code{v.buffer} (v.buffer.qgm) looks
like this:

\begin{Verbatim}[commandchars=\\\{\}]
\textless{}?xml version="1.0" encoding="UTF-8"?\textgreater{}
\textless{}!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd"\textgreater{}

\textless{}qgisgrassmodule label="Vector buffer" module="v.buffer"\textgreater{}
        \textless{}option key="input" typeoption="type" layeroption="layer" /\textgreater{}
        \textless{}option key="buffer"/\textgreater{}
        \textless{}option key="output" /\textgreater{}
\textless{}/qgisgrassmodule\textgreater{}
\end{Verbatim}

The parser reads this definition and creates a new tab inside the toolbox when
you select the module. A more detailed description for adding new modules, changing
the modules group, etc. can be found on the QGIS wiki at
\href{http://hub.qgis.org/projects/quantum-gis/wiki/Adding\_New\_Tools\_to\_the\_GRASS\_Toolbox}{http://hub.qgis.org/projects/quantum-gis/wiki/Adding\_New\_Tools\_to\_the\_GRASS\_Toolbox}


\chapter{OpenStreetMap}
\label{docs/user_manual/osm/openstreetmap:openstreetmap}\label{docs/user_manual/osm/openstreetmap::doc}\label{docs/user_manual/osm/openstreetmap:plugins-osm}
In recent years, the OpenStreetMap project has gained popularity because in many
countries no free geodata such as digital roadmaps are available. The objective
of the OSM project is to create a free editable map of the world from GPS data,
aerial photography or from local knowledge. To support this objective, QGIS
provides a plugin that enables its users to work with OSM data.

The OpenStreetMap plugin, a core QGIS plugin, provides the basic functionalities
for OSM data manipulation; this includes data loading, importing, saving,
downloading, editing and uploading data back to the OpenStreetMap server. While
implementing the OSM plugin an inspiration was taken from existing OSM data
editors. The purpose was to combine their functionalities to get the best possible
result.

The following section gives a brief introduction to principles of the OSM project.

Parts of the following paragraphs are copied from the OpenStreetMap web site at
\href{http://www.openstreetmap.org}{http://www.openstreetmap.org}.


\section{The OpenStreetMap project}
\label{docs/user_manual/osm/openstreetmap:the-openstreetmap-project}
OpenStreetMap is a project to create a free editable map of the world. The maps
are created using data from portable GPS devices, aerial photography, other free
sources or simply from local knowledge. The project was started because most maps
have legal or technical restrictions on their use, restricting people from using
them in creative, productive, or unexpected ways. Both rendered images and the
vector dataset of OSM are available for download under a Creative Commons Attribution
ShareAlike 2.0 license.
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=40em]{osmweb.png}
\caption{OpenStreetMap data in the web}\end{figure}

OpenStreetMap was inspired by sites such as Wikipedia - the map display
(see {\hyperref[docs/user_manual/osm/openstreetmap:figure-openstreetmap-1]{Figure\_OpenStreetMap\_1}} ) features a prominent \emph{Edit} tab and a
full revision history is maintained. Registered users can upload GPS track logs
and edit the vector data using the given editing tools.

OSM data primitive is an object class that can be stored via the API in the
server. The three supported types of data are: \textbf{Node}, \textbf{Way} and \textbf{Relation}.
\begin{itemize}
\item {} 
\textbf{A node} is a latitude/longitude pair of coordinates. It is used as building
a block for other features and as a feature itself (Points Of Interest), if
they are tagged as required.

\item {} 
\textbf{A way} is a list of at least two nodes that describe a linear feature such
as a street, or similar. Nodes can be members of multiple ways.

\item {} 
\textbf{A relation} is a group of zero or more primitives with associated roles. It
is used to specify relationships between objects, and may also model an abstract
object.

\end{itemize}

Several different logical features in a common map `Point Of Interest', `Street',
`Tram Line', `Bus Stop' etc.) are defined by these primitives. Map features are
well-known in the OSM community and are stored as tags, based on a key and a
value. OSM is usually distributed in XML format. XML payload is used for the
communication with the OSM server as well.


\section{QGIS - OSM Connection}
\label{docs/user_manual/osm/openstreetmap:qgis-osm-connection}\label{docs/user_manual/osm/openstreetmap:id1}
The first part of this section describes how OSM data primitives are displayed
in QGIS vector layers. As previously mentioned, OSM data consists of Nodes, Ways
and Relations. In QGIS, they are displayed in three different layer types: Point
layer, Line layer and Polygon layer. It is not possible to remove any of these
layers and work with the other ones.
\begin{itemize}
\item {} 
A \textbf{Point layer} displays all features of type Node that stands alone. That
means that only Nodes that are not included in any Way belongs to the Point layer.

\item {} 
A \textbf{Line layer} displays those OSM features of type Way that are not closed.
That means, none of these Ways starts and ends with the same Node.

\item {} 
A \textbf{Polygon layer} displays all Ways that are not included in Line layer.

\end{itemize}

OpenStreetMap has one more data primitive in addition to the three mentioned
above. This is called \textbf{Relation}. There is purposely no vector layer to display
Relations. A Relation defines a connection between any number of data primitives.
After a Point, Line or Polygon is identified on a map, the plugin shows a list
of all relations which the identified feature is part of.

It was challenging to design the connection between OSM data and the standard
QGIS editing tools. These tools are made to edit a single vector layer at a time,
no matter of what feature types it displays. This means that if OSM data are
loaded to QGIS through the plugin, you could (theoretically) edit the Point
layer, Line layer or Polygon layer with these standard tools separately.

A Line layer consists of two different types of OSM features, Ways and Nodes.
In OSM format, a Way is composed of Nodes. If you start editing a Line layer
and change the shape of some line, your action affects not only the OSM Way,
but also the OSM Nodes that are part of it.

QGIS standard editing tools cannot tell the OSM provider, which members of which
line has changed and how. It can tell only what's the new geometry of which line,
and that's not enough to propagate changes to the OSM database correctly. The
Line layer does also not know the identifiers of the line members. The same
problem occurs when you try to edit the Polygon layer.

For this reason, the OSM plugin need its own tools for editing OSM data. While
they are used, the OSM layers can be changed correctly. The Plugin editing tools
consists of tools for Point, Line, Polygon and Relation creation, deletion and
moving.

\begin{notice}{note}{Notitie:}
To create a connection between the OSM plugin and standard editing tools,
changes in QuantumGIS core code would be necessary.
\end{notice}


\section{Installation}
\label{docs/user_manual/osm/openstreetmap:installation}
The OpenStreetMap plugin is a core plugin inside QGIS. The `OpenStreetMap' plugin
can be selected in the Plugin Manager as described in section {\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}.


\section{Basic user interface}
\label{docs/user_manual/osm/openstreetmap:basic-user-interface}
The first time the OSM plugin is started (and after the first data are loaded),
several new OSM plugin icons appear in the QGIS toolbar menu together with new
dock windows as shown in {\hyperref[docs/user_manual/osm/openstreetmap:figure-openstreetmap-2]{figure\_OpenStreetMap\_2}}.
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=40em]{osm_widgets.png}
\caption{OSM plugin user interface}\end{figure}


\subsection{OSM Features widget}
\label{docs/user_manual/osm/openstreetmap:osm-features-widget}
The OSM Feature widget helps to identify OSM features. It shows basic information
on the feature type and identifier as well as information on who has changed a
feature, and when. The OSM Feature widget also provides all editing tools (in
the top part of it). More information on those tools can be found in the sections
below. The widget is initially disabled. It activates itself after successful
loading some OSM data.


\subsection{OSM Undo/Redo widget}
\label{docs/user_manual/osm/openstreetmap:osm-undo-redo-widget}
This Undo/Redo widget is used to undo and redo edit actions. It consists not only
a classic Undo and Redo button, but also shows a list with a brief description
of the edit actions that were done. The OSM Undo/Redo widget is initially closed.
You can show it using a button on the OSM Feature widget.


\subsection{Toolbar menu icons}
\label{docs/user_manual/osm/openstreetmap:toolbar-menu-icons}
\includegraphics[width=1.5em]{osm_load.png} $^{\text{Load OSM from file}}$ is used to load data from a special
OpenStreetMap XML file.

\includegraphics[width=1.5em]{osm_featureManager.png} $^{\text{Show/Hide OSM Feature Manager}}$ is used to show or hide
the OSM Feature widget. The OSM Feature widget is a panel that helps with OSM
feature identification and with OSM data editing.

\includegraphics[width=1.5em]{osm_download.png} $^{\text{Download OSM data}}$ is used to download data from the
OpenStreetMap server.

\includegraphics[width=1.5em]{osm_upload.png} $^{\text{Upload OSM data}}$ is used to upload changes (on current data).

\includegraphics[width=1.5em]{osm_import.png} $^{\text{Import data from a layer}}$ is used to import data from a vector
layer. At least one vector layer must be loaded and current OSM data must be selected.

\includegraphics[width=1.5em]{osm_save.png} $^{\text{Save OSM to file}}$ is used to save OSM data back to an XML file.

More detailed information on all the widgets, buttons and dialogs can be found
in appropriate sections of this plugin section according to their functionality
(editing, identification, etc.).


\section{Loading OSM data}
\label{docs/user_manual/osm/openstreetmap:loading-osm-data}
The first action that should be done after starting the OSM Plugin is opening data
from an OSM file. OSM data can be import as shapefile or downloaded directly from
the OpenStreetMap server. Here we are focusing on the first mentioned method.

To load data from a file use the \includegraphics[width=1.5em]{osm_load.png} $^{\text{Load OSM from file}}$ icon. If
there is no such button, maybe someone disabled OpenStreetMap toolbar in your
QGIS installation. You can enable it again selecting \emph{Settings \(\rightarrow\)
Toolbars \(\rightarrow\) OpenStreetMap}.
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{osmloaddialog.png}
\caption{Load OSM data dialog}\end{figure}

The purpose of its elements is explained below.

\textbf{OpenStreetMap file to load}: Click on the \includegraphics{browsebutton.png} button to select the
file:\emph{.osm} file you want to load data from.

\textbf{Add columns for tags}: This option determines a connection between OSM and QGIS
data. Each feature of OSM data has some tags (pairs of key and value), that
define the feature properties. Each feature of a QGIS vector layer also has its
attributes (key and value). With this option you can define which properties of
OSM objects should be visible when displaying detailed information about QGIS
features.

\textbf{Replace current data}: Checking this option means that new data should replace
current data the user is working with. Layers of current data will be removed and
new ones will be loaded. When loading OSM data for the first time, this option
is not active, because there is nothing to replace.

\textbf{Use custom renderer}: This option determines how many details of the map will
be used. There are three pre-defined OSM styles for map displaying. Use `Small
scale' if you want to view OSM data at low level, to see all details and to edit
something. If not you can use `Medium scale' or `Large scale'. QGIS 1.8.0 doesn't
support changing the renderer style dynamically.

Click \textbf{{[}OK{]}} to load your data. If this is the first time the OSM file is loaded,
the plugin must first parse the database. This may take few seconds or minutes - it
depends on the amount of loaded data.


\section{Viewing OSM data}
\label{docs/user_manual/osm/openstreetmap:viewing-osm-data}
After the OSM data are loaded, you can identify map features using the appropriate
tool. Use the \includegraphics[width=1.5em]{osm_identify.png} $^{\text{Identify feature}}$ button on the top-left of the
OSM Feature widget. Using this tool you can easily explore all map objects. When
the mouse cursor is placed over an object, you can see all information on it
directly in the OSM Feature widget. There is also a dynamic rubberband displayed
on the map so that the user is able to determine which feature is currently
identified.

The \emph{Properties} tab of the widget contains of all feature tags.
Clicking on the \emph{Relation} tab shows you a list of all relations
connected with identified feature.

If you want to hold a feature for a while to be able to read its properties and
relations, move the mouse cursor at the same time, try left-clicking while you
are over the feature. Identification process will stop until next left-clicking.

Sometimes there is more than one feature at a point where left-clicking was
performed. This happens especially when clicking on cross-roads or if you did
not zoom enough into the map. In this situation only one of such features is
identified (and marked with the rubberband) but the plugin remembers all of them.
Then (still in the pause mode) you can cycle through the identified features by
right-clicking.


\section{Editing basic OSM data}
\label{docs/user_manual/osm/openstreetmap:editing-basic-osm-data}
`Basic data' in this context means non-relational OSM features - nodes and ways.
If you prefer to examine how to perform relational editing, skip this section
and move on to the next one.

Basic data editing is a key part of the OSM Plugin. You can change the property,
position or shape of any existing basic feature. You can remove features or add
new ones. All changes on nodes and ways are remembered by Undo/Redo all changes
can be easily uploaded to the OpenStreetMap server.


\subsection{Changing feature tags}
\label{docs/user_manual/osm/openstreetmap:changing-feature-tags}
Changing the property/tag of an OSM feature can be done directly in the table of
feature tags. The Tags table of basic features can be found on the OSM Feature
widget. Don't forget to identify feature first.
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=40em]{osm_changefeaturetag.png}
\caption{Changing an OSM feature tag}\end{figure}

If you want to change a tag value, just double-click in the appropriate row of
column `Value' and type, or select a new value. If you want to remove a tag,
click in the relevant row, then use the button \includegraphics[width=1.5em]{osm_removeTag.png} $^{\text{Remove
selected tags}}$ on the right bottom under the table.

To add new tags just type the key and value into the last row of the table where
`\textless{}next tag value\textgreater{}' is written. Notice that you cannot change the key of an
existing tag pair. Conveniently, there are some combo boxes of all existing tag
keys and their typical values.


\subsection{Point creation}
\label{docs/user_manual/osm/openstreetmap:point-creation}
For point creation there is a \includegraphics[width=1.5em]{osm_createPoint.png} $^{\text{Create point}}$ button on the
OSM Feature widget. To create some points, just click on the button and start
clicking on the map. If your cursor is over some map feature, the feature is
marked/identified immediately. If you click on the map when a line or polygon is
marked, a new point is created directly on such line or polygon as its new member.
If your cursor is over an existing point, a new point cannot be created. In such
case the OSM plugin will show following message:
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-5}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{osm_pointcreation.png}
\caption{OSM point creation message}\end{figure}

The mechanism of helping a user to hit the line or polygon is called snapping
and is enabled by default. If you want to create a point very close to some line
(but not on it) you must disable snapping by holding the \code{Ctrl} key first.


\subsection{Line creation}
\label{docs/user_manual/osm/openstreetmap:line-creation}
For line creation, there is a \includegraphics[width=1.5em]{osm_createLine.png} $^{\text{Create Line}}$ button on the
OSM Feature widget. To create a line just click the button and start left-clicking
on the map. Each of your left-clicks is remembered as a vertex of the new line.
Line creation ends when the first right-click is performed. The new line will
immediately appear on the map.

\begin{notice}{note}{Notitie:}
A Line with less than two members cannot be created. In such case the operation
is ignored.
\end{notice}

Snapping is performed to all map vertices - points from the Point vector layer
and all Line and Polygon members. Snapping can be disabled by holding the
\code{Ctrl} key.


\subsection{Polygon creation}
\label{docs/user_manual/osm/openstreetmap:polygon-creation}
For polygon creation there is a \includegraphics[width=1.5em]{osm_createPolygon.png} $^{\text{Create polygon}}$ button
on the OSM Feature widget. To create a polygon just click the button and start
left-clicking on the map. Each of your left-clicks is remembered as a member
vertex of the new polygon. The Polygon creation ends when first right-click is
performed. The new polygon will immediately appear on the map. Polygon with less
than three members cannot be created. In such case operation is ignored. Snapping
is performed to all map vertexes - points (from Point vector layer) and all Line
and Polygon members. Snapping can be disabled by holding the \code{Ctrl} key.


\subsection{Map feature moving}
\label{docs/user_manual/osm/openstreetmap:map-feature-moving}
If you want to move a feature (no matter what type) please use the \includegraphics[width=1.5em]{osm_move.png}
$^{\text{Move feature}}$ button from the OSM Feature widget menu. Then you can browse
the map (features are identified dynamically when you go over them) and click on
the feature you want to move. If a wrong feature is selected after your click,
don't move it from the place. Repeat right-clicking until the correct feature is
identified. When selection is done and you move the cursor, you are no more able
to change your decision what to move. To confirm the move, click on the left mouse
button. To cancel a move, click another mouse button.

If you are moving a feature that is connected to another features, these
connections won't be damaged. Other features will just adapt themselves to a new
position of a moved feature.

Snapping is also supported in this operation, this means:
\begin{itemize}
\item {} 
When moving a standalone (not part of any line/polygon) point,snapping to all
map segments and vertices is performed.

\item {} 
When moving a point that is a member of some lines/polygons,snapping to all map
segments and vertices is performed, except for vertices of point parents.

\item {} 
When moving a line/polygon, snapping to all map vertices is performed. Note
that the OSM Plugin tries to snap only to the 3 closest-to-cursor vertices of
a moved line/polygon, otherwise the operation would by very slow. Snapping can
be disabled by holding \code{Ctrl} key during the operation.

\end{itemize}


\subsection{Map feature removing}
\label{docs/user_manual/osm/openstreetmap:map-feature-removing}
If you want to remove a feature, you must identify it first. To remove an
identified feature, use the \includegraphics[width=1.5em]{osm_removeFeat.png} $^{\text{Remove this feature}}$ button
on the OSM Feature widget. When removing a line/polygon, the line/polygon itself
is deleted, so are all its member points that doesn't belong to any other
line/polygon.

When removing a point that is member of some lines/polygons, the point is deleted
and the geometries of parent lines/polygons are changed. The new parent geometry
has less vertices than the old one.

If the parent feature was a polygon with three vertexes, its new geometry has
only two vertexes. And because there cannot exist polygon with only two vertices,
as described above, the feature type is automatically changed to Line.

If the parent feature was a line with two vertexes, its new geometry has only one
vertex. And because there cannot exist a line with only one vertex, the feature
type is automatically changed to Point.


\section{Editing relations}
\label{docs/user_manual/osm/openstreetmap:editing-osm-relation}\label{docs/user_manual/osm/openstreetmap:editing-relations}
Thanks to existence of OSM relations we can join OSM features into groups and
give them common properties - in such way we can model any possible map object:
borders of a region (as group of ways and points), routes of a bus, etc. Each
member of a relation has its specific role. There is a pretty good support for
OSM Relations in our plugin. Let's see how to examine, create, update or remove
them.


\subsection{Examining relation}
\label{docs/user_manual/osm/openstreetmap:id2}\label{docs/user_manual/osm/openstreetmap:examining-relation}
If you want to see relation properties, first identify one of its members. After
that open the \emph{Relations} tab on the OSM Feature widget. At the top of
the tab you can see a list of all relations the identified feature is part of.
Please choose the one you want to examine and look at its information below. In
the first table called `Relation tags' you find the properties of the selected
relation. In the table called `Relation members' you see brief information on
the relation members. If you click on a member, the plugin will make a rubberband
on it in the map.


\subsection{Relation creation}
\label{docs/user_manual/osm/openstreetmap:relation-creation}
There are 2 ways to create a relation:
\begin{enumerate}
\item {} 
You can use the \includegraphics[width=1.5em]{osm_createRelation.png}$^{\text{Create relation}}$ button on OSM
Feature widget.

\item {} 
You can create it from the \emph{Relation} tab of OSM Feature widget
using the \includegraphics[width=1.5em]{osm_addRelation.png}$^{\text{Add relation}}$ button.

\end{enumerate}

In both cases a dialog will appear. For the second case, the feature that is
currently identified is automatically considered to be the first relation member,
so the dialog is prefilled a little. When creating a relation, please select its
type first. You can select one of predefined relation types or write your own
type. After that fill the relation tags and choose its members.

If you have already selected a relation type, try using the \includegraphics[width=1.5em]{osm_generateTags.png}
$^{\text{Generate tags}}$ button. It will generate typical tags to your relation type.
Then you are expected to enter values to the keys. Choosing relation members can
be done either by writing member identifiers, types and roles or using the
\includegraphics[width=1.5em]{osm_identify.png} $^{\text{Identify}}$ tool and clicking on map.

Finally when type, tags and members are chosen, the dialog can be submitted.
In such case the plugin creates a new relation for you.


\subsection{Changing relation}
\label{docs/user_manual/osm/openstreetmap:changing-relation}
If you want to change an existing relation, identify it first (follow steps
written above in Section {\hyperref[docs/user_manual/osm/openstreetmap:examining-relation]{\emph{Examining relation}}}). After that click on the
\includegraphics[width=1.5em]{osm_editRelation.png} $^{\text{Edit relation}}$ button. You will find it on the OSM
Feature widget. A new dialog appears, nearly the same as for the `create relation'
action. The dialog is pre-filled with information on given relations. You can
change relation tags, members or even its type. After submitting the dialog your
changes will be committed.


\section{Downloading OSM data}
\label{docs/user_manual/osm/openstreetmap:downloading-osm-data}
To download data from OpenStreetMap server click on the \includegraphics[width=1.5em]{osm_download.png}
$^{\text{Download OSM data}}$ button. If there is no such button, the OSM toolbar may
be disabled in your QGIS instalation. You can enable it again at
\emph{Settings \(\rightarrow\) Toolbars \(\rightarrow\) OpenStreetMap} . After clicking the
button a dialog occurs and provides following functionalities:
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-6}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{osm_downloaddialog.png}
\caption{OSM download dialog}\end{figure}

\textbf{Extent}: Specifies an area to download data from intervals of latitude and
longitude degrees. Because there is some restriction of OpenStreetMap server on
how much data can be downloaded, the intervals must not be too wide. More detailed
info on extent specification can is shown after clicking the \includegraphics[width=1.5em]{osm_questionMark.png}
$^{\text{Help}}$ button on the right.

\textbf{Download to}: Here you are expected to write a path to the file where data
will be stored. If you can't remember the structure of your disk, don't panic.
The browse button \includegraphics{browsebutton.png} will help you.

\textbf{Open data automatically after download}: Determines, if the download process
should be followed by loading the data process or not. If you prefer not to load
data now, you can do it later by using the \includegraphics[width=1.5em]{osm_load.png} $^{\text{Load OSM from file}}$
button.

\textbf{Replace current data}: This option is active only if \includegraphics{radiobuttonon.png}
\emph{Open data automatically after download} is checked. Checking this
option means that downloaded data should replace current data we are working with
now. Layers of the current data will be removed and new ones will be loaded. When
starting QGIS and downloading OSM data for the first time, this option is
initially inactive, because there is nothing to replace.

\textbf{Use custom renderer}: This option is active only if the \includegraphics{radiobuttonon.png}
\emph{Open data automatically after download} checkbox is checked. It
determines how many details will be in the map. There are three predefined OSM
styles for map displaying. Use `Small scale' if you want to view OSM data at low
level, to see all details and to edit something. If not you can use `Medium scale'
or `Large scale'. QGIS 1.8.0 does not support changing the renderer style
dynamically.

Click the \textbf{{[}Download{]}} button to start the download process.

A progress dialog will continuously inform you about how much of data is already
downloaded. When an error occurs during the download process, a dialog tells you
why. When action finishes successfully both the progress dialog and download
dialog will close themselves.


\section{Uploading OSM data}
\label{docs/user_manual/osm/openstreetmap:uploading-osm-data}
Note that the upload is always done on current OSM data. Before opening the OSM
Upload dialog, please be sure that you really have the right active layer with
OSM data.

To upload current data to the OSM server click on the \includegraphics[width=1.5em]{osm_upload.png}
$^{\text{Upload OSM data}}$ button. If there is no such button, OSM toolbar in your
QGIS installation is disabled. You can enable it again in
\emph{Settings \(\rightarrow\) Toolbars \(\rightarrow\) OpenStreetMap} . After clicking the
\textbf{{[}Upload{]}} button a new dialog will appear.
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-7}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{osm_uploaddialog.png}
\caption{OSM upload dialog}\end{figure}

At the top of the dialog you can check, if you are uploading the correct data.
There is a short name of a current database. In the table you find information
on how many changes will be uploaded. Statistics are displayed separately for
each feature type.

In the `Comment on your changes' box you can write brief information on meaning
of your upload operation. Just write in brief what data changes you've done or
let the box empty. Fill `OSM account' arrays so that the server could authenticate
you. If you don't have an account on the OSM server, it's the best time to create
one at \href{http://www.openstreetmap.org}{http://www.openstreetmap.org}. Finally use \textbf{{[}Upload{]}} to start an upload
operation.


\section{Saving OSM data}
\label{docs/user_manual/osm/openstreetmap:saving-osm-data}
To save data from a current map extent to an XML file click on the \includegraphics[width=1.5em]{osm_save.png}
$^{\text{Save OSM to file}}$ button. If there is no such button, the OSM toolbar in
your QuantumGIS installation is probably disabled. You can enable it again in
\emph{Settings \(\rightarrow\) Toolbars \(\rightarrow\) OpenStreetMap}. After clicking on the
button a new dialog appears.
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-8}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{osm_savedialog.png}
\caption{OSM saving dialog}\end{figure}

Select features you want to save into XML file and the file itself. Use the
\textbf{{[}OK{]}} button to start the operation. The process will create an XML file, in
which OSM data from your current map extent are represented. The OSM version of
the output file is 0.6. Elements of OSM data (\textless{}node\textgreater{}, \textless{}way\textgreater{}, \textless{}relation\textgreater{}) do not
contain information on their changesets and uids. This information are not
compulsory yet, see DTD for OSM XML version 0.6. In the output file OSM elements
are not ordered.

Notice that not only data from the current extent are saved. Into the output file
the whole polygons and lines are saved even if only a small part of them is
visible in the current extent. For each saved line/polygon all its member nodes
are saved too.


\section{Import OSM data}
\label{docs/user_manual/osm/openstreetmap:import-osm-data}
To import OSM data from an opened non-OSM vector layer follow this instructions.
Choose current OSM data by clicking on one of their layers. Click on the
\includegraphics[width=1.5em]{osm_import.png} $^{\text{Import data from a layer}}$ button. If there is no such button,
someone has probably disabled the OpenStreetMap toolbar in your QGIS installation.
You can enable it again in \emph{Settings \(\rightarrow\) Toolbars \(\rightarrow\) OpenStreetMap}.

After clicking on the button following message may show up:
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-9}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{osm_importdialog.png}
\caption{OSM import message dialog}\end{figure}

In such case there is no vector layer currently loaded. The import must be done
from a loaded layer - please load a vector layer from which you want to import
data. After a layer is opened, your second try should give you a better result
(don't forget to mark the current OSM layer again):
\phantomsection\label{docs/user_manual/osm/openstreetmap:figure-openstreetmap-10}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{osm_importtoosmdialog.png}
\caption{Import data to OSM dialog}\end{figure}

Use the submit dialog to start the process of OSM data importing. Reject it if
you are not sure you want to import something.


\chapter{SEXTANTE}
\label{docs/user_manual/sextante/index:sextante}\label{docs/user_manual/sextante/index::doc}\label{docs/user_manual/sextante/index:label-sextante}

\section{Introduction}
\label{docs/user_manual/sextante/intro:introduction}\label{docs/user_manual/sextante/intro::doc}
This chapter introduces SEXTANTE, the powerful geospatial analysis framework of
QGIS. SEXTANTE is a geoprocessing environment that can be used to call native
and third party algorithms from QGIS, making your spatial analysis tasks more
productive and easy to accomplish.

In the following sections we will review how to use the graphical elements of
SEXTANTE and take the most out of each one of them


\subsection{Basic elements of the SEXTANTE GUI}
\label{docs/user_manual/sextante/intro:basic-elements-of-the-sextante-gui}
There are four basic elements in the SEXTANTE GUI, which are used to run SEXTANTE
algorithms for different purposes. Choosing one tool or another will depend on
the kind of analysis that is to be performed and the particular characteristics
of each user and project. All of them (except for the batch processing interface,
which is called from the toolbox, as we will see) can be accessed from the
\emph{SEXTANTE} menu item (you will see more than four entries. The
remaining ones are not used to execute algorithms and will be explained later in
this chapter).
\begin{itemize}
\item {} 
The SEXTANTE toolbox. The main element of the SEXTANTE GUI, it is used to
execute a single algorithm or run a batch process based on that algorithm.

\end{itemize}
\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{toolbox.png}
\caption{SEXTANTE Toolbox \includegraphics[width=1em]{win.png}}\label{docs/user_manual/sextante/intro:figure-toolbox-1}\end{figure}
\begin{itemize}
\item {} 
The SEXTANTE graphical modeler. Several algorithms can be combined graphically
using the modeler to define a workflow, creating a single process that involves
several sub-processes

\end{itemize}
\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{models.png}
\caption{SEXTANTE Models \includegraphics[width=1em]{win.png}}\label{docs/user_manual/sextante/intro:figure-model}\end{figure}
\begin{itemize}
\item {} 
The SEXTANTE history manager. All actions performed using any of the
aforementioned elements are stored in a history file and can be later easily
reproduced using the history manager

\end{itemize}
\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{history.png}
\caption{SEXTANTE History \includegraphics[width=1em]{win.png}}\label{docs/user_manual/sextante/intro:figure-history}\end{figure}
\begin{itemize}
\item {} 
The SEXTANTE batch processing interface manager. This interface allows you to
execute batch processes and automate the execution of a single algorithm on
multiple datasets.

\end{itemize}
\phantomsection\label{docs/user_manual/sextante/intro:figure-batchprocess}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{batch_processing.png}
\caption{SEXTANTE Batch Processing \includegraphics[width=1em]{win.png}}\end{figure}

Along the following sections we will review each one of this elements in detail.


\section{The SEXTANTE toolbox}
\label{docs/user_manual/sextante/toolbox:the-sextante-toolbox}\label{docs/user_manual/sextante/toolbox::doc}

\subsection{Introduction}
\label{docs/user_manual/sextante/toolbox:introduction}
The \emph{Toolbox} is the main element of the SEXTANTE GUI, and the one that you are
more likely to use in your daily work. It shows the list of all available
algorithms grouped in different blocks, and is the access point to run them
whether as a single process or as a batch process involving several executions
of a same algorithm on different sets of inputs.
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-toolbox-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{toolbox.png}
\caption{SEXTANTE Toolbox \includegraphics[width=1em]{win.png}}\end{figure}

The toolbox contains all the algorithms available, divided into groups. Each group
represents a so-called `algorithm provider', which is a set of algorithms coming
from the same source, for instance, from a third-party application with
geoprocessing capabilities. Some of this groups represent algorithms from one of
such third-party applications (like SAGA, GRASS or R), while other contain
algorithms directly coded along with SEXTANTE elements, not relying on any
additional software. Currently, these providers all reuse code from already
existing QGIS plugins (more specifically, from the fTools vector library shiped
along with QGIS and the contributed mmqgis plugin that you can install using the
Plugin Manager), making them more useful, since they can be executed from elements
such as the modeler or the batch processing interface, which we will soon describe.

Additionally, two more providers can be found, namely `Models' and `Scripts'.
This providers include user-created algorithms, and allow you to define your own
workflows and processing tasks. We will devote a full section to them a bit later.

In the upper part of the toolbox you can find a text box. To reduce the number
of algorithms shown in the toolbox and make it easier to find the one you need,
you can enter any word or phrase on the text box. Notice that, as you type, the
number of algorithms in the toolbox is reduced to just those which contain the
text you have entered in their names.

To execute an algorithm, just double-click on its name in the toolbox.


\subsection{The algorithm dialog}
\label{docs/user_manual/sextante/toolbox:the-algorithm-dialog}
Once you double-click on the name of the algorithm that you want to execute, a
dialog similar to the next one is shown (in this case, the dialog corresponds to
the SAGA `Convergence index' algorithm).
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-parameters-dialog}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{parameters_dialog.png}
\caption{Parameters Dialog \includegraphics[width=1em]{win.png}}\end{figure}

This dialog is used to set the input values that the algorithm needs to be
executed. It shows a table where input values and configuration parameters are
to be set. It, of course, has a different content depending on the requirements
of the algorithm to be executed, and is created automatically based on those
requirements. On the left side, the name of the parameter is shown. On the right
side the value of the parameter can be set.

Although the number and type of parameters depend on the characteristics of the
algorithm, the structure is similar for all of them. The parameters found on the
table can be of one of the following types.
\begin{itemize}
\item {} 
A raster layer, to select from a list of all the ones available (currently
opened) in QGIS. The selector contains as well a button on its right-hand side,
to let you select filenames that represent layers currently not loaded in QGIS.

\item {} 
A vector layer, to select from a list of all the ones available in the QGIS.
Layers not loaded in QGIS can be selected as well, as in the case of raster
layers, but only if the algorithm does not require a table field selected from
the attributes table of the layer. In that case, only opened layers can be
selected, since they need to be open so as to retrieve the list of field names
available.

You will see a button by each vector layer selector. If the algorithm contains
several of them, you will be able to toggle just one of them. If the button
corresponding to a vector input is toggled, the algorithm will be executed
iteratively on each one of its features. We will see more about this kind of
execution at the end of this section.

\item {} 
A table, to select from a list of all the ones available in QGIS. Non-spatial
tables are loaded into QGIS like vector layers, and in fact they are treated as
such by the program. Currently, the list of available tables that you will see
when executing a SEXTANTE algorithm that needs one of them is restricted to
tables coming from files in DBase (\code{.dbf}) or Comma-Separated Values
(\code{.csv}) formats.

\item {} 
An option, to choose from a selection list of possible options.

\item {} 
A numerical value, to be introduced in a text box. You will find a button by
its side. Clicking on it you will see a dialog that allows you to enter a
mathematical expression, so you can use it as a handy calculator. Some useful
variables related to data loaded into QGIS can be added to your expression, so
you can select a value derived from any of this variables such as the cellsize
of a layer or the northern most coordinate of another one.

\end{itemize}
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-number-selector}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{number_selector.png}
\caption{Number Selector \includegraphics[width=1em]{win.png}}\end{figure}
\begin{itemize}
\item {} 
A range, with min and max values to be introduced in two text boxes.

\item {} 
A text string, to be introduced in a text box.

\item {} 
A field, to choose from the attributes table of a vector layer or a single
table selected in another parameter.

\item {} 
A Coordinate Reference System (CRS). You can type the EPSG code directly in the
text box, or select it from the CRS selection dialog that appear when you click
on the button on the right-hand size

\item {} 
A extent, to be entered by four number representing its \code{xmin}, \code{xmax},
\code{ymin}, \code{ymax} limits. Clicking on the button on the right-hand side of the
value selector, a pop-up menu will appear, giving you two option: to select the
value from a layer or the current canvas extent, or to define it by dragging
directly onto the map canvas.
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-extent}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{extent.png}
\caption{SEXTANTE Extent \includegraphics[width=1em]{win.png}}\end{figure}

If you select the first option, you will see a window like the next one.
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-extent-list}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{extent_list.png}
\caption{SEXTANTE Extent List \includegraphics[width=1em]{win.png}}\end{figure}

If you select the second one, the parameters window will hide itself, so you
can click and drag onto the canvas. Once you have defined the selected
rectangle, the dialog will reappear, containing the values in the extent text
box.
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-extent-drag}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{extent_drag.png}
\caption{Extent Drag \includegraphics[width=1em]{win.png}}\end{figure}

\item {} 
A list of elements (whether raster layers, vector ones or tables), to select
from the list of the ones available in QGIS. To make the selection, click on
the small button on the left side of the corresponding row to see a dialog like
the following one.
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-multiple-selection}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{multiple_selection.png}
\caption{Multiple Selection \includegraphics[width=1em]{win.png}}\end{figure}

\item {} 
A small table to be edited by the user. These are used to define parameters like
lookup tables or convolution kernels, among others.

Click on the button on the right side to see the table and edit its values.
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-fixed-table}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{fixed_table.png}
\caption{Fixed Table \includegraphics[width=1em]{win.png}}\end{figure}

Depending on the algorithm, the number of rows can be modified or not, using
the buttons on the right side of the window.

\end{itemize}

You will find a \textbf{{[}Help{]}} button in the lower part of the parameters dialog. If
a help file is available, it will be shown, giving you more information about the
algorithms and detailed descriptions of what each parameter does. Unfortunately,
most algorithms lack good documentation, but if you feel like contributing to the
project, this would be a good place to start.


\subsubsection{A note on projections}
\label{docs/user_manual/sextante/toolbox:a-note-on-projections}
SEXTANTE --- and also most of the external applications whose algorithms are
available from SEXTANTE --- does not perform any reprojection on input layers
and assumes that all of them are already in a common coordinate system and ready
to be analized. Whenever you use more than one layer as input to an algorithm,
whether vector or raster, it is up to you to make sure that they are all in the
same coordinate system.

Note that, due to QGIS's `on-the-fly' reprojecting capabilities, although two
layers might seem to overlap and match, that might not be true if their original
coordinates are used without reprojecting them onto a common coordinate system.
That reprojection should be done manually and then use the resulting files as
input to SEXTANTE. Also note that the reprojection process can be performed with
SEXTANTE, which incorporates tools to do so.


\subsection{Data objects generated by SEXTANTE algorithms}
\label{docs/user_manual/sextante/toolbox:data-objects-generated-by-sextante-algorithms}
Data objects generated by SEXTANTE can be of any of the following types:
\begin{itemize}
\item {} 
A raster layer

\item {} 
A vector layer

\item {} 
A table

\item {} 
An HTML file (used for text and graphical outputs)

\end{itemize}

They are all saved to disk (there are no in-memory results), and the parameters
table will contain a text box corresponding to each one of these outputs, where
you can type the output channel to use for saving it. An output channel contains
the information needed to save the resulting object somewhere. In the most usual
case, you will save it to a file, but the architecture of SEXTANTE allows for any
other way of storing it. For instance, a vector layer can be stored in a database
or even uploaded to a remote server using a WFS-T service. Although solutions like
these are not yet implemented, SEXTANTE is prepared to handle them, and we expect
to add new kinds of output channels in a near feature.

To select an output channel, just click on the button on the right side of the
text box. That will open a save-file dialog, where you can select the desired
filepath. Supported file extensions are shown in the file format selector of the
dialog, depending on the kind of output and the algorithm.

The format of the output is defined by the filename extension. The supported
formats depend on the ones supported by the algorithm itself. To select a format,
just select the corresponding file extension (or add it if you are directly typing
the filepath instead). If the extension of the filepath you entered does not match
any of the supported ones, a default extension (usually  \code{.dbf} for tables,
\code{.tif} for raster layers and \code{.shp} for vector ones) will be appended
to the filepath and the file format corresponding to that extension will be used
to save the layer or table.

If you do not enter any filename, the result will be saved as a temporary file and
in the corresponding default file format, and will be deleted once you exit QGIS
(take care with that in case you save your project and it contains temporary
layers).

You can set a default folder for output data objects. Go to the configuration
dialog (you can open it from the \emph{SEXTANTE} menu), and in the
\emph{General} group you will find a parameter named \emph{Output folder}.
This output folder is used as the default path in case you type just a filename
with no path (i.e. \code{myfile.shp}) when executing an algorithm.

Apart from raster layers and tables, SEXTANTE also generates graphics and texts
as HTML files. These results are shown at the end of the algorithm execution in
a new dialog. This dialog will keep the results produced by SEXTANTE during the
current session, and can be shown at any time by selecting in menu
\emph{SEXTANTE \(\rightarrow\) SEXTANTE results viewer}.

Some external applications might have files (with no particular extension
restrictions) as output, but they do not belong to any of the categories above.
Those outut files will not be processed by QGIS (opened or included into the
current QGIS project), since most of the times correspond to file formats or
elements not supported by QGIS. This is, for instance, the case with LAS files
used for LiDAR data. The files get created, but you won't see anything new in
your QGIS working session.

For all the other types of outputs, you will find a check box that you can use
to tell SEXTANTE not whether to load the file once it is generated by the
algorithm or not. By default, all files are opened.

SEXTANTE does not support optional outputs, so all outputs are created, but you
can uncheck the corresponding check box if you are not interested in a given
output, which virtually makes it behave like an optional output (although the
layer is created anyway, but if you leave the text box empty, it will be saved
to a temporary file and deleted once you exit QGIS)


\subsection{Configuring SEXTANTE}
\label{docs/user_manual/sextante/toolbox:configuring-sextante}
As it has been mentioned, the configuration menu gives access to a new dialog
where you can configure how SEXTANTE works. Configuration parameters are
structured in separate blocks that you can select on the left-hand side of the
dialog.

Along with the aforementioned \emph{Output folder} entry, the
\emph{General} block contains parameters for setting the default rendering
style for SEXTANTE layers (that is, layers generated by using algorithms from any
of the SEXTANTE components). Just create the style you want using QGIS, save it
to a file, and then enter the path to that file in the settings so SEXTANTE can
use it. Whenever a layer is loaded by SEXTANTE and added to the QGIS canvas, it
will be rendered with that style.

Rendering stlyes can be configured individually for each algorithm and each one
of its outputs. Just right-click on the name of the algorithm in the toolbox and
select \emph{Edit rendering styles}. You will see a dialog like the one shown
next.
\phantomsection\label{docs/user_manual/sextante/toolbox:figure-rendering-styles}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{rendering_styles.png}
\caption{Rendering Styles \includegraphics[width=1em]{win.png}}\end{figure}

Select the style file (\code{.qml}) that you want for each output and press
\textbf{{[}OK{]}}.

Other configuration parameters in the \emph{General} group are explained
below:
\begin{itemize}
\item {} 
\textbf{Use filename as layer name}. The name of each resulting layer created by
SEXTANTE is defined by the algorithm generating it. In some cases, a fixed name
might be used, that meaning that the same name will be used, no matter which
input layer is used. In other cases, the name might depend on the name of the
input layer or some of the parameters used to run the algorithm. If this
checkbox is checked, the name will be taken from the output filename instead.
Notice, that, if the output is saved to a temporary file, the filename of this
temporary file is usually long and meaningless one intended to avoid collision
with other already existing filenames.

\item {} 
\textbf{Use only selected features}. If this option is selected, whenever a vector
layer is used as input for an algorithm, only its selected features will be
used. If the layer has no selected features, all of them will be used.

\end{itemize}

Apart from the \emph{General} block in the settings dialog, you will also
find one for each algorithm provider. They contain an \emph{Activate} item
that you can use to make algorithms appear or not in the toolbox. Also, some
algorithm providers have their own configuration items, that we will explain later
when covering particular algorithm providers.


\section{The SEXTANTE graphical modeler}
\label{docs/user_manual/sextante/modeler:the-sextante-graphical-modeler}\label{docs/user_manual/sextante/modeler::doc}

\subsection{Introduction}
\label{docs/user_manual/sextante/modeler:introduction}
The \emph{graphical modeler} allows to create complex models using a simple and
easy-to-use interface. When working with a GIS, most analysis operations are not
isolated, but part of a chain of operations instead. Using the graphical modeler,
that chain of processes can be wrapped into a single process, so it is easier and
more convenient to execute than a single process later on a different set on
inputs. No matter how many steps and different algorithms it involves, a model
is executed as a single algorithm, thus saving time and effort, specially for
larger models.

The modeler can be opened from the \emph{SEXTANTE} menu, but also from
the toolbox. In the \emph{Modeler} branch of the algorithms tree you will
find a group named \emph{Tools}, which contains an entry called
\emph{Create new model}.

The modeler has a working canvas where the structure of the model and the workflow
it represents are shown. On the left part of the window, a panel with two tabs can
be used to add new elements to the model.
\phantomsection\label{docs/user_manual/sextante/modeler:figure-modeler}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{modeler_canvas.png}
\caption{Modeler \includegraphics[width=1em]{win.png}}\end{figure}

Creating a model involves two steps:
\begin{enumerate}
\item {} 
Definition of necessary inputs*. These inputs will be added to the parameters
window, so the user can set their values when executing the model. The model
itself is a SEXTANTE algorithm, so the parameters window is generated
automatically as it happens with all the algorithms included in SEXTANTE.

\item {} 
Definition of the workflow. Using the input data of the model, the workflow is
defined adding algorithms and selecting how they use those inputs or the
outputs generated by other algorithms already in the model.

\end{enumerate}


\subsection{Definition of inputs}
\label{docs/user_manual/sextante/modeler:definition-of-inputs}
The first step to create a model is to define the inputs it needs. The following
elements are found in the \emph{Inputs} tabs on the left side of the modeler window:
\begin{itemize}
\item {} 
Raster layer

\item {} 
Vector layer

\item {} 
String

\item {} 
Table field

\item {} 
Table

\item {} 
Numerical value

\item {} 
Boolean value

\end{itemize}

Double-clicking on any of them, a dialog is shown to define its characteristics.
Depending on the parameter itself, the dialog will contain just one basic element
(the description, which is what the user will see when executing the model) or
more of them. For instance, when adding a numerical value, as it can be seen in
the next figure, apart from the description of the parameter you have to set a
default value and a range of valid values.
\phantomsection\label{docs/user_manual/sextante/modeler:figure-model-parameter}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{models_parameters.png}
\caption{Model Parameters \includegraphics[width=1em]{win.png}}\end{figure}

For each added input, a new element is added to the modeler canvas.
\phantomsection\label{docs/user_manual/sextante/modeler:figure-model-parameter-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{models_parameters2.png}
\caption{Model Parameters \includegraphics[width=1em]{win.png}}\end{figure}


\subsection{Definition of the workflow}
\label{docs/user_manual/sextante/modeler:definition-of-the-workflow}
Once the inputs have been defined, it is time to define the algorithms to apply
on them. Algorithms can be found in the \emph{Algorithms} tab, grouped much
in the same way as they are in the toolbox.
\phantomsection\label{docs/user_manual/sextante/modeler:figure-model-parameter-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{models_parameters3.png}
\caption{Model Parameters \includegraphics[width=1em]{win.png}}\end{figure}

To add an algorithm, double-click on its name. An execution dialog will appear,
with a content similar to the one found in the execution panel that SEXTANTE
shows when executing the algorithm from the toolbox. the one shown next correspond
to the SAGA `Convergence index' algorithm, the same one we saw in the section
dedicated to the SEXTANTE toolbox.
\phantomsection\label{docs/user_manual/sextante/modeler:figure-model-parameter-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{models_parameters4.png}
\caption{Model Parameters \includegraphics[width=1em]{win.png}}\end{figure}

As you can see, some differences exist. Instead of the file output box that was
used to set the filepath for output layers and tables, a simple text box is. If
the layer generated by the algorithm is just a temporary result that will be used
as the input of another algorithm and should not be kept as a final result, just
do not edit that textbox. Typing anything on it means that the result is a final
one, and the text that you supply will be the description for the output, which
will be the one the user will see when executing the model.

Selecting the value of each parameter is also a bit different, since there are
importante differences between the context of the modeler and the toolbox one.
Let's see how to introduce the values for each type of parameter.
\begin{itemize}
\item {} 
Layers (raster and vector) and tables. They are selected from a list, but in
this case the possible values are not the layers or tables currently loaded in
QGIS, but the list of model inputs of the corresponding type, or other layers
or tables generated by algorithms already added to the model.

\item {} 
Numerical values. Literal values can be introduced directly on the textbox. But
this textbox is also a list that can be used to select any of the numerical
value inputs of the model. In this case, the parameter will take the value
introduced by the user when executing the model.

\item {} 
String. Like in the case of numerical values, literal strings can be typed, or
an input string can be selected.

\item {} 
Table field. The fields of the parent table or layer cannot be known at
design-time, since they depend of the selection of the user each time the model
is executed. To set the value for this parameter, type the name of a field
directly in the textbox, or use the list to select a table field input already
added to the model. The validity of the selected field will be checked by
SEXTANTE at run-time.

\end{itemize}

Once all the parameter have been assigned valid values, click on \textbf{{[}OK{]}} and the
algorithm will be added to the canvas. It will be linked to all the other elements
in the canvas, whether algorithms or inputs, which provide objects that are used
as inputs for that algorithm.
\phantomsection\label{docs/user_manual/sextante/modeler:figure-model-parameter-5}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{models_parameters5.png}
\caption{Model Parameters \includegraphics[width=1em]{win.png}}\end{figure}

Elements can be dragged to a different position within the canvas, to change the
way the module structure is displayed and make it more clear and intuitive. Links
between elements are update automatically.

You can run your algorithm anytime clicking on the \textbf{{[}Run{]}} button. However, in order
to use it from the toolbox, it has to be saved and the modeler dialog closed, to
allow the toolbox to refresh its contents.


\subsection{Saving and loading models}
\label{docs/user_manual/sextante/modeler:saving-and-loading-models}
Use the \textbf{{[}Save{]}} button to save the current model and the \textbf{{[}Open{]}} one to open
any model previously saved. Model are saved with the \code{.model} extension. If
the model has been previously saved from the modeler window, you will not be
prompted for a filename, since there is already a file associated with that model,
and it will be used.

Before saving a model, you have to enter a name and a group for it, using the text
boxes in the upper part of the window.

Models saved on the \code{models} folder (the default folder when you are
prompted for a filename to save the model) will appear in the toolbox in the
corresponding branch. When the toolbox is invoked, SEXTANTE searches
the \code{models} folder for files with \code{.model} extension and loads the
models they contain. Since a model is itself a SEXTANTE algorithm, it can be
added to the toolbox just like any other algorithm.

The models folder can be set from the SEXTANTE configuration dialog, under the
\emph{Modeler} group.

Models loaded from the models folder appear not only in the toolbox, but also in
the algorithms tree in the \emph{Algorithms} tab of the modeler window. That
means that you can incorporate a model as a part of a bigger model, just as you
add any other algorithm.

In some cases, SEXTANTE might not be able to load a model because it cannot find
all the algorithms included in its workflow. If you have used a given algorithm
as part of your model, it should be available (that is, it should appear on the
toolbox) in order to load that model. Deactivating an algorithm provider in the
SEXTANTE configuration window renders all the algorithms in that provider unusable
by the modeler, which might cause problems when loading models. Keep that in mind
when you have trouble loading or executing models.


\subsection{Editing a model}
\label{docs/user_manual/sextante/modeler:editing-a-model}
You can edit the model you are currently creating, redefining the workflow and
the relationships between the algorithms and inputs that define the model itself.

If you right-click on an algorithm in the canvas representing the model, you will
see a context menu like the one shown next:
\phantomsection\label{docs/user_manual/sextante/modeler:figure-model-right-click}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{modeler_right_click.png}
\caption{Modeler Right Click \includegraphics[width=1em]{win.png}}\end{figure}

Selecting the \emph{Remove} option will cause the selected algorithm to be
removed. An algorithm can be removed only if there are no other algorithms
dependind on it. That is, if no output from the algorithm is used in a different
one as input. If you try to remove an algorithm that has others depending on it,
SEXTANTE will show you a warning message like the one you can see below:
\phantomsection\label{docs/user_manual/sextante/modeler:figure-cannot-delete-alg}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{cannot_delete_alg.png}
\caption{Cannot Delete ALG \includegraphics[width=1em]{win.png}}\end{figure}

Selecting the \emph{Edit} option or simply double-clicking on the algorithm
icon will show the parameters dialog of the algorithm, so you can change the
inputs and parameter values. Not all input elements available in the model will
appear in this case as available inputs. Layers or values generated at a more
advanced step in the workflow defined by the model will not be available if they
cause circular dependencies.

Select the new values and then click on the \textbf{{[}OK{]}} button as usual. The
connections between the model elements will change accordingly in the modeler
canvas.


\subsection{Activating and deactivating algorithms}
\label{docs/user_manual/sextante/modeler:activating-and-deactivating-algorithms}
Algorithms can be deactivated in the modeler, so they will not be executed once
the model is run. This can be used to test just a given part of the model, or
when you do not need all the outputs it generates.

To deactivate an algorithm, right-click on its icon in the model canvas and
select the \emph{Deactivate} option. You will see that the algorithm is
represented now with a red label under its name indicating that is not active.
\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=15em]{deactivated.png}
\caption{Deactivate \includegraphics[width=1em]{win.png}}\end{figure}

All algorithms depending (directly or undirectly) on that algorithm will also
appear as inactive, since they cannot be executed now.

To activate an algorithm, just right--click on its icon and select the
\emph{Activate} option.


\subsection{Editing model help files and meta-information}
\label{docs/user_manual/sextante/modeler:editing-model-help-files-and-meta-information}
You can document your models from SEXTANTE. Just click on the \textbf{{[}Edit model help{]}}
button and a dialog like the one shown next will appear.
\phantomsection\label{docs/user_manual/sextante/modeler:figure-help-edition}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{help_edition.png}
\caption{Help Edition \includegraphics[width=1em]{win.png}}\end{figure}

On the right-hand side you will see a simple HTML page, created using the
description of the input parameters and outputs of the algorithm, along with some
additional items like a general description of the model or its author. The first
time you open the help editor all those descriptions are empty, but you can edit
them using the elements on the left-hand side of the dialog. Select an element
on the upper part and the write its description in the texbox below.

Model help is saved in a file in the same folder as the model itself. You do not
have to worry about saving it, since it is done automatically.


\subsection{About available algorithms}
\label{docs/user_manual/sextante/modeler:about-available-algorithms}
You might notice that some algorithms that can be be executed from the toolbox
do not appear in the list of available ones when you are designing a model. To be
included in a model, and algorithm must have a correct semantic, so as to be
properly linked to other in the workflow. If an algorithm does not have such
well-defined semantic (for instance, if the number of output layers cannot be know
in advance), then it is not possible to use it within a model, and thus does not
appear in the list of them that you can find in the modeler dialog.

Additionaly, you will see some algorithms in the modeler that are not found in the
toolbox. This algorithms are meant to be used exclusively as part of a model, and
they are of no interest in a different context. The `Calculator' algorithm is an
example of that. It is just a simple arithmetic calculator that you can use to
modify numerical values (entered by the user or generated by some other algorithm).
This tools is really useful within a model, but outside of that context, it doesn't
make too much sense.


\subsection{SEXTANTE models as Python code}
\label{docs/user_manual/sextante/modeler:sextante-models-as-python-code}
\emph{This feature is temporarily unavailable}

Along with the tab that contains the graphical design of the model, you will find
another one containing a Python script which performs the same task as the model
itself. Using that code, you can create a console script (we will explain them
later in this same manual) and modify it to incorporate actions and methods not
available in the graphical modeler, such as loops or conditional sentences.

This feature is also a very practical way of learning how to use SEXTANTE from
the console and how to create SEXTANTE algorithms using Python code, so you can
use it as a learning tool when you start creating your own SEXTANTE scripts.

You will find a button below the text field containing the Python code. Click on
it to directly create a new script from that code, without having to copy and
paste it in the SEXTANTE script editor.


\section{The SEXTANTE batch processing interface}
\label{docs/user_manual/sextante/batch::doc}\label{docs/user_manual/sextante/batch:the-sextante-batch-processing-interface}

\subsection{Introduction}
\label{docs/user_manual/sextante/batch:introduction}
SEXTANTE algorithms (including models) can be executed as a batch process. That
is, they can be executed using not a single set of inputs, but several of them,
executing the algorithm as many times as needed. This is useful when processing
large amounts of data, since it is not necessary to launch the algorithm many
times from the toolbox.

To execute an algorithm as a batch process, right-click on its name in the
toolbox and select the \emph{Execute as batch process} option in the pop-up
menu that will appear.
\phantomsection\label{docs/user_manual/sextante/batch:figure-sextante-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{batch_processing_right_click.png}
\caption{Batch Processing Right Click \includegraphics[width=1em]{win.png}}\end{figure}


\subsection{The parameters table}
\label{docs/user_manual/sextante/batch:the-parameters-table}
Executing a batch process is similar to performing a single execution of an
algorithm. Parameter values have to be defined, but in this case we need not just
a single value for each parameter, but a set of them instead, one for each time
the algorithm has to be executed. Values are introduced using a table like the
one shown next.
\phantomsection\label{docs/user_manual/sextante/batch:figure-sextante-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{batch_processing.png}
\caption{Batch Processing \includegraphics[width=1em]{win.png}}\end{figure}

Each line of this table represents a single execution of the algorithm, and each
cell contains the value of one of the parameters. It is similar to the parameters
dialog that you see when executing an algorithm from the toolbox, but with a
different arrangement.

By default, the table contains just two rows. You can add or remove rows using
the buttons on the lower part of the window.

Once the size of the table has been set, it has to be filled with the desired
values.


\subsection{Filling the parameters table}
\label{docs/user_manual/sextante/batch:filling-the-parameters-table}
For most parameters, setting its value is trivial. Just type the value or select
it from the list of available options, depending on the parameter type.

The main differences are found for parameters representing layers or tables, and
for output filepaths. Regarding input layers and tables, when an algorithm is
executed as part of a batch process those input data objects are taken directly
from files, and not from the set of them already opened in QGIS. For this reason,
any algorithm can be executed as a batch process even if no data objects at all
are opened and the algorithm cannot be run from the toolbox.

Filenames for input data objects are introduced directly typing or, more
conveniently, clicking on the button on the right hand of the cell, which shows
a typical file chooser dialog. Multiple files can be selected at once. If the
input parameter represents a single data object and several files are selected,
each one of them will be put in a separate row, adding new ones if needed. If it
represents a multiple input, all the selected files will be added to a single
cell, separated by semicolons (\code{;}).

Output data objects are always saved to a file and, unlike when executing an
algorithm from the toolbox, saving to a temporary one is not permitted. You can
type the name directly or use the file chooser dialog that appears when clicking
on the accompanying button.

Once you select the file, a new dialog is shown to allow for autocompletion of
other cells in the same column (same parameter).
\phantomsection\label{docs/user_manual/sextante/batch:figure-sextante-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{batch_processing_save.png}
\caption{Batch Processing Save}\end{figure}

If the default value (`Do not autocomplete') is selected, SEXTANTE will just put
the selected filename in the selected cell from the parameters table. If any of
the other options is selected, all the cells below the selected one will be
automatically filled based on a defined criteria. This way, it is much easier to
fill the table, and the batch process can be defined with less effort.

Automatic filling can be done simply adding correlative numbers to the selected
filepath, or appending the value of another field at the same row. This is
particularly useful for naming output data object according to input ones.
\phantomsection\label{docs/user_manual/sextante/batch:figure-sextante-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{batch_processing_filepath.png}
\caption{Batch Processing File Path \includegraphics[width=1em]{win.png}}\end{figure}


\subsection{Executing the batch process}
\label{docs/user_manual/sextante/batch:executing-the-batch-process}
To execute the batch process once you have introduced all the necessary values,
just click on \textbf{{[}OK{]}}. SEXTANTE will show the progress of the global batch
process in the progress bar in the lower part of the dialog.


\section{Using SEXTANTE from the console}
\label{docs/user_manual/sextante/console:using-sextante-from-the-console}\label{docs/user_manual/sextante/console::doc}

\subsection{Introduction}
\label{docs/user_manual/sextante/console:introduction}
The console allows advanced users to increase their productivity and perform
complex operations that cannot be performed using any of the other elements of
the SEXTANTE GUI. Models involving several algorithms can be defined using the
command-line interface, and additional operations such as loops and conditional
sentences can be added to create more flexible and powerful workflows.

There is not a SEXTANTE console in QGIS, but all SEXTANTE commands are available
instead from QGIS built-in Python console. That means that you can incorporate
those command to your console work and connect SEXTANTE algorithms to all the
other features (including methods from the QGIS API) available from there.

The code that you can execute from the Python console, even if it does call any
SEXTANTE method, can be converted into a new SEXTANTE algorithm that you can later
call from the toolbox, the graphical modeler or any other SEXTANTE component, just
like you do with any other SEXTANTE algorithm. In fact, some algorithms that you
can find in the toolbox, like all the ones in the \emph{mmqgis} group, are
simple scripts.

In this chapter we will see how to use SEXTANTE from the QGIS Python console, and
also how to write your own algorithms using Python.


\subsection{Calling SEXTANTE from the Python console}
\label{docs/user_manual/sextante/console:calling-sextante-from-the-python-console}
The first thing you have to do is to import the SEXTANTE functions with
the following line:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{g+gp}{\PYGZgt{}\PYGZgt{}\PYGZgt{} }\PYG{k+kn}{import} \PYG{n+nn}{sextante}
\end{Verbatim}

Now, there is basically just one (interesting) thing you can do with SEXTANTE from
the console: to execute an algorithm. That is done using the \code{runalg()} method,
which takes the name of the algorithm to execute as its first parameter, and then
a variable number of additional parameter depending on the requirements of the
algorithm. So the first thing you need to know is the name of the algorithm to
execute. That is not the name you see in the toolbox, but rather a unique
command–line name. To find the right name for your algorithm, you can use the
\code{algslist()} method. Type the following line in you console:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{g+gp}{\PYGZgt{}\PYGZgt{}\PYGZgt{} }\PYG{n}{sextante}\PYG{o}{.}\PYG{n}{alglist}\PYG{p}{(}\PYG{p}{)}
\end{Verbatim}

You will see something like this.

\begin{Verbatim}[commandchars=\\\{\}]
Accumulated Cost (Anisotropic)----------------\textgreater{}saga:accumulatedcost(anisotropic)
Accumulated Cost (Isotropic)------------------\textgreater{}saga:accumulatedcost(isotropic)
Add Coordinates to points---------------------\textgreater{}saga:addcoordinatestopoints
Add Grid Values to Points---------------------\textgreater{}saga:addgridvaluestopoints
Add Grid Values to Shapes---------------------\textgreater{}saga:addgridvaluestoshapes
Add Polygon Attributes to Points--------------\textgreater{}saga:addpolygonattributestopoints
Aggregate-------------------------------------\textgreater{}saga:aggregate
Aggregate Point Observations------------------\textgreater{}saga:aggregatepointobservations
Aggregation Index-----------------------------\textgreater{}saga:aggregationindex
Analytical Hierarchy Process------------------\textgreater{}saga:analyticalhierarchyprocess
Analytical Hillshading------------------------\textgreater{}saga:analyticalhillshading
Average With Mask 1---------------------------\textgreater{}saga:averagewithmask1
Average With Mask 2---------------------------\textgreater{}saga:averagewithmask2
Average With Thereshold 1---------------------\textgreater{}saga:averagewiththereshold1
Average With Thereshold 2---------------------\textgreater{}saga:averagewiththereshold2
Average With Thereshold 3---------------------\textgreater{}saga:averagewiththereshold3
B-Spline Approximation------------------------\textgreater{}saga:b-splineapproximation
...
\end{Verbatim}

That's a list of all the available algorithms, alphabetically ordered, along with
their corresponding command-line names.

You can use a string as a parameter for this method. Instead of returning the full
list of algorithm, it will only display those that include that string. If, for
instance, you are looking for an algorithm to calculate slope from a DEM, type
\code{alglist("slope")} to get the following result:

\begin{Verbatim}[commandchars=\\\{\}]
DTM Filter (slope-based)----------------------\textgreater{}saga:dtmfilter(slope-based)
Downslope Distance Gradient-------------------\textgreater{}saga:downslopedistancegradient
Relative Heights and Slope Positions----------\textgreater{}saga:relativeheightsandslopepositions
Slope Length----------------------------------\textgreater{}saga:slopelength
Slope, Aspect, Curvature----------------------\textgreater{}saga:slopeaspectcurvature
Upslope Area----------------------------------\textgreater{}saga:upslopearea
Vegetation Index[slope based]-----------------\textgreater{}saga:vegetationindex[slopebased]
\end{Verbatim}

This result might change depending on the algorithms you have available.

It is easier now to find the algorithm you are looking for and its command-line
name, in this case \code{saga:slopeaspectcurvature}.

Once you know the command-line name of the algorithm, the next thing to do is to
know the right syntax to execute it. That means knowing which parameters are
needed and the order in which they have to be passed when calling the \code{runalg()}
method. SEXTANTE has a method to describe an algorithm in detail, which can be
used to get a list of the parameters that an algorithms require and the outputs
that it will generate. To do it, you can use the \code{alghelp(name\_of\_the\_algorithm)}
method. Use the command-line name of the algorithm, not the full descriptive name.

Calling the method with \code{saga:slopeaspectcurvature} as parameter, you get the
following description.

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{g+gp}{\PYGZgt{}\PYGZgt{}\PYGZgt{} }\PYG{n}{sextante}\PYG{o}{.}\PYG{n}{alghelp}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{saga:slopeaspectcurvature}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}
\PYG{g+go}{ALGORITHM: Slope, Aspect, Curvature}
\PYG{g+go}{   ELEVATION \PYGZlt{}ParameterRaster\PYGZgt{}}
\PYG{g+go}{   METHOD \PYGZlt{}ParameterSelection\PYGZgt{}}
\PYG{g+go}{   SLOPE \PYGZlt{}OutputRaster\PYGZgt{}}
\PYG{g+go}{   ASPECT \PYGZlt{}OutputRaster\PYGZgt{}}
\PYG{g+go}{   CURV \PYGZlt{}OutputRaster\PYGZgt{}}
\PYG{g+go}{   HCURV \PYGZlt{}OutputRaster\PYGZgt{}}
\PYG{g+go}{   VCURV \PYGZlt{}OutputRaster\PYGZgt{}}
\end{Verbatim}

Now you have everything you need to run any algorithm. As we have already
mentioned, there is only one single command to execute algorithms: \code{runalg()}.
Its syntax is as follows:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{g+gp}{\PYGZgt{}\PYGZgt{}\PYGZgt{} }\PYG{n}{sextante}\PYG{o}{.}\PYG{n}{runalg}\PYG{p}{\PYGZob{}}\PYG{n}{name\PYGZus{}of\PYGZus{}the\PYGZus{}algorithm}\PYG{p}{,} \PYG{n}{param1}\PYG{p}{,} \PYG{n}{param2}\PYG{p}{,} \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{,} \PYG{n}{paramN}\PYG{p}{,}
\PYG{g+go}{         Output1, Output2, ..., OutputN)}
\end{Verbatim}

The list of parameters and outputs to add depends on the algorithm you want to
run, and is exactly the list that the \code{alghelp()} method gives you, in the
same order as shown.

Depending on the type of parameter, values are introduced differently. The next
one is a quick review of how to introduce values for each type of input parameter
\begin{itemize}
\item {} 
Raster Layer, Vector Layer or Table. Simply use a string with the name that
identifies the data object to use (the name it has in the QGIS Table of
Contents) or a filename (if the corresponding layer is not opened, it will be
opened, but not added to the map canvas). If you have an instance of a QGIS
object representing the layer, you can also pass it as parameter. If the input
is optional and you do not want to use any data object, use \code{None}.

\item {} 
Selection. If an algorithm has a selection parameter, the value of that
parameter should be entered using an integer value. To know the available
options, you can use the \code{algoptions} command, as shown in the following
example:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{g+gp}{\PYGZgt{}\PYGZgt{}\PYGZgt{} }\PYG{n}{sextante}\PYG{o}{.}\PYG{n}{algoptions}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{saga:slopeaspectcurvature}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}
\PYG{g+go}{METHOD(Method)}
\PYG{g+go}{    0 \PYGZhy{} [0] Maximum Slope (Travis et al. 1975)}
\PYG{g+go}{    1 \PYGZhy{} [1] Maximum Triangle Slope (Tarboton 1997)}
\PYG{g+go}{    2 \PYGZhy{} [2] Least Squares Fitted Plane (Horn 1981, Costa\PYGZhy{}Cabral \PYGZam{} Burgess 1996)}
\PYG{g+go}{    3 \PYGZhy{} [3] Fit 2.Degree Polynom (Bauer, Rohdenburg, Bork 1985)}
\PYG{g+go}{    4 \PYGZhy{} [4] Fit 2.Degree Polynom (Heerdegen \PYGZam{} Beran 1982)}
\PYG{g+go}{    5 \PYGZhy{} [5] Fit 2.Degree Polynom (Zevenbergen \PYGZam{} Thorne 1987)}
\PYG{g+go}{    6 \PYGZhy{} [6] Fit 3.Degree Polynom (Haralick 1983)}
\end{Verbatim}

In this case, the algorithm has one of such such parameters, with 7 options.
Notice that ordering is zero-based.

\item {} 
Multiple input. The value is a string with input descriptors separated by
semicolons. As in the case of single layers or tables, each input descriptor
can be the data object name, or its filepath.

\item {} 
Table Field from XXX. Use a string with the name of the field to use. This
parameter is case-sensitive.

\item {} 
Fixed Table. Type the list of all table values separated by commas and enclosed
between quotes. Values start on the upper row and go from left to right. You can
also use a 2D array of value representing the table.

\item {} 
CRS. Enter the EPSG code number of the desired CRS.

\item {} 
Extent. You must use a string with \code{xmin}, \code{xmax}, \code{ymin} and \code{ymax}
values separated by commas.

\end{itemize}

Boolean, file, string and numerical parameters do not need any additional
explanations.

Input parameters such as strings booleans or numerical values have default values.
To use them, use \code{None} in the corresponding parameter entry.

For output data objects, type the filepath to be used to save it, just as it is
done from the toolbox. If you want to save the result to a temporary file, use
\code{None}. The extension of the file determines the file format. If you enter a
file extension not included in the ones supported by the algorithm, the default
file format for that output type will be used, and its corresponding extension
appended to the given filepath.

Unlike when an algorithm is executed from the toolbox, outputs are not added to
the map canvas if you execute that same algorithm from the Python console. If
you want to add an output to it, you have to do it yourself after running the
algorithm. To do so, you can use QGIS API commands, or, even easier, use one of
the handy methods provided by SEXTANTE for such task.

The \code{runalg()} method returns a dictionary with the output names (the ones shown
in the algorithm description) as keys and the filepaths of those outputs as values.
To add all the outputs generated by an algorithm, pass that dictionary to the
\code{loadFromAlg()} method. You can also load an individual layer passing its
filepath to the \code{load()} method.


\subsection{Creating scripts and running them from the toolbox}
\label{docs/user_manual/sextante/console:creating-scripts-and-running-them-from-the-toolbox}
You can create your own algorithms by writing the corresponding Python code and
adding a few extra lines to supply additional information needed by SEXTANTE. You
can find a \emph{Create new script} under the tools group in the script
algorithms block of the toolbox. Double click on it to open the script edition
dialog. That's where you should type your code. Saving the script from there in
the \code{scripts} folder (the default one when you open the save file dialog),
with \code{.py} extension, will automatically create the corresponding algorithm.

The name of the algorithm (the one you will see in the toolbox) is created from
the filename, removing its extension and replacing low hyphens with blank spaces.

Let's have the following code, which calculates the Topographic Wetness Index
(TWI) directly from a DEM

\begin{Verbatim}[commandchars=\\\{\}]
\#\#dem=raster
\#\#twi=output
ret\_slope = sextante.runalg("saga:slopeaspectcurvature", dem, 0, None,
                None, None, None, None)
ret\_area = sextante.runalg("saga:catchmentarea(mass-fluxmethod)", dem,
                0, False, False, False, False, None, None, None, None, None)
sextante.runalg("saga:topographicwetnessindex(twi), ret\_slope['SLOPE'],
                ret\_area['AREA'], None, 1, 0, twi)
\end{Verbatim}

As you can see, it involves 3 algorithms, all of them coming from SAGA. The last
one of them calculates de TWI, but it needs a slope layer and a flow accumulation
layer. We do not have these ones, but since we have the DEM, we can calculate them
calling the corresponding SAGA algorithms.

The part of the code where this processing takes place is not difficult to
understand if you have read the previous sections in this chapter. The first
lines, however, need some additional explanation. They provide SEXTANTE the
information it needs to turn your code into an algorithm that can be run from
any of its components, like the toolbox or the graphical modeler.

These lines start with a double Python comment symbol and have the following
structure:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{p}{[}\PYG{n}{parameter\PYGZus{}name}\PYG{p}{]}\PYG{o}{=}\PYG{p}{[}\PYG{n}{parameter\PYGZus{}type}\PYG{p}{]} \PYG{p}{[}\PYG{n}{optional\PYGZus{}values}\PYG{p}{]}
\end{Verbatim}

Here is a list of all the parameter types that SEXTANTE supports in its scripts,
their syntax and some examples.
\begin{itemize}
\item {} 
\code{raster}. A raster layer

\item {} 
\code{vector}. A vector layer

\item {} 
\code{table}. A table

\item {} 
\code{number}. A numerical value. A default value must be provided. For instance,
\code{depth=number 2.4}

\item {} 
\code{string}. A text string. As in the case of numerical values, a default value
must be added. For instance, \code{name=string Victor}

\item {} 
\code{boolean}. A boolean value. Add \code{True} or \code{False} after it to set the
default value. For example, \code{verbose=boolean True}

\item {} 
\code{multiple raster}. A set of input raster layers.

\item {} 
\code{multiple vector}. A set of input vector layers.

\item {} 
\code{field}. A field in the attributes table of a vector layer. The name of the
layer has to be added after the \code{field} tag. For instance, if you have
declared a vector input with \code{mylayer=vector}, you could use \code{myfield=field
mylayer} to add a field from that layer as parameter.

\item {} 
\code{folder}. A folder

\item {} 
\code{file}. A filename

\end{itemize}

The parameter name is the name that will be shown to the user when executing the
algorithm, and also the variable name to use in the script code. The value entered
by the user for that parameter will be assigned to a variable with that name.

When showing the name of the parameter to the user, SEXTANTE will edit it to
improve its appearance, replacing low hyphens with blankspaces. So, for instance,
if you want the user to see a parameter named \code{A numerical value}, you can use
the variable name \code{A\_numerical\_value}.

Layers and tables values are strings containing the filepath of the corresponding
object. To turn them into a QGIS object, you can use the
\code{sextante.getObjectFromUri()} function. Multiple inputs also have a string
value, which contains the filepaths to all selected object, separated by
semicolons.

Outputs are defined in a similar manner, using the following tags:
\begin{itemize}
\item {} 
\code{output raster}

\item {} 
\code{output vector}

\item {} 
\code{output table}

\item {} 
\code{output html}

\item {} 
\code{output file}

\item {} 
\code{output number}

\item {} 
\code{output string}

\end{itemize}

The value assigned to the output variables is always a string with a filepath.
It will correspond to a temporary filepath in case the use has not entered any
output filename.

When you declare an output, SEXTANTE will try to add it to QGIS once the algorithm
is finished. That is the reason why, although the \code{runalg()} method does not
load the layers it produces, the final TWI layer will be loaded, since it is saved
to the file entered by the user, which is the value of the corresponding output.

Do not use the \code{load()} method in your script algorithms, but just when working
with the console line. If a layer is created as output of an algorithm, it should
be declared as such. Otherwise, you will not be able to properly use the algorithm
in the modeler, since its syntax (as defined by the tags explained above) will
not match what the algorithm really creates.

Hidden outputs (numbers and strings) do not have a value. Instead, it is you who
has to assign a value to them. To do so, just set the value of a variable with
the name you used to declare that output. For instance, if you have used this
declaration,

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{c}{\PYGZsh{}\PYGZsh{}average=output number}
\end{Verbatim}

the following line will set the value of the output to 5:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{average} \PYG{o}{=} \PYG{l+m+mi}{5}
\end{Verbatim}

In addition to the tags for parameters and outputs, you can also define the group
under which the algorithm will be shown, using the \code{group} tag.

If you algorithm takes a long time to process, it is a good idea to inform the
user. You have a global named \code{progress} available, with two available methods:
\code{setText(text)} and \code{setPercentage(percent)} to modify the progress text and
the progress bar.

Several examples are provided with SEXTANTE. Please, check them to see real
examples of how to create algorithms using this feature of SEXTANTE. You can
right-click on any script algorithm and select \emph{Edit script} to edit
its code or just to see it.


\subsection{Documenting your scripts}
\label{docs/user_manual/sextante/console:documenting-your-scripts}
As in the case of models, you can create additional documentation for your script,
to explain what they do and how to use them. In the script editing dialog you will
find a \textbf{{[}Edit script help{]}} button. Click on it and it will take you to the help
editing dialog. Check the chapter about the graphical modeler to know more about
this dialog and how to use it.

Help files are saved in the same folder as the script itself, adding the
\code{.help} extension to the filename. Notice that you can edit your script's
help before saving it for the first time. If you later close the script editing
dialog without saving the script (i.e. you discard it), the help content you
wrote will be lost. If your script was already saved and is associated to a
filename, saving is done automatically.


\section{The SEXTANTE history manager}
\label{docs/user_manual/sextante/history::doc}\label{docs/user_manual/sextante/history:the-sextante-history-manager}

\subsection{The SEXTANTE history}
\label{docs/user_manual/sextante/history:the-sextante-history}
Every time you execute a SEXTANTE algorithm, information about the process is
stored in the SEXTANTE history manager. Along with the parameters used, the date
and time of the execution are also saved.

This way, it is easy to track the and control all the work that has been developed
using SEXTANTE, and easily reproduce it.

The SEXTANTE history manager is a set of registry entries grouped according to
their date of execution, making it easier to find information about an algorithm
executed at any particular moment.
\phantomsection\label{docs/user_manual/sextante/history:figure-history-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{history.png}
\caption{History \includegraphics[width=1em]{win.png}}\end{figure}

Process information is kept as a command-line expression, even if the algorithm
was launched from the toolbox. This makes it also useful for those learning how
to use the command-line interface, since they can call an algorithm using the
toolbox and then check the history manager to see how that same algorithm could
be called from the command line.

Apart from browsing the entries in the registry, processes can be re-executed,
simply double-clicking on the corresponding entry.

Along with algorithm executions, SEXTANTE communicates with the user using the
other groups of the registry, namely \emph{Errors}, \emph{Warnings} and
\emph{Information}. In case something is not working properly, having a look
at the \emph{Errors} might help you to see what is happening. If you get in
contact with a SEXTANTE developer to report a bug or error, the information in
that group will be very useful for him to find out what is going wrong.

When executing third party algorithms, this is usually done calling their
command-line interfaces, which communicate with the user using the console.
Although that console is not shown, a full dump of it is stored in the
\emph{Information} group each time you run one of those algorithms. If, for
instance, you are having problems executing a SAGA algorithm, look for an entry
name `SAGA execution console output' to check all the messages generated by SAGA
and try to find out where the problem is.

Some algorithms, even if they can produce a result with the given input data,
might add comments or additional information to \emph{Warning} in case
they detect potential problems from that data, in order to warn you about them.
Make sure you check those messages in case you are having unexpected results.


\section{Configuring external applications}
\label{docs/user_manual/sextante/3rdParty:configuring-external-applications}\label{docs/user_manual/sextante/3rdParty::doc}

\subsection{Introduction}
\label{docs/user_manual/sextante/3rdParty:introduction}
SEXTANTE can be extended using additional applications, calling them from within
SEXTANTE. Currently, SAGA, GRASS, OTB(Orfeo Toolbox) and R are supported, along
with some other command-line applications that provide spatial data analysis
functionalities. Algorithms relying on an external application are managed by
their own algorithm provider.

This chapter will show you how to configure SEXTANTE to include these additional
applications, and will explain some particular features of the algorithm based
on them. Once you have correctly configured the system, you will be able to
execute external algorithms from any SEXTANTE component like the toolbox or the
graphical modeler, just like you do with any other SEXTANTE geoalgorithm.

By default, all algorithms that rely on an external appplication not shipped with
QGIS are not enabled. You can enable them in the SEXTANTE configuration dialog.
Make sure that the corresponding application is already installed in your system.
Enabling an algorithm provider without installing the application it needs will
cause the algorithms to appear in the toolbox, but an error will be thrown when
you try to execute them.

This is because the algorithm descriptions (needed to create the parameters dialog
and give SEXTANTE the information it needs about the algorithm) are not included
with each appllication, but with SEXTANTE instead. That is,they are part of
SEXTANTE, so you have them in your installation even if you have not installed
any other software. Running the algorithm, however, needs the application binaries
to be installed in your system.


\subsubsection{A note on file formats}
\label{docs/user_manual/sextante/3rdParty:a-note-on-file-formats}
When using an external software, opening a file in QGIS does not mean that it can
be opened and processed as well on that other software. In most cases, it can
read what you have opened in QGIS, but in some cases, that might not be the case.
When using databases or uncommon file formats, whether for raster of vector
layers, problems might arise. If that happens, try to use well known file formats
that you are sure that are understood by both programs, and check to console
output (in the history and log dialog) for knowing more about what is going wrong.

Using GRASS raster layers is, for instance, one case in which you might have
trouble and not be able to complete your work if you call an external algorithm
using such a layer as input. For this reason, these layers will not appear as
available to SEXTANTE algorithms (we are currently working on solving this, and
expect to have it ready soon).

You should, however, find no problems at all with vector layers, since SEXTANTE
automatically converts from the original file format to one accepted by the
external application before passing the layer to it. This adds an extra processing
time, which might be significant if the layer has a large size, so do not be
surprised if it takes more to process a layer from a DB connection that one of a
similar size stored in a shapefile.

Providers not using external applications can process any layer that you can open
in QGIS, since they open it for analysis trough QGIS.

Regarding output formats, raster layers can be saved as TIFF (\code{.tif}) files,
while vector layers are saved as shapefiles (\code{.shp}). These have been chosen
as the `lingua franca' between supported third party applications and QGIS. If
the output filename that you select is not one of the above, it will be modified,
adding the corresponding suffix, and the default file format will be used.

In the case of GDAL, the number of supported output formats is larger. When you
open the file selection dialog, you will see that you have more formats (and their
corresponding extensions available). For more information about which formats are
supported, check the GDAL documentation.


\subsubsection{A note on vector layer selections}
\label{docs/user_manual/sextante/3rdParty:a-note-on-vector-layer-selections}
By default, when an external algorithm takes a vector layer, it will use all its
features, even if a selection exist in QGIS. You can make an external algorithm
aware of that selection by checking the \emph{Use selected features in
external applications} item in the \emph{General} settings group. When you
do so, each time you execute an external algorithm that uses a vector layer, the
selected features of that layer will be exported to a new layer, and the algorithm
will work with that new layer instead.

Notice that if you select this option, a layer with no selection will behave like
a layer with all its features selected, not like an empty layer.


\subsection{SAGA}
\label{docs/user_manual/sextante/3rdParty:saga}
SAGA algorithms can be run from SEXTANTE if you have SAGA installed in your system
and you configure SEXTANTE properly so it can find SAGA executables. In particular,
the SAGA command-line executable is needed to run SAGA algorithms. SAGA binaries
are not included with SEXTANTE, so you have to download and install the software
yourself. Please check the SAGA website at for more information. SAGA 2.0.8 is
needed.

Once SAGA is installed, and if you are running Windows, open the SEXTANTE
configuration dialog. In the \emph{SAGA} block you will find a setting named
\emph{SAGA Folder}. Enter the path to the folder where SAGA is installed.
Close the configuration dialog and now you are ready to run SAGA algorithms from
SEXTANTE.

In case you are using Linux, there is no need to configure that, and you will not
see those folders. Instead, you must make sure that SAGA is properly installed
and its folder is added to the PATH environment variable. Just open a console and
type \code{saga\_cmd} to check that the system can found where SAGA binaries are
located.


\subsubsection{About SAGA grid system limitations}
\label{docs/user_manual/sextante/3rdParty:about-saga-grid-system-limitations}
Most of SAGA algorithms that require several input raster layers, require them to
have the same grid system. That is, to cover the same geographic area and have
the same cellsize, so their corresponding grids match. When calling SAGA
algorithms from SEXTANTE, you can use any layer, regardless of its cellsize and
extent. When multiple raster layers are used as input for a SAGA algorithm,
SEXTANTE resamples them to a common grid system and then passes them to SAGA
(unless the SAGA algorithm can operate with layers from different grid systems).

The definition of that common grid system is controlled by the user, and you will
find several parameters in the SAGA group of the setting window to do so. There
are two ways of setting the target grid system:
\begin{itemize}
\item {} 
Setting it manually. You define the extent setting the values of the following
parameters:
\begin{itemize}
\item {} 
Resampling min X

\item {} 
Resampling max X

\item {} 
Resampling min Y

\item {} 
Resampling max Y

\item {} 
Resampling cellsize

\end{itemize}

Notice that SEXTANTE will resample input layers to that extent, even if they
do not overlap with it.

\item {} 
Setting it automatically from input layers. To select this option, just check
the \emph{Use min covering grid system for resampling} option. All the
other settings will be ignored and the minimum extent that covers all the input
layers will be used. The cellsize of the target layer is the maximum of all
cellsizes of the input layers.

\end{itemize}

For algorithms that do not use multiple raster layers, or for those that do not
need a unique input grid system, no resampling is performed before calling SAGA,
and those parameters are not used.


\subsubsection{Limitations for multi-band layers}
\label{docs/user_manual/sextante/3rdParty:limitations-for-multi-band-layers}
Unlike QGIS, SAGA has no support for multiband layers. If you want to use a
multiband layer (such as an RGB or multispectral image), you first have to split
it into singlebanded images. To do so, you can use the `SAGA/Grid - Tools/Split
RGB image' algorithm (which creates 3 images from an RGB image) or the
`SAGA/Grid - Tools/Extract band' algorithm (to extract a single band).


\subsubsection{Limitations in cellsize}
\label{docs/user_manual/sextante/3rdParty:limitations-in-cellsize}
SAGA assumes that raster layers have the same cellsize in the X and Y axis. If you
are working with a layer with different values for its horizontal and vertical
cellsizes, you might get unexcepted results. In this case, a warning will be added
to the SEXTANTE log, indicating that an input layer might not be suitable to be
processed by SAGA.


\subsubsection{Logging}
\label{docs/user_manual/sextante/3rdParty:logging}
When SEXTANTE calls SAGA, it does it using its command-line interface, thus
passing a set of commands to perform all the required operation. SAGA show its
progress by writing information to the console, which includes the percentage
of processing already done, along with additional content. This output is
filtered by SEXTANTE and used to update the progress bar while the algorithm
is running.

Both the commands sent by SEXTANTE and the additional information printed by
SAGA can be logged along with other SEXTANTE log messages, and you might find
them useful to track in detailed what is going on when SEXTANTE runs a SAGA
algorithm. You will find two settings, namely \emph{Log console output} and
\emph{Log execution commands}  to activate that logging mechanism.

Most other providers that use an external application and call it through the
command-line have similar options, so you will find them as well in other places
in the SEXTANTE settings list.


\subsection{R and R scripts}
\label{docs/user_manual/sextante/3rdParty:r-and-r-scripts}
R integration in SEXTANTE is different from that of SAGA in that there is not a
predefined set of algorithms you can run (except for a few examples). Instead,
you should write your scripts and call R commands, much like you would do from R,
and in a very similar manner to what we saw in the chapter dedicated to SEXTANTE
scripts. This chapter shows you the syntax to use to call those R commands from
SEXTANTE and how to use SEXTANTE objects (layers, tables) in them.

The first thing you have to do, as we saw in the case of SAGA, is to tell SEXTANTE
where you R binaries are located. You can do so using the \emph{R folder}
entry in the SEXTANTE configuration dialog. Once you have set that parameter, you
can start creating your own R scripts and executing them.

Once again, this is different in Linux, and you just have to make sure that the
R folder is included in the PATH environment variable. If you can start R just
typing \code{R} in a console, then you are ready to go.

To add a new algorithm that calls an R function (or a more complex R script that
you have developed and you would like to have available from SEXTANTE), you have
to create a script file that tells SEXTANTE how to perform that operation and the
corresponding R commands to do so.

Script files have the extension \code{.rsx} and creating them is pretty easy
if you just have a basic knowledge of R syntax and R scripting. They should be
stored in the R scripts folder. You can set this folder in the R settings group
(available from the SEXTANTE settings dialog), just like you do with the folder
for regular SEXTANTE scripts.

Let’s have a look at a very simple file script file, which calls the R method
\code{spsample} to create a random grid within the boundary of the polygons in a
given polygon layer. This method belong to the \code{maptools} package. Since almost
all the algorithms that you might like to incorporate into SEXTANTE will use or
generate spatial data, knowledge of spatial packages like \code{maptools} and,
specially, \code{sp}, is mandatory.

\begin{Verbatim}[commandchars=\\\{\}]
\#\#polyg=vector
\#\#numpoints=number 10
\#\#output=output vector
\#\#sp=group
pts=spsample(polyg,numpoints,type="random")
output=SpatialPointsDataFrame(pts, as.data.frame(pts))
\end{Verbatim}

The first lines, which start with a double Python comment sign (\#\#), tell SEXTANTE
the inputs of the algorithm described in the file and the outputs that it will
generate. They work exactly with the same syntax as the SEXTANTE scripts that we
have already seen, so they will not be described here again. Check the
corresponding section for more information.

When you declare an input parameter, SEXTANTE uses that information for two
things: creating the user interface to ask the user for the value of that
parameter and creating a corresponding R variable that can be later used as input
for R commands.

In the above example, we are declaring an input of type \code{vector} named
\code{polyg}. When executing the algorithm, SEXTANTE will open in R the layer
selected by the user and store it in a variable also named \code{polyg}. So the name
of a parameter is also the name of the variable that we can use in R for accesing
the value of that parameter (thus, you should avoid using reserved R words as
parameter names).

Spatial elements such as vector and raster layers are read using the \code{readOGR()}
and \code{readGDAL()} commands (you do not have to worry about adding those commands
to your description file, SEXTANTE will do it) and stored as \code{Spatial*DataFrame}
objects. Table fields are stored as strings containing the name of the selected
field.

Tables are opened using the \code{read.csv()} command. If a table entered by the
user is not in CSV format, it will be converted prior to importing it in R.

Knowing that, we can now understand the first line of our example script (the
first line not starting with a Python comment).

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{pts}\PYG{o}{=}\PYG{n}{spsample}\PYG{p}{(}\PYG{n}{polyg}\PYG{p}{,}\PYG{n}{numpoints}\PYG{p}{,}\PYG{n+nb}{type}\PYG{o}{=}\PYG{l+s}{\PYGZdq{}}\PYG{l+s}{random}\PYG{l+s}{\PYGZdq{}}\PYG{p}{)}
\end{Verbatim}

The variable \code{polygon} already contains a \code{SpatialPolygonsDataFrame} object,
so it can be used to call the \code{spsample} method, just like the \code{numpoints}
one, which indicates the number of points to add to the created sample grid.

Since we have declared an output of type vector named \code{out}, we have to create
a variable named \code{out} and store a \code{Spatial*DataFrame} object in it (in this
case, a \code{SpatialPointsDataFrame}). You can use any name for your intermediate
variables. Just make sure that the variable storing your final result has the
same name that you used to declare it, and contains a suitable value.

In this case, the result obtained from the \code{spsample} method has to be converted
explicitly into a \code{SpatialPointsDataFrame} object, since it is itself an object
of class \code{ppp}, which is not a suitable class to be retuned to SEXTANTE.

If you algorithm does not generate any layer, but a text result in the console
instead, you have to tell SEXTANTE that you want the console to be shown once the
execution is finished. To do so, just start the command lines that produce the
results you want to print with the \code{\textgreater{}} (`greater') sign. The output of all other
lines will not be shown. For instance, here is the description file of an
algorithms that performs a normality test on a given field (column) of the
attributes of a vector layer:

\begin{Verbatim}[commandchars=\\\{\}]
\#\#layer=vector
\#\#field=field layer
\#\#nortest=group
library(nortest)
\textgreater{}lillie.test(layer[[field]])
\end{Verbatim}

The output ot the last line is printed, but the output of the first is not (and
neither are the outputs from other command lines added automatically by SEXTANTE).

If your algorithm creates any kind of graphics (using the \code{plot()} method),
add the following line:

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{c}{\PYGZsh{}\PYGZsh{}showplots}
\end{Verbatim}

This will cause SEXTANTE to redirect all R graphical outputs to a temporary file,
which will be later opened once R execution has finished.

Both graphics and console results will be shown in the SEXTANTE results manager.

For more information, please check the script files provided with SEXTANTE. Most
of them are rather simple and will greatly help you understand how to create your
own ones.


\subsection{GRASS}
\label{docs/user_manual/sextante/3rdParty:grass}
Configuring GRASS is not much different from configuring SAGA. First, the path to
the GRASS folder has to be defined, but only if you are running Windows.
Additionaly, a shell interpreter (usually \code{msys.exe}, which can be found
in most GRASS for Windows distributions) has to be defined and its path set up
as well.

By default, SEXTANTE tries to configure its GRASS connector to use the GRASS
distribution that ships along with QGIS. This should work without problems in
most systems, but if you experience problems, you might have to do it manually.
Also, if you want to use a different GRASS version, you can change that setting
and point to the folder where that other version is kept. GRASS 6.4 is needed
for algorithms to work correctly.

If you are running Linux, you just have to make sure that GRASS is correctly
installed, and that it can be run without problem from a console.

GRASS algorithms use a region for calculations. This region can be defined
manually using values similar to the ones found in the SAGA configuration, or
automatically, taking the minimum extent that covers all the input layers used
to execute the algorithm each time. If this is the behaviour you prefer, just
check the \emph{Use min covering region} option in the GRASS configuration
parameters.

GRASS includes help files describing each algorithm. If you set the
\emph{GRASS help folder} parameter, SEXTANTE will open them when you use
the \textbf{{[}Show help{]}} button from the parameters window of the algorithm.

The last parameter that has to be configured is related to the mapset. A mapset
is needed to run GRASS, and SEXTANTE creates a temporary one for each execution.
You have to tell SEXTANTE if the data you are working with uses geographical
(lat/lon) coordinates or projected ones.


\subsection{GDAL}
\label{docs/user_manual/sextante/3rdParty:gdal}
No additional configuration is needed to run GDAL algorithms, since it is already
incorporated to QGIS and SEXTANTE can infere its configuration from it.


\subsection{Orfeo ToolBox}
\label{docs/user_manual/sextante/3rdParty:orfeo-toolbox}
Orfeo ToolBox (OTB) algorithms can be run from SEXTANTE if you have OTB installed
in your system and configured SEXTANTE properly so it can find all necessary files
(command-line tools and libraries). Please note that OTB binaries are not included
in SEXTANTE, so you have to download and install the software yourself. Please
check the OTB website for more information.

Once OTB is installed, start QGIS, open the SEXTANTE configuration dialog and
configure OTB algorithm provider. In the \emph{Orfeo Toolbox (image analysis)}
block you will find all settings related to OTB. First ensure that algorithms are
enabled.

Then configure path to the folder where OTB command-line tools and libraries
are installed:
\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png} usually \emph{OTB applications folder} point to \code{/usr/lib/otb/applications}
and \emph{OTB command line tools folder} is \code{/usr/bin}

\item {} 
\includegraphics[width=1em]{win.png} if you use OSGeo4W installer, than install \code{otb-bin} package and enter
\code{C:\textbackslash{}OSGeo4W\textbackslash{}apps\textbackslash{}orfeotoolbox\textbackslash{}applications} as \emph{OTB applications folder}
and \code{C:\textbackslash{}OSGeo4W\textbackslash{}bin} as \emph{OTB command line tools folder}

\end{itemize}


\subsection{TauDEM}
\label{docs/user_manual/sextante/3rdParty:taudem}
To use this provider you need to install TauDEM command line tools.


\subsubsection{Windows}
\label{docs/user_manual/sextante/3rdParty:windows}
Please visit \href{http://hydrology.usu.edu/taudem/taudem5.0/downloads.html}{TauDEM homepage}
for installation instructions and precompiled binaries for 32bit and 64bit systems.
\textbf{IMPORTANT}: you need TauDEM 5.0.6 executables, version 5.2 currently not
supported.


\subsubsection{Linux}
\label{docs/user_manual/sextante/3rdParty:linux}
There are no packages for most Linux distribution, so you should compile TauDEM
by yourself. As TauDEM uses MPICH2, first install it using your favorite package
manager. Also TauDEM works fine with OpenMPI, so you can use it instead of MPICH2.

Download TauDEM 5.0.6 \href{http://hydrology.usu.edu/taudem/taudem5.0/TauDEM5PCsrc\_506.zip}{source code}
and extract files in some folder.

Open \code{linearpart.h} file and add after line

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{c}{\PYGZsh{}include \PYGZdq{}mpi.h\PYGZdq{}}
\end{Verbatim}

add new line with

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{c}{\PYGZsh{}include \PYGZlt{}stdint.h\PYGZgt{}}
\end{Verbatim}

so you'll get

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{c}{\PYGZsh{}include \PYGZdq{}mpi.h\PYGZdq{}}
\PYG{c}{\PYGZsh{}include \PYGZlt{}stdlib.h\PYGZgt{}}
\end{Verbatim}

Save changes and close file. Now open \code{tiffIO.h}, find line
\code{\#include "stdint.h"} and replace quotes (\code{""}) with \code{\textless{}\textgreater{}}, so you'll get

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{c}{\PYGZsh{}include \PYGZlt{}stdint.h\PYGZgt{}}
\end{Verbatim}

Save changes and close file. Create build directory and cd into it

\begin{Verbatim}[commandchars=\\\{\}]
mkdir build
cd build
\end{Verbatim}

Configure your build with command

\begin{Verbatim}[commandchars=\\\{\}]
CXX=mpicxx cmake -DCMAKE\_INSTALL\_PREFIX=/usr/local ..
\end{Verbatim}

and then compile

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{make}
\end{Verbatim}

Finaly, to install TauDEM into \code{/usr/local/bin}, run

\begin{Verbatim}[commandchars=\\\{\}]
sudo make install
\end{Verbatim}

\index{Create\_Maps}
\index{Layout\_Maps}
\index{Compose\_Maps}

\chapter{Print Composer}
\label{docs/user_manual/print_composer/print_composer:label-printcomposer}\label{docs/user_manual/print_composer/print_composer:print-composer}\label{docs/user_manual/print_composer/print_composer::doc}\label{docs/user_manual/print_composer/print_composer:index-2}
The print composer provides growing layout and printing capabilities. It allows
you to add elements such as the QGIS map canvas, legend, scalebar, images, basic
shapes, arrows and text labels. You can size, group, align and position each
element and adjust the properties to create your layout. The layout can be printed
or exported to image formats, Postscript, PDF or to SVG (export to SVG is not
working properly with some recent Qt4 versions. You should try and check
individual on your system). You can save the layout as template and load it again
in another session. See a list of tools in {\hyperref[docs/user_manual/print_composer/print_composer:table-composer-1]{table\_composer\_1}}:

\index{print\_composer!tools}\phantomsection\label{docs/user_manual/print_composer/print_composer:table-composer-1}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Icon
} & \textsf{\relax 
Purpose
} & \textsf{\relax 
Icon
} & \textsf{\relax 
Purpose
}\\
\hline &  &  & \\

\includegraphics[width=1.5em]{mActionFolder.png}
 & 
Load from template
 & 
\includegraphics[width=1.5em]{mActionFileSaveAs.png}
 & 
Save as template
\\

\includegraphics[width=1.5em]{mActionSaveMapAsImage.png}
 & 
Export to an image format
 & 
\includegraphics[width=1.5em]{mActionSaveAsPDF.png}
 & 
Export as PDF
\\

\includegraphics[width=1.5em]{mActionSaveAsSVG.png}
 & 
Export print composition to SVG
 & 
\includegraphics[width=1.5em]{mActionFilePrint.png}
 & 
Print or export as Postscript
\\

\includegraphics[width=1.5em]{mActionZoomFullExtent.png}
 & 
Zoom to full extent
 & 
\includegraphics[width=1.5em]{mActionZoomIn.png}
 & 
Zoom in
\\

\includegraphics[width=1.5em]{mActionZoomOut.png}
 & 
Zoom out
 & 
\includegraphics[width=1.5em]{mActionDraw.png}
 & 
Refresh view
\\

\includegraphics[width=1.5em]{mActionUndo.png}
 & 
Revert last change
 & 
\includegraphics[width=1.5em]{mActionRedo.png}
 & 
Restore last change
\\

\includegraphics[width=1.5em]{mActionAddMap.png}
 & 
Add new map from QGIS map canvas
 & 
\includegraphics[width=1.5em]{mActionAddImage.png}
 & 
Add image to print composition
\\

\includegraphics[width=1.5em]{mActionLabel.png}
 & 
Add label to print composition
 & 
\includegraphics[width=1.5em]{mActionAddLegend.png}
 & 
Add new legend to print composition
\\

\includegraphics[width=1.5em]{mActionScaleBar.png}
 & 
Add new scalebar to print composition
 & 
\includegraphics[width=1.5em]{mActionAddBasicShape.png}
 & 
Add basic shape to print composition
\\

\includegraphics[width=1.5em]{mActionAddArrow.png}
 & 
Add arrow to print composition
 & 
\includegraphics[width=1.5em]{mActionOpenTable.png}
 & 
Add attribute table to print composition
\\

\includegraphics[width=1.5em]{mActionSelectPan.png}
 & 
Select/Move item in print composition
 & 
\includegraphics[width=1.5em]{mActionMoveItemContent.png}
 & 
Move content within an item
\\

\includegraphics[width=1.5em]{mActionGroupItems.png}
 & 
Group items of print composition
 & 
\includegraphics[width=1.5em]{mActionUngroupItems.png}
 & 
Ungroup items of print composition
\\

\includegraphics[width=1.5em]{mActionRaiseItems.png}
 & 
Raise selected items
 & 
\includegraphics[width=1.5em]{mActionLowerItems.png}
 & 
Lower selected items
\\

\includegraphics[width=1.5em]{mActionMoveItemsToTop.png}
 & 
Move selected items to top
 & 
\includegraphics[width=1.5em]{mActionMoveItemsToBottom.png}
 & 
Move selected items to bottom
\\

\includegraphics[width=1.5em]{mActionAlignLeft.png}
 & 
Align selected items left
 & 
\includegraphics[width=1.5em]{mActionAlignRight.png}
 & 
Align selected items right
\\

\includegraphics[width=1.5em]{mActionAlignHCenter.png}
 & 
Align selected items center
 & 
\includegraphics[width=1.5em]{mActionAlignVCenter.png}
 & 
Align selected items center vertical
\\

\includegraphics[width=1.5em]{mActionAlignTop.png}
 & 
Align selected items top
 & 
\includegraphics[width=1.5em]{mActionAlignBottom.png}
 & 
Align selected items bottom
\\
\hline\end{tabulary}


Table Composer 1: Print Composer Tools

All Print Composer tools are available in menus and as icons in a toolbar. The
toolbar can be switched off and on using the right mouse button holding the mouse
over the toolbar.

\index{Composer\_Template}
\index{Map\_Template}

\section{Open a new Print Composer Template}
\label{docs/user_manual/print_composer/print_composer:index-5}\label{docs/user_manual/print_composer/print_composer:open-a-new-print-composer-template}
Before you start to work with the print composer, you need to load some raster
and vector layers in the QGIS map canvas and adapt their properties to suite your
own convenience. After everything is rendered and symbolized to your liking you
click the \includegraphics[width=1.5em]{mActionNewComposer.png} $^{\text{New Print Composer}}$ icon in the toolbar or
choose \emph{File \(\rightarrow\) New Print Composer}.


\section{Using Print Composer}
\label{docs/user_manual/print_composer/print_composer:using-print-composer}
Opening the print composer provides you with a blank canvas to which you can add
the current QGIS map canvas, legend, scalebar, images, basic shapes, arrows and
text. {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-1]{Figure\_composer\_1}} shows the initial view of the print composer with an
activated \includegraphics{checkbox.png} \emph{Snap to grid} mode but before any elements are
added.
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{print_composer_blank.png}
\caption{Print Composer \includegraphics[width=1em]{nix.png}}\end{figure}

The print composer provides three tabs:
\begin{itemize}
\item {} 
The \emph{Composition} tab allows you to set paper size, orientation, the
print quality for the output file in dpi and to activate snapping to a grid of
a defined resolution. Please note, the \includegraphics{checkbox.png} \emph{Snap to grid}
feature only works, if you define a grid resolution \textgreater{} 0. Furthermore you can
also activate the \includegraphics{checkbox.png} \emph{Print as raster} checkbox. This means
all elements will be rastered before printing or saving as Postscript of PDF.

\item {} 
The \emph{Item Properties} tab displays the properties for the selected
map element. Click the \includegraphics[width=1.5em]{mActionSelectPan.png} $^{\text{Select/Move item}}$ icon to select
an element (e.g. legend, scalebar or label) on the canvas. Then click the
\emph{Item Properties} tab and customize the settings for the selected
element.

\item {} 
The \emph{Command history} tab displays a history of all changes applied
to the print composer layout. With a mouse click it is possible to undo and
redo layout steps back and forth to a certain status.

\end{itemize}

You can add multiple elements to the composer. It is also possible to have more
than one map view or legend or scalebar in the print composer canvas. Each element
has its own properties and in the case of the map, its own extent. If you want
to remove any elements from the composer canvas you can do that with the
\code{Delete} or the \code{Backspace} key.


\section{Adding a current QGIS map canvas to the Print Composer}
\label{docs/user_manual/print_composer/print_composer:adding-a-current-qgis-map-canvas-to-the-print-composer}
Click on the \includegraphics[width=1.5em]{mActionAddMap.png} $^{\text{Add new map}}$ toolbar button in the print
composer toolbar, to add the QGIS map canvas. Now drag a rectangle on the composer
canvas with the left mouse button to add the map. To display the current map, you
can choose between three different modes in the map \emph{Item Properties}
tab:
\begin{itemize}
\item {} 
\textbf{Rectangle} is the default setting. It only displays an empty box with a
message `Map will be printed here'.

\item {} 
\textbf{Cache} renders the map in the current screen resolution. If case you zoom
in or out the composer window, the map is not rendered again but the image will
be scaled.

\item {} 
\textbf{Render} means, that if you zoom in or out the composer window, the map will
be rendered again, but for space reasons, only up to a maximum resolution.

\end{itemize}

\textbf{Cache} is default preview mode for newly added print composer maps.

You can resize the map element by clicking on the \includegraphics[width=1.5em]{mActionSelectPan.png}
$^{\text{Select/Move item}}$ button, selecting the element, and dragging one of the
blue handles in the corner of the map. With the map selected, you can now adapt
more properties in the map \emph{Item Properties} tab.

To move layers within the map element select the map element, click the
\includegraphics[width=1.5em]{mActionMoveItemContent.png} $^{\text{Move item content}}$ icon and move the layers within
the map element frame with the left mouse button. After you found the right place
for an element, you can lock the element position within the print composer
canvas. Select the map element and click on the right mouse button to \includegraphics[width=1.5em]{mIconLock.png}
$^{\text{Lock}}$ the element position and again to unlock the element. You can lock
the map element also activating the \includegraphics{checkbox.png} \emph{Lock layers for map
item} checkbox in the \emph{Map} dialog of the \emph{Item Properties}
tab.

\begin{notice}{note}{Notitie:}
QGIS is now able to show labels from the new labeling plugin also in the map
composer, but it is not yet scaled correctly. So it might be necessary to
switch back to the standard labeling in some cases.
\end{notice}


\subsection{Map item properties tab --- Map and Extents dialog}
\label{docs/user_manual/print_composer/print_composer:map-item-properties-tab-map-and-extents-dialog}
\textbf{Map dialog}

The \emph{Map} dialog of the map \emph{Item Properies} tab provides
following functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-2]{figure\_composer\_2}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_map1.png}
\caption{Map Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
The \textbf{Preview} area allows to define the preview modes `Rectangle', `Cache'
and `Render', as described above. Click on the \textbf{{[}Update preview{]}} button to
apply changes to the map view.

\item {} 
The \textbf{Map} area allows to resize the map element specifying the width and
height or the scale. The field \emph{Rotation} \includegraphics{selectnumber.png} allows to
rotate the map element content clockwise in degrees. Note, a coordinate frame
can only be added with the default value 0. Furthermore you can enable the
checkboxes \includegraphics{checkbox.png} \emph{Lock layers for map items} and \includegraphics{checkbox.png}
\emph{Draw map canvas items}.

\end{itemize}

If you change the view on the QGIS map canvas by zooming or panning or changing
vector or raster properties, you can update the print composer view selecting the
map element in the print composer and clicking the \textbf{{[}Update preview{]}} button.

\textbf{Extents dialog}

The \emph{Extents} dialog of the map item tab provides following
functionalities (see Figure {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-3]{figure\_composer\_3}})):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_map2.png}
\caption{Extents Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
The \textbf{Map extent} area allow to specify the map extent using Y and X min/max
values or clicking the \textbf{{[}Set to map canvas extent{]}} button.

\end{itemize}

If you change the view on the QGIS map canvas by zooming or panning or changing
vector or raster properties, you can update the print composer view selecting
the map element in the print composer and clicking the \textbf{{[}Update preview{]}} button
in the map \emph{Item Properties} tab (see Figure {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-2]{figure\_composer\_2}} a)).


\subsection{Map item properties tab --- Grid and General options dialog}
\label{docs/user_manual/print_composer/print_composer:map-item-properties-tab-grid-and-general-options-dialog}
\index{Grid!Map\_Grid}
\textbf{Grid dialog}

The \emph{Grid} dialog of the map \emph{Item Properties} tab provides
following functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-4]{Figure\_composer\_4}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_map3.png}
\caption{Grid Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
The \includegraphics{checkbox.png} \emph{Show grid} checkbox allows to overlay a grid to the
map element. As grid type you can specify to use solid line or cross.
Furthermore you can define an interval in X and Y direction, an X and Y offset,
and the width used for cross or line grid type.

\item {} 
The \includegraphics{checkbox.png} \emph{Draw annotation} checkbox allows to add coordinates
to the map frame. The annotation can be drawn inside or outside the map frame.
The annotation direction can be defined as horizontal, vertical, horizontal and
vertical, or boundary direction. And finally you can define the grid color, the
annotation font, the annotation distance from the map frame and the precision
of the drawn coordinates.

\end{itemize}

\textbf{General options dialog}

The \emph{General options} dialog of the map \emph{Item Properties} tab
provides following functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-5]{Figure\_composer\_5}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-5}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_map4.png}
\caption{General Options Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
Here you can define color and outline width for the element frame, set a
background color and opacity for the map canvas. The \textbf{{[}Position and size{]}}
button opens the \emph{Set item position} dialog and allows to set the
map canvas position using reference points or coordinates. Furthermore you can
select or unselect to display the element frame with the \includegraphics{checkbox.png}
\emph{Show frame} checkbox. With the \emph{Item ID} you can create a
relationship to the other print composer items.

\end{itemize}


\section{Adding other elements to the Print Composer}
\label{docs/user_manual/print_composer/print_composer:adding-other-elements-to-the-print-composer}
Besides adding a current QGIS map canvas to the Print Composer, it is also
possible to add, position, move and customize legend, scalebar, images and label
elements.


\subsection{Label item properties tab - Label and General options dialog}
\label{docs/user_manual/print_composer/print_composer:label-item-properties-tab-label-and-general-options-dialog}
To add a label, click the \includegraphics[width=1.5em]{mActionLabel.png} $^{\text{Add label}}$ icon, place the element
with the left mouse button on the print composer canvas and position and customize
their appearance in the label \emph{Item Properties} tab.

\textbf{Label dialog}

The \emph{Label} dialog of the label item tab provides following
functionalities:
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-6}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_label1.png}
\caption{Label Options Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
The \emph{Label} dialog offers to add text labels to the composer canvas.
You can define the horizontal and vertical alignment, select font and font color
for the text and it is possible to define a text margin in mm.

\end{itemize}

\textbf{General options dialog}

The \emph{General options} dialog of the label \emph{Item Properties}
tab provides following functionalities:
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-7}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_label2.png}
\caption{General Options Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
Here you can define color and outline width for the element frame, set a
background color and opacity for the label. The \emph{Position} button
opens the \emph{Set items position} dialog and allows to set the map
canvas position using reference points or coordinates. Furthermore you can
select or unselect to display the element frame with the \includegraphics{checkbox.png}
\emph{Show frame} checkbox. Use the \emph{Item ID} to create a
relationship to other print composer items.

\end{itemize}


\subsection{Image item properties tab - Picture options and General options dialog}
\label{docs/user_manual/print_composer/print_composer:image-item-properties-tab-picture-options-and-general-options-dialog}
To add an image, click the \includegraphics[width=1.5em]{mActionSaveMapAsImage.png} $^{\text{Add image}}$ icon, place
the element with the left mouse button on the print composer canvas and position
and customize their appearance in the image \emph{Item Properties} tab.

\index{Picture\_database}
\index{Rotated\_North\_Arrow}
\textbf{Picture options dialog}

The \emph{Picture options} dialog of the image \emph{Item Properties}
tab provides following functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-5]{figure\_composer\_5}} a):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-8}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_image1.png}
\caption{Picture Options Dialog Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
The \textbf{Preloaded Images} field then shows all pictures stored in the selected
directories.

\item {} 
The \textbf{Options} area shows the current selected picture and allows to define
width, height and clockwise rotation of the picture. It is also possible to
add a user specific SVG path. Activating the \includegraphics{checkbox.png} \emph{Sync with
map} checkbox synchronizes the rotation of a picture in the QGIS map canvas
(i.e. a rotated north arrow) with the appropriate print composer image.

\item {} 
The \textbf{Search directories} area allows to add and remove directories with
images in SVG format to the picture database.

\end{itemize}

\textbf{General options dialog}

The \emph{General options} dialog of the image \emph{Item Properties}
tab provides following functionalities:
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-9}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_image2.png}
\caption{General Options Dialog Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
Here you can define color and outline width for the element frame, set a
background color and opacity for the picture. The \textbf{{[}Position and size{]}}
button opens the \emph{Set item position} dialog and allows to set the
map canvas position using reference points or coordinates. Furthermore you can
select or unselect to display the element frame with the \includegraphics{checkbox.png}
\emph{Show frame} checkbox. With the \emph{Item ID} you can create
a relationship to other print composer items.

\end{itemize}

\index{Map\_Legend}

\subsection{Legend item properties tab - General, Legend items and Item option dialog}
\label{docs/user_manual/print_composer/print_composer:index-9}\label{docs/user_manual/print_composer/print_composer:legend-item-properties-tab-general-legend-items-and-item-option-dialog}
To add a map legend, click the \includegraphics[width=1.5em]{mActionAddLegend.png} $^{\text{Add new legend}}$ icon,
place the element with the left mouse button on the print composer canvas and
position and customize their appearance in the legend \emph{Item Properties}
tab.

\textbf{General dialog}

The \emph{General} dialog of the legend item tab provides following
functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-10]{figure\_composer\_10}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-10}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_legend1.png}
\caption{General Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
Here you can adapt the legend title. You can change the font of the legend
title, layer and item name. You can change width and height of the legend symbol
and you can add layer, symbol, icon label and box space. Since QGIS 1.8, you
can wrap the text of the legend title to a given character.

\end{itemize}

\textbf{Legend items dialog}

The \emph{Legend items} dialog of the legend \emph{Item Properties} tab
provides following functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-11]{figure\_composer\_11}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-11}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_legend2.png}
\caption{Legend Items Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
The legend items window lists all legend items and allows to change item order,
edit layer names, remove and restore items of the list. After changing the
symbology in the QGIS main window you can click on \textbf{{[}Update{]}} to adapt the
changes in the legend element of the print composer. The item order can be
changed using the \textbf{{[}Up{]}} and \textbf{{[}Down{]}} buttons or with `drag and drop'
functionality.

\end{itemize}

\textbf{General options dialog}

The \emph{General options} dialog of the legend \emph{Item Properties}
tab provides following functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-12]{figure\_composer\_12}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-12}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_legend3.png}
\caption{General Options Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
Here you can define color and outline width for the element frame, set a
background color and opacity for the legend. The \textbf{{[}Position and size{]}} button
opens the \emph{Set item position} dialog and allows to set the map canvas
position using reference points or coordinates. Furthermore you can select or
unselect to display the element frame with the \includegraphics{checkbox.png} \emph{Show frame}
checkbox. Use the \emph{Item ID} to create a relationship to other print
composer items.

\end{itemize}

\index{Scalebar!Map\_Scalebar}

\subsection{Scalebar item properties tab - Scalebar and General options dialog}
\label{docs/user_manual/print_composer/print_composer:scalebar-item-properties-tab-scalebar-and-general-options-dialog}\label{docs/user_manual/print_composer/print_composer:index-10}
To add a scalebar, click the \includegraphics[width=1.5em]{mActionScaleBar.png} $^{\text{Add new scalebar}}$ icon, place
the element with the left mouse button on the print composer canvas and position
and customize their appearance in the scalebar \emph{Item Properties} tab.

\textbf{Scalebar dialog}

The \emph{Scalebar} dialog of the scalebar \emph{Item Properties} tab
provides following functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-13]{figure\_composer\_13}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-13}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_scalebar1.png}
\caption{Scalebar Options Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
The \emph{Scalebar} dialog allows to define the segment size of the
scalebar in map units, the map units used per bar units, and how many left and
right segments units from 0 should be used.

\item {} 
You can define the scalebar style, available is single and double box, line
ticks middle, up and down and a numeric style.

\item {} 
Furthermore you can define height, line width, label and box space of the
scalebar. Add a unit label and define the scalebar font and color.

\end{itemize}

\textbf{General options dialog}

The \emph{General options} dialog of the scalebar \emph{Item Properties}
tab provides following features (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-7]{figure\_composer\_7}} b)):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-14}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_scalebar2.png}
\caption{General Options Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
Here you can define color and outline width for the element frame, set a
background color and opacity for the scalebar. The \textbf{{[}Position and size{]}}
button opens the \emph{Set items position} dialog and allows to set the
map canvas position using reference points or coordinates. Furthermore you can
select or unselect to display the element frame with the \includegraphics{checkbox.png}
\emph{Show frame} checkbox. With the \emph{Item ID} you can create
a relationship to the other print composer items.

\end{itemize}


\section{Navigation tools}
\label{docs/user_manual/print_composer/print_composer:navigation-tools}
For map navigation the print composer provides 4 general tools:
\begin{itemize}
\item {} 
\includegraphics[width=1.5em]{mActionZoomIn.png} $^{\text{Zoom in}}$

\item {} 
\includegraphics[width=1.5em]{mActionZoomOut.png} $^{\text{Zoom out}}$

\item {} 
\includegraphics[width=1.5em]{mActionZoomFullExtent.png} $^{\text{Zoom to full extend}}$

\item {} 
\includegraphics[width=1.5em]{mActionDraw.png} $^{\text{Refresh the view}}$ (if you find the view in an inconsistent
state)

\end{itemize}

\index{Revert\_Layout\_Actions}

\section{Revert and Restore tools}
\label{docs/user_manual/print_composer/print_composer:revert-and-restore-tools}\label{docs/user_manual/print_composer/print_composer:index-11}
During the layout process it is possible to revert and restore changes. This can
be done with the revert and restore tools:
\begin{itemize}
\item {} 
\includegraphics[width=1.5em]{mActionUndo.png} $^{\text{Revert last changes}}$

\item {} 
\includegraphics[width=1.5em]{mActionRedo.png} $^{\text{Restore last changes}}$

\end{itemize}

or by mouse click within the \emph{Command history} tab (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-9]{figure\_composer\_9}}).
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-16}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{command_hist.png}
\caption{Command history in the Print Composer \includegraphics[width=1em]{nix.png}}\end{figure}


\section{Add Basic shape and Arrow}
\label{docs/user_manual/print_composer/print_composer:add-basic-shape-and-arrow}
It is possible to add basic shapes (Ellipse, Rectangle, Triangle) and arrows
to the print composer canvas.

The \emph{Shape} dialog allows to draw an ellipse, rectangle, or triangle
in the print composer canvas. You can define its outline and fill color, the
outline width and a clockwise rotation.
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-18}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_shape.png}
\caption{Shape Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

The \emph{Arrow} dialog allows to draw an arrow in the print composer canvas.
You can define color, outline and arrow width and it is possible to use a default
marker and no marker and a SVG marker. For the SVG marker you can additionally
add a SVG start and end marker from a directory on your computer.
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-19}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_arrow.png}
\caption{Arrow Dialog \includegraphics[width=1em]{nix.png}}\end{figure}


\section{Add attribute table values}
\label{docs/user_manual/print_composer/print_composer:add-attribute-table-values}
It is possible to add parts of a vector attribute table to the print composer
canvas.

\textbf{Table dialog}

The \emph{Table} dialog of the attribute table item tab provides following
functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-20]{figure\_composer\_20}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-20}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_attribute1.png}
\caption{Table Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
The \emph{Table} dialog allows to select the vector layer and columns of
the attribute table. Attribute columns can be sorted and you can define to show
its values ascending or descending.

\item {} 
You can define the maximum number of rows to be displayed and if attributes are
only shown for visible features of the current composer canvas.

\item {} 
Additionally you can define the grid characteristics of the table and the header
and content font.

\end{itemize}

\textbf{General options dialog}

The \emph{General options} dialog of the attribute table item tab provides
following functionalities (see {\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-21]{figure\_composer\_21}}):
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-21}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_attribute2.png}
\caption{General Options Dialog \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{itemize}
\item {} 
Here you can define color and outline width for the element frame, set a
background color and opacity for the table. The \textbf{{[}Position and size{]}} button
opens the \emph{Set item position} dialog and allows to set the map canvas
position using reference points or coordinates. Furthermore you can select or
unselect to display the element frame with the \includegraphics{checkbox.png} \emph{Show frame}
checkbox. Use the Item ID to create a relationship to the other print composeritems.

\end{itemize}


\section{Raise, lower and align elements}
\label{docs/user_manual/print_composer/print_composer:raise-lower-and-align-elements}
Raise or lower functionalities for elements are inside the \includegraphics[width=1.5em]{mActionRaiseItems.png}
$^{\text{Raise selected items}}$ pulldown menu. Choose an element on the print composer
canvas and select the matching functionality to raise or lower the selected
element compared to the other elements (see {\hyperref[docs/user_manual/print_composer/print_composer:table-composer-1]{table\_composer\_1}}).

There are several alignment functionalities available within the \includegraphics[width=1.5em]{mActionAlignLeft.png}
$^{\text{Align selected items}}$ pulldown menu (see {\hyperref[docs/user_manual/print_composer/print_composer:table-composer-1]{table\_composer\_1}}). To use an
alignment functionality , you first select some elements and then click on the
matching alignment icon. All selected will then be aligned within to their common
bounding box.

\index{Printing!Export\_Map}

\section{Creating Output}
\label{docs/user_manual/print_composer/print_composer:creating-output}\label{docs/user_manual/print_composer/print_composer:index-12}
{\hyperref[docs/user_manual/print_composer/print_composer:figure-composer-22]{Figure\_composer\_22}} shows the print composer with an example print layout
including each type of map element described in the sections above.
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-22}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=40em]{print_composer_complete.png}
\caption{Print Composer with map view, legend, scalebar, coordinates and text added \includegraphics[width=1em]{nix.png}}\end{figure}

\index{Export\_as\_image}\index{Export\_as\_PDF}\index{Export\_as\_SVG}
The print composer allows you to create several output formats and it is possible
to define the resolution (print quality) and paper size:
\begin{itemize}
\item {} 
The \includegraphics[width=1.5em]{mActionFilePrint.png} $^{\text{Print}}$ icon allows to print the layout to a
connected printer or a Postscript file depending on installed printer drivers.

\item {} 
The \includegraphics[width=1.5em]{mActionSaveMapAsImage.png} $^{\text{Export as image}}$ icon exports the composer
canvas in several image formats such as PNG, BPM, TIF, JPG,...

\item {} 
The \includegraphics[width=1.5em]{mActionSaveAsPDF.png} $^{\text{Export as PDF}}$ saves the defined print composer
canvas directly as a PDF.

\item {} 
The \includegraphics[width=1.5em]{mActionSaveAsSVG.png} $^{\text{Export as SVG}}$ icon saves the print composer canvas
as a SVG (Scalable Vector Graphic).

\end{itemize}

\begin{notice}{note}{Notitie:}
Currently the SVG output is very basic. This is not a QGIS problem, but a
problem of the underlaying Qt library. This will hopefully be sorted out in
future versions.
\end{notice}

\index{Composer\_Manager}

\section{Saving and loading a print composer layout}
\label{docs/user_manual/print_composer/print_composer:saving-and-loading-a-print-composer-layout}\label{docs/user_manual/print_composer/print_composer:index-14}
With the \includegraphics[width=1.5em]{mActionFileSaveAs.png} $^{\text{Save as template}}$ and \includegraphics[width=1.5em]{mActionFolder.png}
$^{\text{Load from template}}$ icons you can save the current state of a print composer
session as a  \code{.qpt} template and load the template again in another session.

The  \includegraphics[width=1.5em]{mActionComposerManager.png} $^{\text{Composer Manager}}$ button in the QGIS toolbar
and in \emph{File \(\rightarrow\) Composer Manager} allows to add a new composer
template or to manage already existing templates.
\phantomsection\label{docs/user_manual/print_composer/print_composer:figure-composer-23}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{print_composer_manager.png}
\caption{The Print Composer Manager \includegraphics[width=1em]{nix.png}}\end{figure}


\chapter{Plugins}
\label{docs/user_manual/plugins/plugins_index::doc}\label{docs/user_manual/plugins/plugins_index:plugins}
\index{plugins}

\section{QGIS Plugins}
\label{docs/user_manual/plugins/plugins:index-0}\label{docs/user_manual/plugins/plugins:qgis-plugins}\label{docs/user_manual/plugins/plugins::doc}\label{docs/user_manual/plugins/plugins:plugins}
QGIS has been designed with a plugin architecture. This allows many new
features/functions to be easily added to the application. Many of the features
in QGIS are actually implemented as either \textbf{core} or \textbf{external plugins}.

\index{plugins!types}\begin{itemize}
\item {} 
\textbf{Core Plugins} are maintained by the QGIS Development Team and are
automatically part of every QGIS distribution. They are written in one of two
languages: C++ or Python. More information about core plugins are provided in
Section {\hyperref[docs/user_manual/plugins/core_plugins:core-plugins]{\emph{Using QGIS Core Plugins}}}

\item {} 
\textbf{External Plugins} are currently all written in Python. They are stored in
external repositories and maintained by the individual authors. They can be
added to QGIS using the \emph{Python Plugin Installer}. More information
about external plugins is provided in Section {\hyperref[docs/user_manual/plugins/plugins:load-external-plugin]{\emph{Loading an external QGIS Plugin}}}.

\end{itemize}


\subsection{Managing Plugins}
\label{docs/user_manual/plugins/plugins:id1}\label{docs/user_manual/plugins/plugins:managing-plugins}
Managing plugins in general means loading or unloading them using the
\emph{Plugin Manager}. External plugins can be installed and directly
activated or uninstalled using the \emph{Python Plugin Installer}. To
deactivate and reactivate external plugins, the \emph{Plugin Manager} is
used again.


\subsubsection{Loading a QGIS Core Plugin}
\label{docs/user_manual/plugins/plugins:loading-a-qgis-core-plugin}\label{docs/user_manual/plugins/plugins:load-core-plugin}
Loading a QGIS Core Plugin is done from the main menu
\emph{Plugins \(\rightarrow\) Manage Plugins}

\index{plugins!manager}\phantomsection\label{docs/user_manual/plugins/plugins:figure-plugins-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{pluginmanager.png}
\caption{Plugin Manager \includegraphics[width=1em]{nix.png}}\end{figure}

The \emph{Plugin Manager} lists all the available plugins and their status
(loaded or unloaded), including all core plugins and all external plugins that
have been installed and automatically activated using the \emph{Python Plugin
Installer} (see Section {\hyperref[docs/user_manual/plugins/plugins:load-external-plugin]{\emph{Loading an external QGIS Plugin}}}). Those plugins that are
already loaded have a check mark to the left of their name. {\hyperref[docs/user_manual/plugins/plugins:figure-plugins-1]{Figure\_plugins\_1}}
shows the \emph{Plugin Manager} dialog.

To enable a particular plugin, click on the checkbox to the left of the plugin
name, and click \textbf{{[}OK{]}}. When you exit the application, a list of loaded plugins
is retained, and the next time you run QGIS these plugins are automatically
loaded.

\index{crashes}
\begin{notice}{tip}{Tip:}
\textbf{Crashing Plugins}

If you find that QGIS crashes on startup, a plugin may be at fault. You can
stop all plugins from loading by editing your stored settings file (see
{\hyperref[docs/user_manual/introduction/qgis_configuration:gui-options]{\emph{Opties}}} for location). Locate the plugins settings and change all
the plugin values to \code{false} to prevent them from loading.

\includegraphics[width=1em]{nix.png} For example, to prevent the `Delimited text' plugin from loading, the
entry in \code{\$HOME/.config/QuantumGIS/qgis.conf} on Linux should look like
this: \code{Add Delimited Text Layer=false}.

Do this for each plugin in the {[}Plugins{]} section. You can then start QGIS and
add the plugins one at a time from the \emph{Plugin Manager} to determine
which plugin is causing the problem.
\end{notice}


\subsubsection{Loading an external QGIS Plugin}
\label{docs/user_manual/plugins/plugins:load-external-plugin}\label{docs/user_manual/plugins/plugins:loading-an-external-qgis-plugin}
External QGIS plugins are written in Python. They are by default stored in either
the `Official' QGIS Repository, or in various other external repositories
maintained by individual authors. The `Official' QGIS Repository is added by
default in \emph{Python Plugin installer}.

Detailed documentation about the usage, minimum QGIS version, homepage, authors,
and other important information are provided for the `Official' QGIS Repository
at \href{http://plugins.qgis.org/plugins/}{http://plugins.qgis.org/plugins/}. For other external repositories, they might
be available with the external plugins themselves. In general it is not included
in this manual.

\begin{notice}{note}{Notitie:}
Updates of core python plugins may be available in this repository as external
overlays.
\end{notice}

\begin{notice}{note}{Notitie:}
fTools, Mapserver Export, and the Plugin Installer are Python plugins, but
they are also part of the QGIS sources, and are automatically loaded and
enabled inside the QGIS Plugin Manager (see Section {\hyperref[docs/user_manual/plugins/plugins:load-external-plugin]{\emph{Loading an external QGIS Plugin}}}).
\end{notice}

Currently there are over 150 external plugins available from the `Official' QGIS
Repository. Some of these plugins offer functionality that will be required by
many users (for example: providing the user with the ability to view and edit
OpenStreetMap data, or to add GoogleMap layers) while others offer very
specialized functions (for example: Calculate economic pipe diameters for water
supply networks).

It is, however, quite straightforward to search through all the available external
plugins by providing keywords, choosing a named repository and/or filtering on
the status of plugins (currently installed or uninstalled in your system).
Searching and filtering is done from the QGIS Python Plugin Installer
(see {\hyperref[docs/user_manual/plugins/plugins:figure-plugins-2]{figure\_plugins\_2}}).

\begin{notice}{tip}{Tip:}
\textbf{Add more repositories}

To add external author repositories, open the Plugin Installer
(\emph{Plugins \(\rightarrow\) Fetch Python Plugins}), go to the tab
\emph{Repositories}, and click \textbf{{[}Add{]}}. If you do not want one or more
of the added repositories, they can be disabled via the \textbf{{[}Edit...{]}} button,
or completely removed with the \textbf{{[}Delete{]}} button.
\end{notice}

There is only one step required to integrate external plugins into QGIS:
\begin{itemize}
\item {} 
Download an external plugin from a repository using the \emph{Python
Plugin Installer} (see {\hyperref[docs/user_manual/plugins/plugins:python-plugin-installer]{\emph{Using the QGIS Python Plugin Installer}}}). The new external
plugin will be added to the list of available plugins in the \emph{Plugin
Manager} and is automatically loaded.

\end{itemize}


\subsubsection{Using the QGIS Python Plugin Installer}
\label{docs/user_manual/plugins/plugins:python-plugin-installer}\label{docs/user_manual/plugins/plugins:using-the-qgis-python-plugin-installer}
\index{plugins!installing}
\index{plugins!Python Plugin Installer}
\index{plugins!upgrading}
In order to download and install an external Python plugin, go to
\emph{Plugins \(\rightarrow\)} \includegraphics[width=1.5em]{plugin_installer.png} \emph{Fetch Python
Plugins}. The \emph{Plugin Installer} window will appear ({\hyperref[docs/user_manual/plugins/plugins:figure-plugins-2]{figure\_plugins\_2}})
with the tab \emph{Plugins}, containing a list of all locally installed
Python plugins, as well as plugin available in remote repositories.
\phantomsection\label{docs/user_manual/plugins/plugins:figure-plugins-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{plugininstaller.png}
\caption{Installing external python plugins \includegraphics[width=1em]{nix.png}}\end{figure}

Each plugin can be either:
\begin{itemize}
\item {} 
\textbf{not installed} - this means the plugin is available in the repository, but
is not installed yet. In order to install it, select the plugin from the list
and click the button \textbf{{[}Install plugin{]}}.

\item {} 
\textbf{new} - this means that the plugin is newly available in the repository.

\item {} 
\textbf{installed} - this indicates that the plugin is already installed. If it is
also available in any repository the \textbf{{[}Reinstall plugin{]}} button will be
enabled. If the available version is older than the installed version, the
\textbf{{[}Downgrade plugin{]}} button will appear instead.

\item {} 
\textbf{upgradeable} - this means that the plugin is installed, but there is an
updated version available. In this case, the \textbf{{[}Upgrade plugin{]}} and
\textbf{{[}Upgrade all{]}} buttons will be enabled.

\item {} 
\textbf{invalid} - this means that the plugin is installed, but is unavailable or
broken. The reason will be explained in the plugin description field.

\end{itemize}

\textbf{Plugins tab}

To install a plugin, select it from the list and click the \textbf{{[}Install plugin{]}}
button. The plugin is then activated and installed in its own directory.
\begin{itemize}
\item {} 
\includegraphics[width=1em]{nix.png} Linux and other unices
\begin{itemize}
\item {} 
\code{/share/qgis/python/plugins}

\item {} 
\code{\$HOME/.qgis/python/plugins}

\end{itemize}

\item {} 
\includegraphics[width=1em]{osx.png} Mac OS X
\begin{itemize}
\item {} 
\code{/Contents/MacOS/share/qgis/python/plugins}

\item {} 
\code{/Users/\$USERNAME/.qgis/python/plugins}

\end{itemize}

\item {} 
\includegraphics[width=1em]{win.png} Windows
\begin{itemize}
\item {} 
\code{C:\textbackslash{}Program Files\textbackslash{}QGIS\textbackslash{}python\textbackslash{}plugins}

\item {} 
\code{C:\textbackslash{}Documents and Settings\textbackslash{}\$USERNAME\textbackslash{}.qgis\textbackslash{}python\textbackslash{}plugins}

\end{itemize}

\end{itemize}

If the installation is successful, a confirmation message will appear.

If the installation fails, the reason for the failure will be displayed in a
warning dialog. Most often, errors are the result of connection problems and/or
missing Python modules. In the former case you will likely need to wait before
trying the install again, in the latter case, you should install the missing
modules relevant to your operating system prior to using the plugin. For Linux,
most required modules should be available via a package manager. For install
instructions in Windows visit the module home page.

If you are using a proxy, you may need to configure it under
\emph{Edit \(\rightarrow\) Options} (Gnome, OSX) or \emph{Settings \(\rightarrow\) Options}
(KDE, Windows){}` on the \emph{Proxy} tab.

The \textbf{{[}Uninstall plugin{]}} button is enabled only if the selected plugin is
installed and is not a core plugin. Note that if you have installed an update to
a core plugin, you can uninstall this update with the \textbf{{[}Uninstall plugin{]}} and
revert to the version shipped with Quantum GIS. This default version however,
cannot be uninstalled.

\textbf{Repositories tab}

The second tab \emph{Repositories}, contains a list of plugin repositories
available for the \emph{Plugin Installer}. By default, only the QGIS Official
Repository is enabled. You can add several user-contributed repositories,
including the central QGIS Contributed Repository and other external repositories
by clicking the \textbf{{[}Add ...{]}} button. The added repositories contain a large
number of useful plugins which are not maintained by the QGIS Development Team.
As such, we cannot take any responsibility for them. You can also manage the
repository list manually, that is add, remove, and edit the entries. Temporarily
disabling a particular repository is possible by clicking the \textbf{{[}Edit ...{]}}
button.

\textbf{Options tab}

The \emph{Options} tab is where you can configure the settings of the
\emph{Plugin Installer}. The \includegraphics{checkbox.png} \emph{Check for updates on
startup} checkbox tells QGIS to automatically look for plugin updates and news.
By default, if this feature is enabled all repositories listed and enabled in
the \emph{Repositories} tab are checked for updates each time the program
is started. The frequency of update checking can be adjusted using the dropdown
menu, and may be adjusted from once a day right up to once a month. If a new
plugin or update is available for one of the installed plugins, a notification
will appear in the Status Bar. If the checkbox is disabled, looking for updates
and news is performed only when the \emph{Plugin Installer} is manually
launched from the menu.

Although the plugin installer update can handle ports different from 80, some
internet connections will cause problems when attempting to automatically check
for updates. In these cases, a \emph{Looking for new plugins...} indicator will remain
visible in the Status Bar during your entire QGIS session, and may cause a program
crash when exiting. In this case please disable the checkbox.

In addition, you may specify the type of plugins that are displayed by the
\emph{Python Plugin Installer}. Under \emph{Allowed plugins}, you can specify
whether you would like to:
\begin{itemize}
\item {} 
\includegraphics{radiobuttonon.png} \emph{Only show plugins from the official repository}

\item {} 
\includegraphics{radiobuttonoff.png} \emph{Show all plugins except those marked as experimental}

\item {} 
\includegraphics{radiobuttonoff.png} \emph{Show all plugins, even those marked as experimental}

\end{itemize}

\begin{notice}{tip}{Tip:}
\textbf{Using experimental plugins}

Experimental plugins are generally unsuitable for production use. These plugins
are in the early stages of development, and should be considered `incomplete'
or `proof of concept' tools. The QGIS development team does not recommend
installing these plugins unless you intend to use them for testing purposes.
\end{notice}

\index{data providers}

\subsection{Data Providers}
\label{docs/user_manual/plugins/plugins:index-7}\label{docs/user_manual/plugins/plugins:data-providers}
Data Providers are `special' plugins that provides access to a data store. By
default, QGIS supports PostGIS layers and disk-based data stores supported by
the GDAL/OGR library. A Data Provider plugin extends the ability of QGIS to use
other data sources.

Data Provider plugins are registered automatically by QGIS at startup. They are
not managed by the Plugin Manager but used behind the scenes when a data type is
added as a layer in QGIS.


\section{Using QGIS Core Plugins}
\label{docs/user_manual/plugins/core_plugins:using-qgis-core-plugins}\label{docs/user_manual/plugins/core_plugins::doc}\label{docs/user_manual/plugins/core_plugins:core-plugins}






\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Icon
} & \textsf{\relax 
Plugin
} & \textsf{\relax 
Description
} & \textsf{\relax 
Manual Reference
}\\
\hline
\includegraphics[width=1.5em]{delimited_text.png}
 & 
Add Delimited Text Layer
 & 
Loads text files containing x,y coordinates
 & 
{\hyperref[docs/user_manual/plugins/plugins_delimited_text:label-dltext]{\emph{Delimited Text Plugin}}}
\\

\includegraphics[width=1.5em]{coordinate_capture.png}
 & 
Coordinate Capture
 & 
Capture mouse coordinate in different CRS
 & 
{\hyperref[docs/user_manual/plugins/plugins_coordinate_capture:coordcapt]{\emph{Coordinate Capture Plugin}}}
\\

\includegraphics[width=1.5em]{dbmanager.png}
 & 
DB Manager
 & 
Manage your databases within QGIS
 & 
{\hyperref[docs/user_manual/plugins/plugins_db_manager:dbmanager]{\emph{DB Manager Plugin}}}
\\


 & 
Diagram Overlay
 & 
Add Diagrams for vectors
 & 
{\hyperref[docs/user_manual/plugins/plugins_diagram_overlay:diagram-overlay]{\emph{Diagram Overlay Plugin}}}
\\

\includegraphics[width=1.5em]{dxf2shp_converter.png}
 & 
DXF2Shape Converter
 & 
Converts from DXF to SHP file format
 & 
{\hyperref[docs/user_manual/plugins/plugins_dxf2shape_converter:dxf2shape]{\emph{Dxf2Shp Converter Plugin}}}
\\

\includegraphics[width=1.5em]{event_id.png}
 & 
eVis
 & 
Event Visualization Tool
 & 
{\hyperref[docs/user_manual/plugins/plugins_evis:evis]{\emph{eVis Plugin}}}
\\

\includegraphics[width=1.5em]{ftools_logo.png}
 & 
fTools
 & 
A suite of vector tools
 & 
{\hyperref[docs/user_manual/plugins/plugins_ftools:ftools]{\emph{fTools Plugin}}}
\\

\includegraphics[width=1.5em]{gps_importer.png}
 & 
GPS Tools
 & 
Tools for loading and importing GPS data
 & 
{\hyperref[docs/user_manual/working_with_gps/plugins_gps:plugin-gps]{\emph{GPS Plugin}}}
\\

\includegraphics[width=1.5em]{grasslogo.png}
 & 
GRASS
 & 
GRASS functionality
 & 
{\hyperref[docs/user_manual/grass_integration/grass_integration:sec-grass]{\emph{GRASS GIS Integration}}}
\\

\includegraphics[width=1.5em]{raster-info.png}
 & 
GDAL Tools
 & 
GDAL raster functionality
 & 
{\hyperref[docs/user_manual/plugins/plugins_gdaltools:label-plugingdaltools]{\emph{GDAL Tools Plugin}}}
\\

\includegraphics[width=1.5em]{georeferencer.png}
 & 
Georeferencer GDAL
 & 
Georeference Raster with GDAL
 & 
{\hyperref[docs/user_manual/plugins/plugins_georeferencer:georef]{\emph{Georeferencer Plugin}}}
\\

\includegraphics[width=1.5em]{heatmap.png}
 & 
Heatmap
 & 
Create heatmap raster from input vector points
 & 
{\hyperref[docs/user_manual/plugins/plugins_heatmap:heatmap-plugin]{\emph{Heatmap Plugin}}}
\\

\includegraphics[width=1.5em]{interpolation.png}
 & 
Interpolation plugin
 & 
Interpolation on base of vertices of a vector layer
 & 
{\hyperref[docs/user_manual/plugins/plugins_interpolation:interpol]{\emph{Interpolation Plugin}}}
\\

\includegraphics{mapserver_export.png}
 & 
MapServer Export Plugin
 & 
Export a QGIS project file to a MapServer map file
 & 
{\hyperref[docs/user_manual/plugins/plugins_mapserver_export:mapserver-export]{\emph{MapServer Export Plugin}}}
\\

\includegraphics[width=1.5em]{offline_editing_copy.png}
 & 
Offline Editing
 & 
Offline editing and synchronizing with database
 & 
{\hyperref[docs/user_manual/plugins/plugins_offline_editing:offlinedit]{\emph{Offline Editing Plugin}}}
\\

\includegraphics[width=1.5em]{osm_load.png}
 & 
OpenStreetMap
 & 
Access OpenStreetMap
 & 
{\hyperref[docs/user_manual/osm/openstreetmap:plugins-osm]{\emph{OpenStreetMap}}}
\\

\includegraphics[width=1.5em]{oracle_raster.png}
 & 
Oracle Spatial Georaster
 & 
Access Oracle Spatial GeoRasters
 & 
{\hyperref[docs/user_manual/plugins/plugins_oracle_raster:oracle-raster]{\emph{Oracle GeoRaster Plugin}}}
\\

\includegraphics[width=1.5em]{plugin_installer.png}
 & 
Plugin Installer
 & 
Download and install python plugins
 & 
{\hyperref[docs/user_manual/plugins/plugins:python-plugin-installer]{\emph{Using the QGIS Python Plugin Installer}}}
\\

\includegraphics[width=1.5em]{raster_terrain.png}
 & 
Raster Terrain Analysis
 & 
Compute geomorphological features from DEMs
 & 
{\hyperref[docs/user_manual/plugins/plugins_raster_terrain:rasterrain]{\emph{Raster Terreinanalyses Plugin}}}
\\


 & 
Road graph Plugin
 & 
Shortest path analysis
 & 
{\hyperref[docs/user_manual/plugins/plugins_road_graph:roadgraph]{\emph{Road Graph Plugin}}}
\\

\includegraphics{spiticon.png}
 & 
SPIT
 & 
Shapefile to PostGIS Import Tool
 & 
{\hyperref[docs/user_manual/working_with_vector/supported_data:loading-postgis-data]{\emph{Het importeren van gegevens in PostgreSQL}}}
\\

\includegraphics[width=1.5em]{sqlanywhere.png}
 & 
SQL Anywhere plugin
 & 
Access SQL anywhere DB
 & 
{\hyperref[docs/user_manual/plugins/plugins_sql_anywhere:sqlanywhere]{\emph{SQL Anywhere Plugin}}}
\\

\includegraphics[width=1.5em]{spatialquery.png}
 & 
Spatial Query
 & 
Spatial queries on vectors
 & 
{\hyperref[docs/user_manual/plugins/plugins_spatial_query:spatial-query]{\emph{Spatial Query Plugin}}}
\\

\includegraphics[width=1.5em]{raster-stats.png}
 & 
Zonal Statistics
 & 
Calculate raster statistics for vector polygons
 & 
{\hyperref[docs/user_manual/plugins/plugins_zonal_statistics:zonal-statistics]{\emph{Zonal Statistics Plugin}}}
\\
\hline\end{tabulary}



\section{Coordinate Capture Plugin}
\label{docs/user_manual/plugins/plugins_coordinate_capture:coordinate-capture-plugin}\label{docs/user_manual/plugins/plugins_coordinate_capture:coordcapt}\label{docs/user_manual/plugins/plugins_coordinate_capture::doc}
The coordinate capture plugin is easy to use and provides the ability to display
coordinates on the map canvas for two selected Coordinate Reference Systems (CRS).
\phantomsection\label{docs/user_manual/plugins/plugins_coordinate_capture:figure-coordinate-capture-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{coordinate_capture_dialog.png}
\caption{Coordinate Capture Plugin \includegraphics[width=1em]{nix.png}}\end{figure}
\begin{enumerate}
\item {} 
Start QGIS, select \includegraphics[width=1em]{mActionOptions.png} \emph{Project Properties} from the
\emph{Settings} (KDE, Windows) or \emph{File} (Gnome, OSX) menu
and click on the \emph{Projection} tab. As an alternative you can also
click on the \includegraphics[width=1.5em]{mIconProjectionEnabled.png} $^{\text{CRS status}}$ icon in the lower
right-hand corner of the statusbar.

\item {} 
Click on the \includegraphics{checkbox.png} \emph{Enable on the fly projection} checkbox and select
a projected coordinate system of your choice (see also {\hyperref[docs/user_manual/working_with_projections/working_with_projections:label-projections]{\emph{Werken met Projecties}}}).

\item {} 
Load the coordinate capture plugin in the Plugin Manager (see
{\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}) and ensure that the dialog is visible by going to
\emph{View \(\rightarrow\) Panels} and ensuring that \includegraphics{checkbox.png}
\emph{Coordinate Capture} is enabled. The coordinate capture dialog
appears as shown in Figure {\hyperref[docs/user_manual/plugins/plugins_coordinate_capture:figure-coordinate-capture-1]{figure\_coordinate\_capture\_1}}.

\item {} 
Click on the \includegraphics{geographic.png} $^{\text{Click to the select the CRS to use for
coordinate display}}$ icon and select a different CRS from the one you selected
above.

\item {} 
To start capturing coordinates, click on \textbf{{[}Start capture{]}}. You can now
click anywhere on the map canvas and the plugin will show the coordinates for
both of your selected CRS.

\item {} 
To enable mouse coordinate tracking click the \includegraphics[width=1.5em]{tracking.png} $^{\text{mouse tracking}}$
icon.

\item {} 
You can also copy selected coordinates to the clipboard.

\end{enumerate}


\section{DB Manager Plugin}
\label{docs/user_manual/plugins/plugins_db_manager:db-manager-plugin}\label{docs/user_manual/plugins/plugins_db_manager:dbmanager}\label{docs/user_manual/plugins/plugins_db_manager::doc}
The DB Manager Plugin is officially part of QGIS core and intends to replace the
SPIT Plugin and the PostGIS Manager Plugin and additionally to integrate all other
database formats supported by QGIS in one user interface. The \includegraphics[width=1.5em]{dbmanager.png}
$^{\text{DB Manager}}$ Plugin provides several features. You can drag layers from the
QGIS Browser into the DB Manager and it will import your layer into your spatial
database. You can drag and drop tables between spatial databases and they will
get imported. You can also use the DB Manager to execute SQL queries against your
spatial database and then view the spatial output for queries by adding the
results to QGIS as a query layer.
\phantomsection\label{docs/user_manual/plugins/plugins_db_manager:figure-db-manager}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{db_manager.png}
\caption{DB Manager dialog (KDE) \includegraphics[width=1em]{nix.png}}\end{figure}

The \emph{Database} menu allows to connect to an existing database, to
start the SQL-window and to exit the DB Manager Plugin. The \emph{Schema}
menu includes tools to create and delete (empty) schemas and, if topology is
available (e.g. PostGIS 2) to start a \emph{TopoViewer}. The menu
\emph{Table} allows to create and edit tables and to delete tables and
views. It is also possible to empty tables and to move tables from one to another
schema. Finally you can also run Vacuum Analyze and add Versioning Support to a
table.

The \emph{Tree} window lists all existing databases supported by QGIS. With
a double-click you can connect to the database. With the right-mouse button you
can rename and delete existing schemas and tables. Tables can also be added to
the QGIS canvas with the context menu.

If connected to a database, the \textbf{main} window of the DB Manager offers three
tabs. The \emph{Info} tab provides information about the table and its
geometry as well as about existing Fields, Constraints and Indexes. It also
allows to run Vacuum Analyze and to create a spatial index on a selected table,
if not already done. The \emph{Table} tab shows all attributes and the
\emph{Preview} tab renders the geometries as preview.


\section{Delimited Text Plugin}
\label{docs/user_manual/plugins/plugins_delimited_text:delimited-text-plugin}\label{docs/user_manual/plugins/plugins_delimited_text:label-dltext}\label{docs/user_manual/plugins/plugins_delimited_text::doc}
The Delimited Text plugin allows you to load a delimited text file as a layer in
QGIS.


\subsection{Requirements}
\label{docs/user_manual/plugins/plugins_delimited_text:requirements}
To view a delimited text file as layer, the text file must contain:
\begin{enumerate}
\item {} 
A delimited header row of field names. This must be the first line in the text
file.

\item {} 
The header row must contain an X and Y field. These fields can have any name.

\item {} 
The x and y coordinates must be specified as a number. The coordinate system
is not important.

\end{enumerate}

As an example of a valid text file we import the elevation point data file
\code{elevp.csv} coming with the QGIS sample dataset (See Section
{\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}):

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{n}{X}\PYG{p}{;}\PYG{n}{Y}\PYG{p}{;}\PYG{n}{ELEV}
\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{300120}\PYG{p}{;}\PYG{l+m+mi}{7689960}\PYG{p}{;}\PYG{l+m+mi}{13}
\PYG{o}{\PYGZhy{}}\PYG{l+m+mi}{654360}\PYG{p}{;}\PYG{l+m+mi}{7562040}\PYG{p}{;}\PYG{l+m+mi}{52}
\PYG{l+m+mi}{1640}\PYG{p}{;}\PYG{l+m+mi}{7512840}\PYG{p}{;}\PYG{l+m+mi}{3}
\PYG{p}{[}\PYG{o}{.}\PYG{o}{.}\PYG{o}{.}\PYG{p}{]}
\end{Verbatim}

Some items of note about the text file are:
\begin{enumerate}
\item {} 
The example text file uses \code{;} (semicolon) as delimiter. Any character can
be used to delimit the fields.

\item {} 
The first row is the header row. It contains the fields \code{X}, \code{Y} and \code{ELEV}.

\item {} 
No quotes (\code{"}) are used to delimit text fields.

\item {} 
The x coordinates are contained in the \code{X} field.

\item {} 
The y coordinates are contained in the \code{Y} field.

\end{enumerate}


\subsection{Using the Plugin}
\label{docs/user_manual/plugins/plugins_delimited_text:using-the-plugin}
To use the plugin you must first enable it as described in Section
{\hyperref[docs/user_manual/plugins/plugins:managing-plugins]{\emph{Managing Plugins}}}.

Click the new toolbar icon \includegraphics[width=1.5em]{delimited_text.png} $^{\text{Add Delimited Text Layer}}$ to
open the \emph{Delimited Text} dialog as shown in {\hyperref[docs/user_manual/plugins/plugins_delimited_text:figure-delimited-text-1]{figure\_delimited\_text\_1}}.
\phantomsection\label{docs/user_manual/plugins/plugins_delimited_text:figure-delimited-text-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{delimited_text_dialog.png}
\caption{Delimited Text Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

First select the file (e.g., \code{qgis\_sample\_data/csv/elevp.csv}) to import
by clicking on the \textbf{{[}Browse{]}} button. Once the file is selected, the plugin
attempts to parse the file using the last used delimiter, in this case a semicolon
(\code{;}). To properly parse the file, it is important to select the correct
delimiter. To change the delimiter to tab use \code{\textbackslash{}t} (this is a regular expression
for the tab character).

Once the file is parsed, choose the \code{X} and \code{Y} fields from the dropdown
lists and if available also the WKT field for the CRS information. Finally enter
a Layer name (e.g., \code{elevp} ) as shown in {\hyperref[docs/user_manual/plugins/plugins_delimited_text:figure-delimited-text-1]{figure\_delimited\_text\_1}} . To
add the layer to the map, click \textbf{{[}OK{]}}. The delimited text file now behaves as
any other map layer in QGIS.


\section{Diagram Overlay Plugin}
\label{docs/user_manual/plugins/plugins_diagram_overlay:diagram-overlay-plugin}\label{docs/user_manual/plugins/plugins_diagram_overlay::doc}\label{docs/user_manual/plugins/plugins_diagram_overlay:diagram-overlay}
\includegraphics[width=2em]{diagram.png} The \emph{Diagram Overlay} Plugin allows you to add a graphic
overlay to a vector layer (see {\hyperref[docs/user_manual/plugins/plugins_diagram_overlay:figure-overlay-1]{figure\_overlay\_1}}). It provides additional and
not yet implemented features to the \emph{Diagrams} tab, described in secion
{\hyperref[docs/user_manual/working_with_vector/vector_properties:sec-diagram]{\emph{Het tabblad Diagrammen}}}.

Before starting, the \emph{Diagram Overlay} Plugin needs to be activated
using the Plugin Manager (see Section {\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}). It will then
appear as \emph{Overlay} tab in the \emph{Layer Properties} dialog
next to the \emph{Diagrams} tab.
\phantomsection\label{docs/user_manual/plugins/plugins_diagram_overlay:figure-overlay-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{overlay_tab1.png}
\caption{Vector properties dialog with overlay tab \includegraphics[width=1em]{nix.png}}\end{figure}

The \emph{Overlay} tab provides support for Pie charts, Bar charts and
proportional SVG symbols.

Similar to the \emph{Diagrams} tab, we will demonstrate an example and
overlay the alaska boundary layer a piechart diagram showing some temperature
data from a climate vector layer. Both vector layers are part of the QGIS
sample dataset (see Section {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}).
\begin{enumerate}
\item {} 
First click on the \includegraphics[width=1.5em]{mActionAddOgrLayer.png} $^{\text{Load Vector}}$ icon, browse to
the QGIS sample dataset folder and load the two vector shape layers
\code{alaska.shp} and \code{climate.shp}.

\item {} 
Double click the \code{climate} layer in the map legend to open the
\emph{Layer Properties} dialog.

\item {} 
Click on the \emph{Overlay} tab, activate \includegraphics{checkbox.png} \emph{Display
diagrams} and select `Pie Chart' from \emph{Diagram type} \includegraphics{selectstring.png}
combobox.

\item {} 
We want to display the values of the three columns \code{T\_F\_JAN}, \code{T\_F\_JUL}
and \code{T\_F\_MEAN}. First select \code{T\_F\_JAN} as Attributes and click the
\textbf{{[}Add{]}} button, then \code{T\_F\_JUL} and finally \code{T\_F\_MEAN}.

\item {} 
Diagram size is based on linear scaling of a classification attribute. We
choose \code{T\_F\_JUL}, click on \textbf{{[}Find maximum value{]}} and set size to \code{20}
and \emph{Size unit} \includegraphics{selectstring.png} to `Millimeter'.

\item {} 
Now click \textbf{{[}Apply{]}} to display the diagram in the QGIS main window.

\item {} 
You can now adapt the chart size, or change the attribute colors double
clicking on the color values in the attribute field. {\hyperref[docs/user_manual/plugins/plugins_diagram_overlay:figure-overlay-2]{Figure\_overlay\_2}}
gives an impression.

\item {} 
Finally click \textbf{{[}Ok{]}}.

\end{enumerate}
\phantomsection\label{docs/user_manual/plugins/plugins_diagram_overlay:figure-overlay-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{overlay_tab2.png}
\caption{Pie chart diagram from temperature data overlayed on a map \includegraphics[width=1em]{nix.png}}\end{figure}

Additionally in the \emph{Settings \(\rightarrow\) Options} dialog, there is a
\code{Overlay} tab where it is possible to select the placement algorithm of the
diagrams. The `Central point' method is a generic one, the others use algorithms
of the PAL library. They also consider diagram objects and labels in different
layers.


\section{Dxf2Shp Converter Plugin}
\label{docs/user_manual/plugins/plugins_dxf2shape_converter:dxf2shp-converter-plugin}\label{docs/user_manual/plugins/plugins_dxf2shape_converter:dxf2shape}\label{docs/user_manual/plugins/plugins_dxf2shape_converter::doc}
The dxf2shape converter plugin can be used to convert vector data from DXF to
Shapefile format. It requires the following parameters to be specified before
running:
\phantomsection\label{docs/user_manual/plugins/plugins_dxf2shape_converter:figure-dxf2shape-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{dxf2shape_dialog.png}
\caption{Dxf2Shape Converter Plugin}\end{figure}
\begin{itemize}
\item {} 
\textbf{Input DXF file}: Enter path to the DXF file to be converted

\item {} 
\textbf{Output Shp file}: Enter desired name of the Shapefile to be created

\item {} 
\textbf{Output file type}: Specify the geometry type of the output Shapefile.
Currently supported types are polyline, polygon, and point.

\item {} 
\textbf{Export text labels}: When this checkbox is enabled, an additional
Shapefile point layer will be created, and the associated dbf table will
contain information about the ``TEXT'' fields found in the dxf file, and the text
strings themselves.

\end{itemize}


\subsection{Using the Plugin}
\label{docs/user_manual/plugins/plugins_dxf2shape_converter:using-the-plugin}\begin{enumerate}
\item {} 
Start QGIS, load the Dxf2Shape plugin in the Plugin Manager (see Section
{\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}) and click on the \includegraphics[width=1.5em]{dxf2shp_converter.png} $^{\text{Dxf2Shape
Converter}}$ icon which appears in the QGIS toolbar menu. The Dxf2Shape plugin
dialog appears as shown in {\hyperref[docs/user_manual/plugins/plugins_dxf2shape_converter:figure-dxf2shape-1]{Figure\_dxf2shape\_1}}.

\item {} 
Enter input DXF file, a name for the output Shapefile and the Shapefile type.

\item {} 
Enable the \includegraphics{checkbox.png} \emph{Export text labels} checkbox if you want
to create an extra point layer with labels.

\item {} 
Click \textbf{{[}OK{]}}.

\end{enumerate}


\section{eVis Plugin}
\label{docs/user_manual/plugins/plugins_evis:evis-plugin}\label{docs/user_manual/plugins/plugins_evis:evis}\label{docs/user_manual/plugins/plugins_evis::doc}
The Biodiversity Informatics Facility at the American Museum of Natural History's
(AMNH) Center for Biodiversity and Conservation (CBC) (this section is derived
from Horning, N., K. Koy, P. Ersts. 2009. eVis (v1.1.0) User's Guide. American
Museum of Natural History, Center for Biodiversity and Conservation. Available
from \href{http://biodiversityinformatics.amnh.org/}{http://biodiversityinformatics.amnh.org/}, and released under the GNU FDL.)
has developed the Event Visualization Tool (eVis), another software tool to add
to the suite of conservation monitoring and decision support tools for guiding
protected area and landscape planning. This plugin enables users to easily link
geocoded (i.e., referenced with latitude and longitude or X and Y coordinates)
photographs, and other supporting documents, to vector data in QGIS.

eVis 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 {\hyperref[docs/user_manual/plugins/plugins:managing-plugins]{\emph{Managing Plugins}}}).

The eVis plugin is made up of three modules: the `Database Connection tool',
`Event ID tool', and the `Event Browser'. These work together to allow viewing of
geocoded photographs and other documents that are linked to features stored in
vector files, databases, or spreadsheets.


\subsection{Event Browser}
\label{docs/user_manual/plugins/plugins_evis:evis-browser}\label{docs/user_manual/plugins/plugins_evis:event-browser}
The Event Browser module provides the functionality to display geocoded
photographs that are linked to vector features displayed in the QGIS map window.
Point data, for example, can be from a vector file that can be input using QGIS
or it can be from the result of a database query. The vector feature must have
attribute information associated with it to describe the location and name of
the file containing the photograph and, optionally, the compass direction the
camera was pointed when the image was acquired. Your vector layer must be loaded
into QGIS before running the Event Browser.


\subsubsection{Launch the Event Browser module}
\label{docs/user_manual/plugins/plugins_evis:launch-the-event-browser-module}\label{docs/user_manual/plugins/plugins_evis:evis-launch-browser}
To launch the Event browser module either click on the \includegraphics[width=1.5em]{event_browser.png}
$^{\text{eVis Event Browser}}$ icon or click on \emph{Database \(\rightarrow\) eVis \(\rightarrow\)
eVis Event Browser}. This will open the \emph{Generic Event Browser} window.

The \emph{Generic Event Browser} window has three tabs displayed at the top
of the window. The \emph{Display} tab is used to view the photograph and its
associated attribute data. The \emph{Options} tab provides a number of
settings that can be adjusted to control the behavior of the eVis plugin. Lastly,
the \emph{Configure External Applications} tab is used to maintain a table
of file extensions and their associated application to allow eVis to display
documents other than images.


\subsubsection{Understanding the Display window}
\label{docs/user_manual/plugins/plugins_evis:evis-display-window}\label{docs/user_manual/plugins/plugins_evis:understanding-the-display-window}
To see the \emph{Display} window click on the \emph{Display} tab in the
\emph{Generic Event Browser} window. The \emph{Display} window is used
to view geocoded photographs and their associated attribute data.
\phantomsection\label{docs/user_manual/plugins/plugins_evis:figure-evis-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{evisdisplay.png}
\caption{The \emph{eVis} display window \includegraphics[width=1em]{win.png}}\end{figure}
\begin{enumerate}
\item {} 
\textbf{Display window}: A window where the photograph will appear.

\item {} 
\textbf{Zoom in button}: Zoom in to see more detail. If the entire image cannot be
displayed in the display window, scroll bars will appear on the left and bottom
sides of the window to allow you to pan around the image.

\item {} 
\textbf{Zoom out button}: Zoom out to see more area.

\item {} 
\textbf{Zoom to full extent} button: Displays the full extent of the photograph.

\item {} 
\textbf{Attribute information window}: All of the attribute information for the
point associated with the photograph being viewed is displayed here. If the
file type being referenced in the displayed record is not an image but is of
a file type defined in the \emph{Configure External Applications} tab
then when you double-click on the value of the field containing the path to
the file the application to open the file will be launched to view or hear
the contents of the file. If the file extension is recognized the attribute
data will be displayed in green.

\item {} 
\textbf{Navigation buttons}: Use the Previous and Next buttons to load the previous
or next feature when more than one feature is selected.

\item {} 
\textbf{Feature indicator}: This heading indicates which feature is being displayed
and how many features are available for display.

\end{enumerate}


\subsubsection{Understanding the Options window}
\label{docs/user_manual/plugins/plugins_evis:understanding-the-options-window}\label{docs/user_manual/plugins/plugins_evis:evis-options-window}\phantomsection\label{docs/user_manual/plugins/plugins_evis:figure-evis-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{evisoptions.png}
\caption{The \emph{eVis} Options window \includegraphics[width=1em]{win.png}}\end{figure}
\begin{enumerate}
\item {} 
\textbf{File path}: A dropdown list to specify the attribute field that contains
the directory path or URL for the photographs or other documents being
displayed. If the location is a relative path then the checkbox must be
clicked. The base path for a relative path can be entered in the \emph{Base
Path} text box below. Information about the different options for specifying
the file location are noted in the section {\hyperref[docs/user_manual/plugins/plugins_evis:evis-specifying]{\emph{Specifying the location and name of a photograph}}} below.

\item {} 
\textbf{Compass bearing display field}: A dropdown list to specify the attribute
field that contains the compass bearing associated with the photograph being
displayed. If compass bearing information is available it is necessary to
click the checkbox to the left of the dropdown menu title.

\item {} 
\textbf{Compass offset setting}: Compass offsets can be used to compensate for
declination (adjust bearings collected using magnetic bearings to true north
bearings). Click the \includegraphics{radiobuttonon.png} \emph{Manual} radiobutton to enter
the offset in the text box or click the \includegraphics{radiobuttonon.png}
\emph{From Attribute} radiobutton to select the attribute field
containing the offsets. For both of these options east declinations should
be entered using positive values and west declinations should use negative
values.

\item {} 
\textbf{Directory base path}: The base path onto which the relative path defined
in {\hyperref[docs/user_manual/plugins/plugins_evis:figure-evis-2]{Figure\_eVis\_2}} (A) will be appended.

\item {} 
\textbf{Replace path}: If this checkbox is checked, only the file name from the A
will be appended to the Base Path.

\item {} 
\textbf{Apply rule to all documents}: If checked, the same path rules that are
defined for photographs will be used for non-image documents such as movies,
text documents, and sound files. If not checked the path rules will only
apply to photographs and other documents will ignore the Base Path parameter.

\item {} 
\textbf{Save settings}: If the checkbox is checked the values for the associated
parameters will be saved for the next session when the window is closed or
when the \textbf{{[}Save{]}} button below is pressed.

\item {} 
\textbf{Reset values}: Resets the values on this line to the default setting.

\item {} 
\textbf{Restore faults}: This will reset all of the fields to their default
settings. It has the same effect as clicking all of the \textbf{{[}Reset{]}} buttons.

\item {} 
\textbf{Save}: This will save the settings without closing the \emph{Options}
pane.

\end{enumerate}


\subsubsection{Understanding the Configure External Applications window}
\label{docs/user_manual/plugins/plugins_evis:evis-external-window}\label{docs/user_manual/plugins/plugins_evis:understanding-the-configure-external-applications-window}\phantomsection\label{docs/user_manual/plugins/plugins_evis:figure-evis-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{evisexternal.png}
\caption{The \emph{eVis} External Applications window \includegraphics[width=1em]{win.png}}\end{figure}
\begin{enumerate}
\item {} 
\textbf{File reference table}: A table containing file types that can be opened
using eVis. Each file type needs a file extension and the path to an
application that can open that type of file. This provides the capability
of opening a broad range of files such as movies, sound recordings, and text
documents instead of only images.

\item {} 
\textbf{Add new file type}: Add a new file type with a unique extension and the
path for the application that can open the file.

\item {} 
\textbf{Delete current row}: Delete the file type highlighted in the table and
defined by a file extension and a path to an associated application.

\end{enumerate}


\subsection{Specifying the location and name of a photograph}
\label{docs/user_manual/plugins/plugins_evis:evis-specifying}\label{docs/user_manual/plugins/plugins_evis:specifying-the-location-and-name-of-a-photograph}
The location and name of the photograph can be stored using an absolute or
relative path or a URL if the photograph is available on a web server. Examples
of the different approaches are listed in Table {\hyperref[docs/user_manual/plugins/plugins_evis:evis-examples]{evis\_examples}}.
\phantomsection\label{docs/user_manual/plugins/plugins_evis:evis-examples}
\begin{Verbatim}[commandchars=\\\{\}]
X        Y        FILE                                                  BEARING
780596   1784017  C:\PYGZbs{}Workshop\PYGZbs{}eVis\_Data\PYGZbs{}groundphotos\PYGZbs{}DSC\_0168.JPG       275
780596   1784017  /groundphotos/DSC\_0169.JPG                            80
780819   1784015  http://biodiversityinform.org/testdata/DSC\_0170.JPG   10
780596   1784017  pdf:http://www.test.com/attach.php?attachment\_id-12   76
\end{Verbatim}


\subsection{Specifying the location and name of other supporting documents}
\label{docs/user_manual/plugins/plugins_evis:evis-location}\label{docs/user_manual/plugins/plugins_evis:specifying-the-location-and-name-of-other-supporting-documents}
Supporting documents such as text documents, videos, and sound clips can also
be displayed or played by eVis. To do this it is necessary to add an entry in
the file reference table that can be accessed from the \emph{Configure External
Applications} window in the \emph{Generic Event Browser} that matches the
file extension to an application that can be used to open the file. It is also
necessary to have the path or URL to the file in the attribute table for the
vector layer. One additional rule that can be used for URLs that don't contain
a file extension for the document you want to open is to specify the file
extension before the URL. The format is --- \code{file extension:URL}. The URL is
preceded by the file extension and a colon, and is particularly useful for
accessing documents from Wikis and other web sites that use a database to
manage the web pages (see Table {\hyperref[docs/user_manual/plugins/plugins_evis:evis-examples]{evis\_examples}}).


\subsection{Using the Generic Event Browser}
\label{docs/user_manual/plugins/plugins_evis:using-the-generic-event-browser}\label{docs/user_manual/plugins/plugins_evis:evis-using-browser}
When the \emph{Event Browser} window opens a photograph will appear in the
display window if the document referenced in the vector file attribute table is
an image and if the file location information in the \emph{Options} window
is properly set. If a photograph is expected and it does not appear it will be
necessary to adjust the parameters in the \emph{Options} window.

If a supporting document (or an image that does not have a file extension
recognized by eVis) is referenced in the attribute table the field containing
the file path will be highlighted in green in the attribute information window
if that file extension is defined in the file reference table located in the
\emph{Configure External Applications} window. To open the document
double-click on the green-highlighted line in the attribute information window.
If a supporting document is referenced in the attribute information window and
the file path is not highlighted in green then it will be necessary to add an
entry for the file's filename extension in the \emph{Configure External
Applications} window. If the file path is highlighted in green but does not open
when double-clicked it will be necessary to adjust the parameters in the
\emph{Options} window so the file can be located by eVis.

If no compass bearing is provided in the \emph{Options} window a red asterisk
will be displayed on top of the vector feature that is associated with the
photograph being displayed. If a compass bearing is provided then an arrow will
appear pointing in the direction indicated by the value in the compass bearing
display field in the \emph{Generic Event Browser} window. The arrow will be
centered over the point that is associated with the photograph or other document.

To close the \emph{Generic Event Browser} window click on the \textbf{{[}Close{]}}
button from the \emph{Display} window.


\subsection{Event ID Tool}
\label{docs/user_manual/plugins/plugins_evis:evis-id-tool}\label{docs/user_manual/plugins/plugins_evis:event-id-tool}
The `Event ID' module allows you to display a photograph by clicking on a feature
displayed in the QGIS map window. The vector feature must have attribute
information associated with it to describe the location and name of the file
containing the photograph and optionally the compass direction the camera was
pointed when the image was acquired. This layer must be loaded into QGIS before
running the `Event ID' tool.


\subsubsection{Launch the Event ID module}
\label{docs/user_manual/plugins/plugins_evis:launch-the-event-id-module}\label{docs/user_manual/plugins/plugins_evis:evis-launch-id}
To launch the `Event ID' module either click on the \includegraphics[width=1.5em]{event_id.png} $^{\text{Event ID}}$
icon or click on \emph{Plugins \(\rightarrow\) eVis \(\rightarrow\) Event ID Tool}. This will
cause the cursor to change to an arrow with an `i' on top of it signifying that
the ID tool is active.

To view the photographs linked to vector features in the active vector layer
displayed in the QGIS map window, move the Event ID cursor over the feature and
then click the mouse. After clicking on the feature, the \emph{Generic Event
Browser} window is opened and the photographs on or near the clicked locality are
available for display in the browser. If more than one photograph is available,
you can cycle through the different features using the \textbf{{[}Previous{]}} and
\textbf{{[}Next{]}} buttons. The other controls are described in the ref:\emph{evis\_browser}
section of this guide.


\subsection{Database connection}
\label{docs/user_manual/plugins/plugins_evis:database-connection}\label{docs/user_manual/plugins/plugins_evis:evis-database}
The `Database Connection' module provides tools to connect to and query a
database or other ODBC resource, such as a spreadsheet.

eVis can directly connect to four types of databases: Microsoft Access,
PostgreSQL, MySQL, SQLite, and can also read from ODBC connections. When
reading from an ODBC database (such as an Excel spreadsheet) it is necessary
to configure your ODBC driver for the operating system you are using.


\subsubsection{Launch the Database Connection module}
\label{docs/user_manual/plugins/plugins_evis:launch-the-database-connection-module}\label{docs/user_manual/plugins/plugins_evis:evis-launch-database}
To launch the `Database Connection' module either click on the appropriate icon
\includegraphics[width=1.5em]{evis_connect.png} $^{\text{eVis Database Connection}}$ or click on \emph{Plugins \(\rightarrow\)
eVis \(\rightarrow\) Database Connection}. This will launch the \emph{Database Connection}
window. The window has three tabs: \emph{Predefined Queries},
\emph{Database Connection}, and \emph{SQL Query}. The \emph{Output
Console} window at the bottom of the window displays the status of actions
initiated by the different sections of this module.


\subsubsection{Connect to a database}
\label{docs/user_manual/plugins/plugins_evis:connect-to-a-database}\label{docs/user_manual/plugins/plugins_evis:evis-connect-database}
Click on the \emph{Database Connection} tab to open the database
connection interface. Next, use the \emph{Database Type} \includegraphics{selectstring.png}
combobox to select the type of database that you want to connect to. If a
password or username is required, that information can be entered in the
\emph{Username} and \emph{Password} textboxes.

Enter the database host in the \emph{Database Host} textbox. This option is
not available if you selected ``MS Access'' as the database type. If the database
resides on your desktop you should enter ``localhost''.

Enter the name of the database in the \emph{Database Name} textbox. If you
selected ``ODBC'' as the database type, you need to enter the data source name.

When all of the parameters are filled in, click on the \textbf{{[}Connect{]}} button.
If the connection is successful, a message will be written in the \emph{Output
Console} window stating that the connection was established. If a connection was
not established you will need to check that the correct parameters were entered
above.
\phantomsection\label{docs/user_manual/plugins/plugins_evis:figure-evis-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{evisdatabase.png}
\caption{The \emph{eVis} Database connection window \includegraphics[width=1em]{win.png}}\end{figure}
\begin{enumerate}
\item {} 
\textbf{Database Type}: A dropdown list to specify the type of database that will
be used.

\item {} 
\textbf{Database Host}: The name of the database host.

\item {} 
\textbf{Port} The port number if a MySQL or PostgreSQL database type is selected.

\item {} 
\textbf{Database Name} The name of the database.

\item {} 
\textbf{Connect} A button to connect to the database using the parameters defined
above.

\item {} 
\textbf{Output Console} The console window where messages related to processing
are displayed.

\item {} 
\textbf{Username}: Username for use when a database is password protected.

\item {} 
\textbf{Password}: Password for use when a database is password protected.

\item {} 
\textbf{Predefined Queries}: Tab to open the ``Predefined Queries'' window.

\item {} 
\textbf{Database Connection}: Tab to open the ``Database Connection'' window.

\item {} 
\textbf{SQL Query}: Tab to open the ``SQL Query'' window.

\item {} 
\textbf{Help}: Displays the on line help.

\item {} 
\textbf{OK}: Close the main ``Database Connection'' window.

\end{enumerate}


\subsubsection{Running SQL queries}
\label{docs/user_manual/plugins/plugins_evis:running-sql-queries}\label{docs/user_manual/plugins/plugins_evis:evis-running-sql}
SQL queries are used to extract information from a database or ODBC resource.
In eVis the output from these queries is a vector layer added to the QGIS map
window. Click on the \emph{SQL Query} tab to display the SQL query
interface. SQL commands can be entered in this text window. A helpful tutorial
on SQL commands is available at \href{http://www.w3schools.com/sql}{http://www.w3schools.com/sql}. For example, to
extract all of the data from a worksheet in an Excel file, \code{select * from {[}sheet1\${]}}
where \code{sheet1} is the name of the worksheet.

Click on the \textbf{{[}Run Query{]}} button to execute the command. If the query
is successful a \emph{Database File Selection} window will be displayed. If
the query is not successful an error message will appear in the \emph{Output
Console} window.

In the \emph{Database File Selection} window, enter the name of the layer
that will be created from the results of the query in the \emph{Name of New
Layer} textbox.
\phantomsection\label{docs/user_manual/plugins/plugins_evis:figure-evis-5}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{evissql_query.png}
\caption{The eVis SQL query tab \includegraphics[width=1em]{win.png}}\end{figure}
\begin{enumerate}
\item {} 
\textbf{SQL Query Text Window}: A screen to type SQL queries.

\item {} 
\textbf{Run Query}: Button to execute the query entered in the \emph{SQL Query
Window}.

\item {} 
\textbf{Console Window}: The console window where messages related to processing
are displayed.

\item {} 
\textbf{Help}: Displays the on line help.

\item {} 
\textbf{OK}: Closes the main \emph{Database Connection} window.

\end{enumerate}

Use the \emph{X Coordinate} \includegraphics{selectstring.png} and \emph{Y Coordinate}
\includegraphics{selectstring.png} comboboxes to select the field from the database that store the
\code{X} (or longitude) and \code{Y} (or latitude) coordinates. Clicking on the \textbf{{[}OK{]}}
button causes the vector layer created from the SQL query to be displayed in the
QGIS map window.

To save this vector file for future use, you can use the QGIS `Save as...'
command that is accessed by right clicking on the layer name in the QGIS map
legend and then selecting `Save as...'

\begin{notice}{tip}{Tip:}
\textbf{Creating a vector layer from a Microsoft Excel Worksheet}

When creating a vector layer from a Microsoft Excel Worksheet you might see
that unwanted zeros (``0'') have been inserted in the attribute table rows
beneath valid data.This can be caused by deleting the values for these cells
in Excel using the \code{Backspace} key. To correct this problem you need to
open the Excel file (you'll need to close QGIS if there if you are connected
to the file to allow you to edit the file) and then use
\emph{Edit \(\rightarrow\) Delete} to remove the blank rows from the file. To
avoid this problem you can simply delete several rows in the Excel Worksheet
using \emph{Edit \(\rightarrow\) Delete} before saving the file.
\end{notice}


\subsubsection{Running predefined queries}
\label{docs/user_manual/plugins/plugins_evis:running-predefined-queries}\label{docs/user_manual/plugins/plugins_evis:evis-predefined}
With predefined queries you can select previously written queries stored in XML
format in a file. This is particularly helpful if you are not familiar with SQL
commands. Click on the \emph{Predefined Queries} tab to display the
predefined query interface.

To load a set of predefined queries click on the \includegraphics[width=1.5em]{evis_file.png} $^{\text{Open File}}$
icon. This opens the \emph{Open File} window which is used to locate the file
containing the SQL queries. When the queries are loaded their titles, as
defined in the XML file, will appear in the dropdown menu located just below
the \includegraphics[width=1.5em]{evis_file.png} $^{\text{Open File}}$ icon, the full description of the query is
displayed in the text window under the dropdown menu.

Select the query you want to run from the dropdown menu and then click on the
\emph{SQL Query} tab to see that the query has been loaded into the query
window. If it is the first time you are running a predefined query or are
switching databases, you need to be sure to connect to the database.

Click on the \textbf{{[}Run Query{]}} button in the \emph{SQL Query} tab to execute
the command. If the query is successful a \emph{Database File Selection}
window will be displayed. If the query is not successful an error message will
appear in the \emph{Output Console} window.
\phantomsection\label{docs/user_manual/plugins/plugins_evis:figure-evis-6}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{evispredefined.png}
\caption{The \emph{eVis} Predefined queries tab \includegraphics[width=1em]{win.png}}\end{figure}
\begin{enumerate}
\item {} 
\textbf{Open Query File}: Launches the ``Open File'' file browser to search for
the XML file holding the predefined queries.

\item {} 
\textbf{Predefined Queries}: A dropdown list with all of the queries defined by
the predefined queries XML file.

\item {} 
\textbf{Query description}: A short description of the query. This description
is from the predefined queries XML file.

\item {} 
\textbf{Console Window}: The console window where messages related to processing
are displayed.

\item {} 
\textbf{Help}: Displays the on line help.

\item {} 
\textbf{OK}: Closes the main ``Database Connection'' window.

\end{enumerate}
\phantomsection\label{docs/user_manual/plugins/plugins_evis:evis-xml-tags}

\subsubsection{XML format for eVis predefined queries}
\label{docs/user_manual/plugins/plugins_evis:evis-xml-tags}\label{docs/user_manual/plugins/plugins_evis:evis-xml-format}\label{docs/user_manual/plugins/plugins_evis:xml-format-for-evis-predefined-queries}
The XML tags read by eVis

\begin{tabulary}{\linewidth}{|L|L|}
\hline
\textsf{\relax 
Tag
} & \textsf{\relax 
Description
}\\
\hline
query
 & 
Defines the beginning and end of a query statement.
\\

shortdescription
 & 
A short description of the query that appears in the eVis dropdown menu.
\\

description
 & 
A more detailed description of the query displayed in the Predefined Query text window.
\\

databasetype
 & 
The database type as defined in the Database Type dropdown menu in the Database Connection tab.
\\

databaseport
 & 
The port as defined in the Port textbox in the Database Connection tab.
\\

databasename
 & 
The database name as defined in the Database Name textbox in the Database Connection tab.
\\

databaseusername
 & 
The database username as defined in the Username textbox in the Database Connection tab.
\\

databasepassword
 & 
The database password as defined in the Password textbox in the Database Connection tab.
\\

sqlstatement
 & 
The SQL command.
\\

autoconnect
 & 
A flag (``true'''' or ``false'') to specify if the above tags should be used to automatically
connect to database without running the database connection routine in the Database
Connection tab.
\\
\hline\end{tabulary}


A complete sample XML file with three queries is displayed below:

\begin{Verbatim}[commandchars=\\\{\}]
\textless{}?xml version="1.0"?\textgreater{}
\textless{}doc\textgreater{}
 \textless{}query\textgreater{}
   \textless{}shortdescription\textgreater{}Import all photograph points\textless{}/shortdescription\textgreater{}
   \textless{}description\textgreater{}This command will import all of the data in the SQLite database to QGIS
      \textless{}/description\textgreater{}
   \textless{}databasetype\textgreater{}SQLITE\textless{}/databasetype\textgreater{}
   \textless{}databasehost /\textgreater{}
   \textless{}databaseport /\textgreater{}
   \textless{}databasename\textgreater{}C:\PYGZbs{}textbackslash Workshop/textbackslash
eVis\PYGZbs{}\_Data\PYGZbs{}textbackslash PhotoPoints.db\textless{}/databasename\textgreater{}
   \textless{}databaseusername /\textgreater{}
   \textless{}databasepassword /\textgreater{}
   \textless{}sqlstatement\textgreater{}SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec\_id=Attributes.point\_ID\textless{}/sqlstatement\textgreater{}
   \textless{}autoconnect\textgreater{}false\textless{}/autoconnect\textgreater{}
 \textless{}/query\textgreater{}
  \textless{}query\textgreater{}
   \textless{}shortdescription\textgreater{}Import photograph points "looking across Valley"\textless{}/shortdescription\textgreater{}
   \textless{}description\textgreater{}This command will import only points that have photographs "looking across
      a valley" to QGIS\textless{}/description\textgreater{}
   \textless{}databasetype\textgreater{}SQLITE\textless{}/databasetype\textgreater{}
   \textless{}databasehost /\textgreater{}
   \textless{}databaseport /\textgreater{}
   \textless{}databasename\textgreater{}C:\PYGZbs{}Workshop\PYGZbs{}eVis\_Data\PYGZbs{}PhotoPoints.db\textless{}/databasename\textgreater{}
   \textless{}databaseusername /\textgreater{}
   \textless{}databasepassword /\textgreater{}
   \textless{}sqlstatement\textgreater{}SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec\_id=Attributes.point\_ID where COMMENTS='Looking across
      valley'\textless{}/sqlstatement\textgreater{}
   \textless{}autoconnect\textgreater{}false\textless{}/autoconnect\textgreater{}
 \textless{}/query\textgreater{}
 \textless{}query\textgreater{}
   \textless{}shortdescription\textgreater{}Import photograph points that mention "limestone"\textless{}/shortdescription\textgreater{}
   \textless{}description\textgreater{}This command will import only points that have photographs that mention
      "limestone" to QGIS\textless{}/description\textgreater{}
   \textless{}databasetype\textgreater{}SQLITE\textless{}/databasetype\textgreater{}
   \textless{}databasehost /\textgreater{}
   \textless{}databaseport /\textgreater{}
   \textless{}databasename\textgreater{}C:\PYGZbs{}Workshop\PYGZbs{}eVis\_Data\PYGZbs{}PhotoPoints.db\textless{}/databasename\textgreater{}
   \textless{}databaseusername /\textgreater{}
   \textless{}databasepassword /\textgreater{}
   \textless{}sqlstatement\textgreater{}SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec\_id=Attributes.point\_ID where COMMENTS like '\%limestone\%'
      \textless{}/sqlstatement\textgreater{}
   \textless{}autoconnect\textgreater{}false\textless{}/autoconnect\textgreater{}
 \textless{}/query\textgreater{}
\textless{}/doc\textgreater{}
\end{Verbatim}


\section{fTools Plugin}
\label{docs/user_manual/plugins/plugins_ftools:ftools-plugin}\label{docs/user_manual/plugins/plugins_ftools:ftools}\label{docs/user_manual/plugins/plugins_ftools::doc}
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 {\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}). When enabled, the fTools plugin adds a
\emph{Vector} menu to QGIS, providing functions ranging from Analysis
and Research Tools to Geometry and Geoprocessing Tools, as well as several useful
Data Management Tools.
\phantomsection\label{docs/user_manual/plugins/plugins_ftools:ftools-function}
\index{Analysis tools}

\subsection{Analysis tools}
\label{docs/user_manual/plugins/plugins_ftools:analysis-tools}\label{docs/user_manual/plugins/plugins_ftools:index-0}\label{docs/user_manual/plugins/plugins_ftools:table-ftools-1}
\begin{tabulary}{\linewidth}{|L|L|L|}
\hline
\textsf{\relax 
\textbf{Icon}
} & \textsf{\relax 
\textbf{Tool}
} & \textsf{\relax 
\textbf{Purpose}
}\\
\hline
\includegraphics[width=1.5em]{matrix.png}
 & 
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.
\\

\includegraphics[width=1.5em]{sum_lines.png}
 & 
Sum line length
 & 
Calculate the total sum of line
lengths for each polygon of a polygon
vector layer.
\\

\includegraphics[width=1.5em]{sum_points.png}
 & 
Points in
polygon
 & 
Count the number of points that occur
in each polygon of an input polygon
vector layer.
\\

\includegraphics[width=1.5em]{unique.png}
 & 
List unique
values
 & 
List all unique values in an input
vector layer field
\\

\includegraphics[width=1.5em]{basic_statistics.png}
 & 
Basic statistic
 & 
Compute basic statistics (mean, std
dev, N, sum, CV) on an input field.
\\

\includegraphics[width=1.5em]{neighbour.png}
 & 
Nearest
Neighbor
analysis
 & 
Compute nearest neighbor statistics
assess the level of clustering in a
point vector layer
\\

\includegraphics[width=1.5em]{mean.png}
 & 
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.
\\

\includegraphics[width=1.5em]{intersections.png}
 & 
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 \textgreater{} 0.
\\
\hline\end{tabulary}


Table Ftools 1: fTools Analysis tools

\index{Research tools}

\subsection{Research tools}
\label{docs/user_manual/plugins/plugins_ftools:index-1}\label{docs/user_manual/plugins/plugins_ftools:research-tools}
\begin{tabulary}{\linewidth}{|L|L|L|}
\hline
\textsf{\relax 
\textbf{Icon}
} & \textsf{\relax 
\textbf{Tool}
} & \textsf{\relax 
\textbf{Purpose}
}\\
\hline
\includegraphics[width=1.5em]{random_selection.png}
 & 
Random selection
 & 
Randomly select n number of
features, or n percentage of features
\\

\includegraphics[width=1.5em]{sub_selection.png}
 & 
Random selection
within subsets
 & 
Randomly select features within
subsets based on a unique ID field.
\\

\includegraphics[width=1.5em]{random_points.png}
 & 
Random points
 & 
Generate pseudo-random points over a
given input layer.
\\

\includegraphics[width=1.5em]{regular_points.png}
 & 
Regular points
 & 
Generate a regular grid of points
over a specified region and export
them as a point shapefile.
\\

\includegraphics[width=1.5em]{vector_grid.png}
 & 
Vector grid
 & 
Generate a line or polygon grid
based on user specified grid spacing.
\\

\includegraphics[width=1.5em]{select_location.png}
 & 
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.
\\

\includegraphics[width=1.5em]{layer_extent.png}
 & 
Polygon from
layer extent
 & 
Create a single rectangular
polygon layer from the extent of an
input raster or vector layer.
\\
\hline\end{tabulary}


Table Ftools 2: fTools Research tools


\subsection{Geoprocessing tools}
\label{docs/user_manual/plugins/plugins_ftools:geoprocessing-tools}
\begin{tabulary}{\linewidth}{|L|L|L|}
\hline
\textsf{\relax 
\textbf{Icon}
} & \textsf{\relax 
\textbf{Tool}
} & \textsf{\relax 
\textbf{Purpose}
}\\
\hline
\includegraphics[width=1.5em]{convex_hull.png}
 & 
Convex hull(s)
 & 
Create minimum convex hull(s) for an
input layer, or based on an ID field.
\\

\includegraphics[width=1.5em]{buffer.png}
 & 
Buffer(s)
 & 
Create buffer(s) around features
based on distance, or distance field.
\\

\includegraphics[width=1.5em]{intersect.png}
 & 
Intersect
 & 
Overlay layers such that output
contains areas where both layers
intersect.
\\

\includegraphics[width=1.5em]{union.png}
 & 
Union
 & 
Overlay layers such that output
contains intersecting and
non-intersecting areas.
\\

\includegraphics[width=1.5em]{sym_difference.png}
 & 
Symmetrical
difference
 & 
Overlay layers such that output
contains those areas of the input
and difference layers that do not
intersect.
\\

\includegraphics[width=1.5em]{clip.png}
 & 
Clip
 & 
Overlay layers such that output
contains areas that intersect the
clip layer.
\\

\includegraphics[width=1.5em]{difference.png}
 & 
Difference
 & 
Overlay layers such that output
contains areas not intersecting the
clip layer.
\\

\includegraphics[width=1.5em]{dissolve.png}
 & 
Dissolve
 & 
Merge features based on input field.
All features with identical input
values are combined to form one
single feature.
\\
\hline\end{tabulary}


Table Ftools 3: fTools Geoprocessing tools


\subsection{Geometry tools}
\label{docs/user_manual/plugins/plugins_ftools:geometry-tools}
\begin{tabulary}{\linewidth}{|L|L|L|}
\hline
\textsf{\relax 
\textbf{Icon}
} & \textsf{\relax 
\textbf{Tool}
} & \textsf{\relax 
\textbf{Purpose}
}\\
\hline
\includegraphics[width=1.5em]{check_geometry.png}
 & 
Check geometry
 & 
Check polygons for intersections,
closed-holes, and fix node ordering.
\\

\includegraphics[width=1.5em]{export_geometry.png}
 & 
Export/Add
geometry columns
 & 
Add vector layer geometry info to
point (XCOORD, YCOORD), line
(LENGTH), or polygon (AREA,
PERIMETER) layer.
\\

\includegraphics[width=1.5em]{centroids.png}
 & 
Polygon
centroids
 & 
Calculate the true centroids for
each polygon in an input polygon
layer.
\\

\includegraphics[width=1.5em]{delaunay.png}
 & 
Delaunay
triangulation
 & 
Calculate and output (as polygons)
the delaunay triangulation of an
input point vector layer.
\\
 & 
Voronoi Polygons
 & 
Calculate voronoi polygons of an
input point vector layer.
\\

\includegraphics[width=1.5em]{simplify.png}
 & 
Simplify
geometry
 & 
Generalize lines or polygons with a
modified Douglas-Peucker algorithm.
\\
 & 
Densify
geometry
 & 
Densify lines or polygons by adding
vertices
\\

\includegraphics[width=1.5em]{multi_to_single.png}
 & 
Multipart to
singleparts
 & 
Convert multipart features to
multiple singlepart features.
Creates simple polygons and lines.
\\

\includegraphics[width=1.5em]{single_to_multi.png}
 & 
Singleparts to
multipart
 & 
Merge multiple features to a single
multipart feature based on a unique
ID field.
\\

\includegraphics[width=1.5em]{to_lines.png}
 & 
Polygons to
lines
 & 
Convert polygons to lines, multipart
polygons to multiple singlepart
lines.
\\

\includegraphics[width=1.5em]{to_lines.png}
 & 
Lines to
polygons
 & 
Convert lines to polygons, multipart
lines to multiple singlepart
polygons.
\\

\includegraphics[width=1.5em]{extract_nodes.png}
 & 
Extract nodes
 & 
Extract nodes from line and polygon
layers and output them as points.
\\
\hline\end{tabulary}


Table Ftools 4: fTools Geometry tools

\begin{notice}{note}{Notitie:}
The \emph{Simplify geometry} tool can be used to remove duplicate nodes in line and
polygon geometries, just set the \emph{Simplify tolerance} parameter to 0 and this
will do the trick.
\end{notice}


\subsection{Data management tools}
\label{docs/user_manual/plugins/plugins_ftools:table-ftools-5}\label{docs/user_manual/plugins/plugins_ftools:data-management-tools}
\begin{tabulary}{\linewidth}{|L|L|L|}
\hline
\textsf{\relax 
\textbf{Icon}
} & \textsf{\relax 
\textbf{Tool}
} & \textsf{\relax 
\textbf{Purpose}
}\\
\hline
\includegraphics[width=1.5em]{define_projection.png}
 & 
Define
projection
 & 
Specify the CRS for shapefiles whose
CRS has not been defined.
\\

\includegraphics[width=1.5em]{join_location.png}
 & 
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.
\\

\includegraphics[width=1.5em]{split_layer.png}
 & 
Split vector
layer
 & 
Split input layer into multiple
separate layers based on input field.
\\

\includegraphics[width=1.5em]{merge_shapes.png}
 & 
Merge shapefiles
to one
 & 
Merge several shapefiles within a
folder into a new shapefile based on
the layer type (point, line, area).
\\
 & 
Create spatial
index
 & 
Create a spatial index for OGR
supported formats.
\\
\hline\end{tabulary}


Table Ftools 5: fTools Data management tools


\section{GDAL Tools Plugin}
\label{docs/user_manual/plugins/plugins_gdaltools:label-plugingdaltools}\label{docs/user_manual/plugins/plugins_gdaltools::doc}\label{docs/user_manual/plugins/plugins_gdaltools:gdal-tools-plugin}

\subsection{What is GDALTools?}
\label{docs/user_manual/plugins/plugins_gdaltools:what-is-gdaltools}\label{docs/user_manual/plugins/plugins_gdaltools:whatsgdal}
The GDAL Tools plugin offers a GUI to the collection of tools in the Geospatial
Data Abstraction Library, \href{http://gdal.osgeo.org}{http://gdal.osgeo.org} . These are raster management
tools to query, re-project, warp and merge a wide variety of raster formats. Also
included are tools to create a contour (vector) layer, or a shaded relief from
a raster DEM, and to make a vrt (Virtual Raster Tile in XML format) from a
collection of one or more raster files. These tools are available when the
plugin is installed and activated.


\subsubsection{The GDAL Library}
\label{docs/user_manual/plugins/plugins_gdaltools:the-gdal-library}
The GDAL library consists of a set of command line programs, each with a large
list of options. Users comfortable with running commands from a terminal may
prefer the command line, with access to the full set of options. The GDALTools
plugin offers an easy interface to the tools, exposing only the most popular
options.


\subsection{List of GDAL tools}
\label{docs/user_manual/plugins/plugins_gdaltools:list-of-gdal-tools}\phantomsection\label{docs/user_manual/plugins/plugins_gdaltools:figure-gdal-tools-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{raster_menu.png}
\caption{The \emph{GDALTools} menu list}\end{figure}


\subsubsection{Projections}
\label{docs/user_manual/plugins/plugins_gdaltools:projections}
\begin{tabulary}{\linewidth}{|L|L|}
\hline

\includegraphics[width=1.5em]{warp.png} \emph{Warp (Reproject)}
 & 
This utility is an image mosaicing, reprojection and
warping utility. The program can reproject to any
supported projection, and can also  apply GCPs stored
with the image if the image is ``raw'' with control
information. For more information you can read on
the GDAL website \href{http://www.gdal.org/gdalwarp.html}{http://www.gdal.org/gdalwarp.html}
\\

\includegraphics[width=1.5em]{projection-add.png} \emph{Assign projection}
 & 
This tool allows to assign projection to rasters that
already georeferenced but miss projection
information. Also with it help it is possible to
alter existing projection definition. Both single
file and batch mode are supported. For more
information please visit utility page at GDAL site
\href{http://www.gdal.org/gdalwarp.html}{http://www.gdal.org/gdalwarp.html}
\\

\includegraphics[width=1.5em]{projection-export.png}
\emph{Extract projection}
 & 
This utility helps you to extract projection
information from an input file. If you want to
extract projection from a whole directory you can use
the Batch mode. It creates both \code{.prj} and
\code{.wld} files.
\\
\hline\end{tabulary}



\paragraph{}
\label{docs/user_manual/plugins/plugins_gdaltools:id1}

\subsubsection{Conversion}
\label{docs/user_manual/plugins/plugins_gdaltools:conversion}
\begin{tabulary}{\linewidth}{|L|L|}
\hline

\includegraphics[width=1.5em]{rasterize.png} \emph{Rasterize}
 & 
This program burns vector geometries (points, lines
and polygons) into the raster band(s) of a raster
image. Vectors are read from OGR supported vector
formats. Note that the vector data must in the same
coordinate system as the raster data; on the fly
reprojection is not provided. For more information see
\href{http://www.gdal.org/gdal\_rasterize.html}{http://www.gdal.org/gdal\_rasterize.html}
\\

\includegraphics[width=1.5em]{polygonize.png} \emph{Polygonize}
 & 
This utility creates vector polygons for all connected
regions of pixels in the raster sharing a common pixel
value. Each polygon is created with an attribute
indicating the pixel value of that polygon.  The
utility will create the output vector datasource if it
does not already exist, defaulting to ESRI shapefile
format. See also
\href{http://www.gdal.org/gdal\_polygonize.html}{http://www.gdal.org/gdal\_polygonize.html}
\\

\includegraphics[width=1.5em]{translate.png} \emph{Translate}
 & 
This utility can be used to convert raster data
between different formats, potentially performing some
operations like subsettings, resampling, and rescaling
pixels in the process. For more information you can
read on \href{http://www.gdal.org/gdal\_translate.html}{http://www.gdal.org/gdal\_translate.html}
\\

\includegraphics[width=1.5em]{raster-rgb.png} \emph{RGB to PCT}
 & 
This utility will compute an optimal pseudo-color
table for a given RGB image using a median cut
algorithm on a downsampled RGB histogram. Then it
converts the image into a pseudo-colored image using
the color table. This conversion utilizes
Floyd-Steinberg dithering (error diffusion) to
maximize output image visual quality. The utility is
also desribed at \href{http://www.gdal.org/rgb2pct.html}{http://www.gdal.org/rgb2pct.html}
\\

\includegraphics[width=1.5em]{raster-rgb.png} \emph{PCT to RGB}
 & 
This utility will convert a pseudocolor band on the
input file into an output RGB file of the desired
format. For more information see
\href{http://www.gdal.org/pct2rgb.html}{http://www.gdal.org/pct2rgb.html}
\\
\hline\end{tabulary}



\paragraph{}
\label{docs/user_manual/plugins/plugins_gdaltools:id2}

\subsubsection{Extraction}
\label{docs/user_manual/plugins/plugins_gdaltools:extraction}
\begin{tabulary}{\linewidth}{|L|L|}
\hline

\includegraphics[width=1.5em]{contour.png} \emph{Contour}
 & 
This program generates a vector contour file from the
input raster elevation model (DEM).
On \href{http://www.gdal.org/gdal\_contour.html}{http://www.gdal.org/gdal\_contour.html} you can find
more information.
\\

\includegraphics[width=1.5em]{raster-clip.png} \emph{Clipper}
 & 
This utility allows to clip (extract subset) raster
using selected extent or based on mask layer bounds.
More information can be found at
\href{http://www.gdal.org/gdal\_translate.html}{http://www.gdal.org/gdal\_translate.html}.
\\
\hline\end{tabulary}



\paragraph{}
\label{docs/user_manual/plugins/plugins_gdaltools:id3}

\subsubsection{Analysis}
\label{docs/user_manual/plugins/plugins_gdaltools:analysis}
\begin{tabulary}{\linewidth}{|L|L|}
\hline

\includegraphics[width=1.5em]{sieve.png} \emph{Sieve}
 & 
This utility removes raster polygons smaller than a
provided threshold size (in pixels) and replaces
them with the pixel value of the largest neighbor
polygon. The result can be written back to the
existing raster band, or copied into a new file. For
more information see
\href{http://www.gdal.org/gdal\_sieve.html}{http://www.gdal.org/gdal\_sieve.html} .
\\

\includegraphics[width=1.5em]{nearblack.png} \emph{Near Black}
 & 
This utility will scan an image and try to set all
pixels that are nearly black (or nearly white) around
the edge to exactly black (or white). This is often
used to ``fix up'' lossy compressed aerial photos so
that color pixels can be treated as transparent when
mosaicing. See also
\href{http://www.gdal.org/nearblack.html}{http://www.gdal.org/nearblack.html} .
\\

\includegraphics[width=1.5em]{fillnodata.png} \emph{Fill nodata}
 & 
This utility fills selection raster regions (usually
nodata areas) by interpolation from valid pixels
around the edges of the area. On
\href{http://www.gdal.org/gdal\_fillnodata.html}{http://www.gdal.org/gdal\_fillnodata.html} you can find
more information.
\\

\includegraphics[width=1.5em]{proximity.png}\emph{Proximity}
 & 
This utility generates a raster proximity map
indicating the distance from the center of each pixel
to the center of the nearest pixel identified as a
target pixel. Target pixels are those in the source
raster for which the raster pixel value is in the set
of target pixel values. For more information see
\href{http://www.gdal.org/gdal\_proximity.html}{http://www.gdal.org/gdal\_proximity.html} .
\\

\includegraphics[width=1.5em]{grid.png} \emph{Grid}
 & 
This utility creates regular grid (raster) from the
scattered data read from the OGR datasource. Input
data will be interpolated to fill grid nodes with
values, you can choose from various interpolation
methods. The utility is also described on the GDAL
website \href{http://www.gdal.org/gdal\_grid.html}{http://www.gdal.org/gdal\_grid.html} .
\\

\includegraphics[width=1.5em]{gdal_dem.png} \emph{DEM terrain models}
 & 
Tools to analyze and visualize DEMs. It can create a
shaded relief, a slope, an aspect, a color relief, a
Terrain Ruggedness Index, a Topographic Position Index
and a roughness map from any GDAL-supported elevation
raster. For more information you can read on
\href{http://www.gdal.org/gdaldem.html}{http://www.gdal.org/gdaldem.html}
\\
\hline\end{tabulary}



\paragraph{}
\label{docs/user_manual/plugins/plugins_gdaltools:id4}

\subsubsection{Miscellaneous}
\label{docs/user_manual/plugins/plugins_gdaltools:miscellaneous}
\begin{tabulary}{\linewidth}{|L|L|}
\hline

\includegraphics[width=1.5em]{vrt.png} \emph{Build Virtual Raster}
 & 
This program builds a VRT (Virtual Dataset) that is a
mosaic of the list of input gdal datasets. See also
\href{http://www.gdal.org/gdalbuildvrt.html}{http://www.gdal.org/gdalbuildvrt.html} .
\\

\includegraphics[width=1.5em]{merge.png} \emph{Merge}
 & 
This utility will automatically mosaic a set of
images. All the images must be in the same coordinate
system and have a matching number of bands, but they
may be overlapping, and at different resolutions. In
areas of overlap, the last image will be copied over
earlier ones. The utility is also described on
\href{http://www.gdal.org/gdal\_merge.html}{http://www.gdal.org/gdal\_merge.html} .
\\

\includegraphics[width=1.5em]{raster-info.png} \emph{Information}
 & 
This utility lists various information about a
GDAL supported raster dataset.
On \href{http://www.gdal.org/gdalinfo.html}{http://www.gdal.org/gdalinfo.html} you can find
more information.
\\

\includegraphics[width=1.5em]{raster-overview.png} \emph{Build Overviews}
 & 
The gdaladdo utility can be used to build or rebuild
overview images for most supported file formats with
one of several downsampling algorithms. For more
information see \href{http://www.gdal.org/gdaladdo.html}{http://www.gdal.org/gdaladdo.html} .
\\

\includegraphics[width=1.5em]{tileindex.png} \emph{Tile Index}
 & 
This utility builds a shapefile with a record for
each input raster file, an attribute containing the
filename, and a polygon geometry outlining the raster.
See also \href{http://www.gdal.org/gdaltindex.html}{http://www.gdal.org/gdaltindex.html} .
\\
\hline\end{tabulary}



\section{Georeferencer Plugin}
\label{docs/user_manual/plugins/plugins_georeferencer:georef}\label{docs/user_manual/plugins/plugins_georeferencer:georeferencer-plugin}\label{docs/user_manual/plugins/plugins_georeferencer::doc}
The Georeferencer Plugin is a tool for generating world files for rasters. It
allows you to reference rasters to geographic or projected coordinate systems by
creating a new GeoTiff or by adding a world file to the existing image. The basic
approach to georeferencing a raster is to locate points on the raster for which
you can accurately determine their coordinates.

\textbf{Features}

\index{Georeferencer tools}\phantomsection\label{docs/user_manual/plugins/plugins_georeferencer:table-georeferencer-1}
\begin{tabulary}{\linewidth}{|L|L|L|L|}
\hline
\textsf{\relax 
Icon
} & \textsf{\relax 
Purpose
} & \textsf{\relax 
Icon
} & \textsf{\relax 
Purpose
}\\
\hline &  &  & \\

\includegraphics[width=1.5em]{mActionAddRasterLayer.png}
 & 
Open raster
 & 
\includegraphics[width=1.5em]{mActionStartGeoref.png}
 & 
Start georeferencing
\\

\includegraphics[width=1.5em]{mActionGDALScript.png}
 & 
Generate GDAL Script
 & 
\includegraphics[width=1.5em]{mActionFileOpen.png}
 & 
Load GCP Points
\\

\includegraphics[width=1.5em]{mActionFileSave.png}
 & 
Save GCP Points As
 & 
\includegraphics[width=1em]{mActionOptions.png}
 & 
Transformation settings
\\

\includegraphics[width=1.5em]{mActionCapturePoint.png}
 & 
Add Point
 & 
\includegraphics[width=1.5em]{mActionDeleteSelected.png}
 & 
Delete Point
\\

\includegraphics[width=1.5em]{mActionMoveFeature.png}
 & 
Move GCP Point
 & 
\includegraphics[width=1.5em]{mActionPan.png}
 & 
Pan
\\

\includegraphics[width=1.5em]{mActionZoomIn.png}
 & 
Zoom In
 & 
\includegraphics[width=1.5em]{mActionZoomOut.png}
 & 
Zoom Out
\\

\includegraphics[width=1.5em]{mActionZoomToLayer.png}
 & 
Zoom To Layer
 & 
\includegraphics[width=1.5em]{mActionZoomLast.png}
 & 
Zoom Last
\\

\includegraphics[width=1.5em]{mActionZoomNext.png}
 & 
Zoom Next
 & 
\includegraphics[width=2.5em]{mActionLinkGeorefToQGis.png}
 & 
Link Georeferencer to QGIS
\\

\includegraphics[width=2.5em]{mActionLinkQGisToGeoref.png}
 & 
Link QGIS to Georeferencer
 &  & \\
\hline\end{tabulary}


Table Georeferencer 1: Georeferencer Tools


\subsection{Usual procedure}
\label{docs/user_manual/plugins/plugins_georeferencer:usual-procedure}
As X and Y coordinates (DMS (dd mm ss.ss), DD (dd.dd) or projected coordinates
(mmmm.mm) which correspond with the selected point on the image, two
alternative procedures can be used:
\begin{itemize}
\item {} 
The raster itself sometimes provides crosses with coordinates ``written'' on the
image. In this case you can enter the coordinates manually.

\item {} 
Using already georeferenced layers, this can be either vector or raster data
that contain the same objects/features that you have on the image that you want
to georeference and the projection you want to have your image. In this case
you can enter the coordinates by clicking on the reference dataset loaded in
QGIS map canvas.

\end{itemize}

The usual procedure for georeferencing an image involves selecting multiple
points on the raster, specifying their coordinates, and choosing a relevant
transformation type. Based on the input parameters and data, the plugin will
compute the world file parameters. The more coordinates you provide, the better
the result will be.

The first step is to start QGIS, load the Georeferencer Plugin (see Section
{\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}) and click on the \includegraphics[width=1.5em]{georeferencer.png} $^{\text{Georeferencer}}$
icon which appears in the QGIS toolbar menu. The Georeferencer Plugin dialog
appears as shown in {\hyperref[docs/user_manual/plugins/plugins_georeferencer:figure-georeferencer-1]{figure\_georeferencer\_1}}.

For this example, we are using a topo sheet of South Dakota from SDGS. It can
later be visualized together with the data from the GRASS \code{spearfish60}
location. You can download the topo sheet here:
\href{http://grass.osgeo.org/sampledata/spearfish\_toposheet.tar.gz}{http://grass.osgeo.org/sampledata/spearfish\_toposheet.tar.gz}.
\phantomsection\label{docs/user_manual/plugins/plugins_georeferencer:figure-georeferencer-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{georefplugin.png}
\caption{Georeferencer Plugin Dialog \includegraphics[width=1em]{nix.png}}\end{figure}


\subsubsection{Entering ground control points (GCPs)}
\label{docs/user_manual/plugins/plugins_georeferencer:georeferencer-entering}\label{docs/user_manual/plugins/plugins_georeferencer:entering-ground-control-points-gcps}\begin{enumerate}
\item {} 
To start georeferencing an unreferenced raster, we must load it using the
\includegraphics[width=1.5em]{mActionAddRasterLayer.png} button. The raster will show up in the main working
area of the dialog. Once the raster is loaded, we can start to enter reference
points.

\item {} 
Using the \includegraphics[width=1.5em]{mActionCapturePoint.png} $^{\text{Add Point}}$ button, add points to the
main working area and enter their coordinates (see Figure {\hyperref[docs/user_manual/plugins/plugins_georeferencer:figure-georeferencer-2]{figure\_georeferencer\_2}}).
For this procedure you have three options:
\begin{itemize}
\item {} 
Click on a point in the raster image and enter the X and Y coordinates
manually.

\item {} 
Click on a point in the raster image and choose the button \includegraphics[width=1.5em]{pencil.png}
$^{\text{from map canvas}}$ to add the X and Y coordinates with the help of a
georeferenced map already loaded in the QGIS map canvas.

\item {} 
With the \includegraphics[width=1.5em]{mActionMoveFeature.png} button, you can move the GCPs in both windows,
if they are at the wrong place.

\end{itemize}

\item {} 
Continue entering points. You should have at least 4 points, and the more
coordinates you can provide, the better the result will be. There are
additional tools on the plugin dialog to zoom and pan the working area in
order to locate a relevant set of GCP points.

\end{enumerate}
\phantomsection\label{docs/user_manual/plugins/plugins_georeferencer:figure-georeferencer-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{choose_points.png}
\caption{Add points to the raster image \includegraphics[width=1em]{nix.png}}\end{figure}

The points that are added to the map will be stored in a separate text file
(\code{{[}filename{]}.points}) usually together with the raster image. This allows
us to reopen the Georeferencer plugin at a later date and add new points or delete
existing ones to optimize the result. The points file contains values of the
form: \code{mapX, mapY, pixelX, pixelY}. You can use the \includegraphics[width=1.5em]{mActionFileOpen.png}
$^{\text{Load GCP Points}}$ and \includegraphics[width=1.5em]{mActionFileSave.png} $^{\text{Save GCP Points}}$ buttons to
manage the files.

Within the GCP table you can click on a column header and therewith enable
e.g. numerical sorting. The GCP list is automatically updated.


\subsubsection{Defining the transformation settings}
\label{docs/user_manual/plugins/plugins_georeferencer:georeferencer-transformation}\label{docs/user_manual/plugins/plugins_georeferencer:defining-the-transformation-settings}
After you have added your GCPs to the raster image, you need to define the
transformation settings for the georeferencing process.
\phantomsection\label{docs/user_manual/plugins/plugins_georeferencer:figure-georeferencer-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{transformation_settings.png}
\caption{Defining the georeferencer transformation settings \includegraphics[width=1em]{nix.png}}\end{figure}


\subsubsection{Available Transformation algorithms}
\label{docs/user_manual/plugins/plugins_georeferencer:available-transformation-algorithms}
Depending on how many ground control point you have captured, you may want
to use different transformation algorithms. Choice of transformation
algorithm is also dependent on the type and quality of input data and the
amount of geometric distortion that you are willing to introduce to final
result.

Currently, following algorithms are available:
\begin{itemize}
\item {} 
The \textbf{Linear algorithm} is used to create a world-file, and is different
from the other algorithms, as it does not actually transform the raster.
This algorithm likely won't be sufficient if you are dealing with scanned
material.

\item {} 
The \textbf{Helmert transformation} performs simple scaling and rotation
transformations.

\item {} 
The \textbf{Polynomial algorithms} 1-3 are among the most widely used algorithms
for georeferencing, and each one differs by the degree of distortion
introduced to match source and destination ground control points. The most
widely used polynomial algorithm is the second order polynomial transformation,
which allows some curvature. First order polynomial transformation (affine)
preserves colliniarity and allows scaling, translation and rotation only.

\item {} 
The \textbf{Thin plate spline (TPS) algorithm} is a more modern georeferencing
method, which is able to introduce local deformations in the data. This
algorithm is useful when very low quality originals are being georeferenced.

\item {} 
The \textbf{Projective transformation} is a linear rotation and translation
of coordinates.

\end{itemize}


\subsubsection{Define the Resampling method}
\label{docs/user_manual/plugins/plugins_georeferencer:define-the-resampling-method}
The type of resampling you choose will likely depending on your input data
and the ultimate objective of the exercise. If you don't want to change
statistics of the image, you might want to choose `Nearest neighbour', whereas a
`Cubic resampling' will likely provide a more smoothed result.

It is prossible to choose between five different resampling methods.
\begin{enumerate}
\item {} 
Nearest neighbour

\item {} 
Linear

\item {} 
Cubic

\item {} 
Cubic Spline

\item {} 
Lanczos

\end{enumerate}


\subsubsection{Define the transformation settings}
\label{docs/user_manual/plugins/plugins_georeferencer:define-the-transformation-settings}
There are several options that need to be defined for the georeferenced output
raster.
\begin{itemize}
\item {} 
The checkbox \includegraphics{checkbox.png} \emph{Create world file} is only available, if you
decide to use the linear transformation type, because this means that the
raster image actually won't be transformed. In this case, the field
\emph{Output raster} is not activated, because only a new world-file will
be created.

\item {} 
For all other transformation type you have to define an \emph{Output
raster}. As default a new file ({[}filename{]}\_modified) will be created in the
same folder together with the original raster image.

\item {} 
As a next step you have to define the \emph{Target SRS} (Spatial Reference
System) for the georeferenced raster (see section {\hyperref[docs/user_manual/working_with_projections/working_with_projections:label-projections]{\emph{Werken met Projecties}}}).

\item {} 
If you like, you can \textbf{generate a pdf map} and also \textbf{a pdf report}.
The report includes information about the used transformation parameters.
An image of the residuals and a list with all GCPs and their RMS errors.

\item {} 
Furthermore you can activate the \includegraphics{checkbox.png} \emph{Set Target Resolution}
checkbox and define pixel resolution of the output raster. Default horizontal
and vertical resolution is 1,

\item {} 
The \includegraphics{checkbox.png} \emph{Use 0 for transparency when needed} can be activated,
if pixels with the value 0 shall be visualized transparent. In our example
toposheet all white areas would be transparent.

\item {} 
Finally \includegraphics{checkbox.png} \emph{Load in QGIS when done} loads the output raster
automatically into the QGIS map canvas when the transformation is done.

\end{itemize}


\subsubsection{Show and adapt raster properties}
\label{docs/user_manual/plugins/plugins_georeferencer:show-and-adapt-raster-properties}
Clicking on the \emph{Raster properties} dialog in the \emph{Settings}
menu opens the raster properties of the layer that you want to georeference.


\subsubsection{Configure the georeferencer}
\label{docs/user_manual/plugins/plugins_georeferencer:configure-the-georeferencer}\begin{itemize}
\item {} 
You can define if you want to show GCP coordiniates and/or IDs.

\item {} 
As residual units pixels and map units can be chosen.

\item {} 
For the PDF report a left and right margin can be defined and you can also
set the paper size for the PDF map.

\item {} 
Finally you can activate to \includegraphics{checkbox.png} \emph{show georeferencer window docked}.

\end{itemize}


\subsubsection{Running the transformation}
\label{docs/user_manual/plugins/plugins_georeferencer:running-the-transformation}\label{docs/user_manual/plugins/plugins_georeferencer:georeferencer-running}
After all GCPs have been collected and all transformation settings are defined,
just press the button \includegraphics[width=1.5em]{mActionStartGeoref.png} $^{\text{Start georeferencing}}$ to create
the new georeferenced raster.


\section{Interpolation Plugin}
\label{docs/user_manual/plugins/plugins_interpolation::doc}\label{docs/user_manual/plugins/plugins_interpolation:interpolation-plugin}\label{docs/user_manual/plugins/plugins_interpolation:interpol}
The Interplation plugin can be used to generate a TIN or IDW interpolation of a
point vector layer. It is very simple to handle and provides an intuitive graphical
user interface for creating interpolated raster layers (See {\hyperref[docs/user_manual/plugins/plugins_interpolation:figure-interpolation-1]{Figure\_interpolation\_1}}).
The plugin requires the following parameters to be specified before running:
\begin{itemize}
\item {} 
\textbf{Input vector layer}: Specify the input point vector layer(s) from a list of
loaded point layers. If several layers are specified, then data from all layers
is used for interpolation. Note: It is possible to insert lines or polygons as
constraints for the triangulation, by specifying either ``points'', ``structure
lines'' or ``break lines'' in the \emph{Type} \includegraphics{selectstring.png} combobox.

\item {} 
\textbf{Interpolation attribute}: Select attribute column to be used for interpolation
or enable the \includegraphics{checkbox.png} \emph{Use Z-Coordinate} checkbox to use the layers
stored Z values.

\item {} 
\textbf{Interpolation Method}: Select interpolation method. This can be either
`Triangulated Irregular Network (TIN)' or `Inverse Distance Weighted (IDW)'.

\item {} 
\textbf{Number of columns/rows}: Specify the number row and colums for the output
raster file.

\item {} 
\textbf{Output file}: Specify a name for the output raster file.

\end{itemize}
\phantomsection\label{docs/user_manual/plugins/plugins_interpolation:figure-interpolation-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{interpolate_dialog.png}
\caption{Interpolation Plugin \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{Using the plugin}
\label{docs/user_manual/plugins/plugins_interpolation:using-the-plugin}\label{docs/user_manual/plugins/plugins_interpolation:interpolation-usage}\begin{enumerate}
\item {} 
Start QGIS and load a point vector layer (e.g., \code{elevp.csv}).

\item {} 
Load the Interpolation plugin in the Plugin Manager (see Section
{\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}) and click on the \includegraphics[width=1.5em]{raster-interpolate.png} $^{\text{Interpolation}}$
icon which appears in the QGIS toolbar menu. The Interpolation plugin dialog
appears as shown in {\hyperref[docs/user_manual/plugins/plugins_interpolation:figure-interpolation-1]{Figure\_interpolation\_1}}.

\item {} 
Select an input layer (e.g., \emph{elevp} \includegraphics{selectstring.png}) and column
(e.g., \code{ELEV}) for interpolation.

\item {} 
Select an interpolation method (e.g. `Triangulated Irregular Network (TIN)'),
and specify a cellsize of 5000 as well as the raster output filename (e.g.,
\code{elevation\_tin}).

\item {} 
Click \textbf{{[}OK{]}}.

\item {} 
For the current example, double click \code{elevation\_tin} in the layer list
to open the raster \emph{Layer Properties} dialog and select `Pseudocolor'
as \emph{Color Map} \includegraphics{selectstring.png} in the \emph{Symbology} tab. Or
you can define a new color table as described in section {\hyperref[docs/user_manual/working_with_raster/index:working-with-raster]{\emph{Werken met Raster data}}}.

\end{enumerate}

\index{Mapserver\_Export\_Plugin}

\section{MapServer Export Plugin}
\label{docs/user_manual/plugins/plugins_mapserver_export:mapserver-export-plugin}\label{docs/user_manual/plugins/plugins_mapserver_export:index-0}\label{docs/user_manual/plugins/plugins_mapserver_export::doc}\label{docs/user_manual/plugins/plugins_mapserver_export:mapserver-export}
You can use QGIS to `compose' your map by adding and arranging layers,
symbolizing them, customizing the colors and then creating a map file for MapServer.

\begin{notice}{note}{Notitie:}
Currently the plugin only works when you use `Old Symbology' in QGIS. `New
Symbology' is not yet supported.
\end{notice}


\subsection{Creating the Project File}
\label{docs/user_manual/plugins/plugins_mapserver_export:creating-the-project-file}
The MapServer Export Plugin operates on a saved QGIS project file and \textbf{not} on
the current contents of the map canvas and legend. This has been a source of
confusion for a number of users. As described below, before you start using the
MapServer Export Plugin, you need to arrange the raster and vector layers you
want to use in MapServer and save this status in a QGIS project file.
\phantomsection\label{docs/user_manual/plugins/plugins_mapserver_export:figure-mapserver-export-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{mapserver_export_qgis.png}
\caption{Arrange raster and vector layers for QGIS project file \includegraphics[width=1em]{nix.png}}\end{figure}

In this example, we demonstrate the four steps required to create a simple
project file which can be used to create the MapServer map file. We use raster
and vector files from the QGIS sample dataset {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}.
\begin{enumerate}
\item {} 
Add the raster layer \code{landcover.tif} clicking on the
\includegraphics[width=1.5em]{mActionAddRasterLayer.png} $^{\text{Add Raster Layer}}$ icon.

\item {} 
Add the vector Shapefiles \code{lakes.shp}, \code{majrivers.shp} and
\code{airports.shp} from the QGIS sample dataset clicking on the
\includegraphics[width=1.5em]{mActionAddNonDbLayer.png} $^{\text{Add Vector Layer}}$ icon.

\item {} 
Change the colors and symbolize the data as you like (for example see
{\hyperref[docs/user_manual/plugins/plugins_mapserver_export:figure-mapserver-export-1]{figure\_mapserver\_export\_1}})

\item {} 
Save a new project named \code{mapserverproject.qgs} using
\emph{File \(\rightarrow\)} \includegraphics[width=1.5em]{mActionFileSave.png} \emph{Save Project}.

\end{enumerate}

\index{msexport}

\subsection{Creating the Map File}
\label{docs/user_manual/plugins/plugins_mapserver_export:creating-the-map-file}\label{docs/user_manual/plugins/plugins_mapserver_export:index-1}
To use the Mapserver Export plugin from within QGIS, you need to enable the
MapServer Export Plugin first using the Plugin Manager (see {\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}).
\phantomsection\label{docs/user_manual/plugins/plugins_mapserver_export:figure-mapserver-export-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=25em]{mapserver_export_dialog.png}
\caption{Export to MapServer Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

\begin{tabulary}{\linewidth}{|L|L|}
\hline

\textbf{Map file}
 & 
Enter the name for the map file to be created. You can use the button at
the right to browse for the directory where you want the map file created.
\\

\textbf{Qgis project file}
 & 
Enter the full path to the QGIS project file (.qgs) you want to export.
You can use the button at the right to browse for the QGIS project file.
\\

\textbf{Map Name}
 & 
A name for the map. This name is prefixed to all images generated by the
mapserver.
\\

\textbf{Map Width}
 & 
Width of the output image in pixels.
\\

\textbf{Map Height}
 & 
Height of the output image in pixels.
\\

\textbf{Map Units}
 & 
Units of measure used for output.
\\

\textbf{Image type}
 & 
Format for the output image generated by MapServer
\\

\textbf{Web Template}
 & 
Full path to the MapServer template file to be used with the map file
\\

\textbf{Web Header}
 & 
Full path to the MapServer header file to be used with the map file
\\

\textbf{Web Footer}
 & 
Full path to the MapServer footer file to be used with the map file
\\
\hline\end{tabulary}


Only the inputs \emph{Map file} and \emph{QGIS project file} are
required to create a map file, however by omitting the other parameters, you
may end up creating a non-functional map file, depending on your intended use.
Although QGIS is good at creating a map file from your project file, it may
require some tweaking to get the results you want. For this example, we will
create a map file using the project file \code{mapserverproject.qgs} we just
created (see {\hyperref[docs/user_manual/plugins/plugins_mapserver_export:figure-mapserver-export-2]{Figure\_mapserver\_export\_2}}):
\begin{enumerate}
\item {} 
Click the \includegraphics{mapserver_export.png} $^{\text{MapServer Export}}$ icon in the toolbar menu
to start the MapServer dialog (see {\hyperref[docs/user_manual/plugins/plugins_mapserver_export:figure-mapserver-export-2]{Figure\_mapserver\_export\_2}}).

\item {} 
Enter the name (e.g., \code{qgisproject.map}) for your new map file.

\item {} 
Browse and find the QGIS project file (e.g., \code{mapserverproject.qgs})
you previously saved.

\item {} 
Enter a name (e.g., \code{MyMap}) for the map.

\item {} 
Enter the width and height (e.g., \code{600} for the width and \code{400} for the
height) for your output image.

\item {} 
For this example, the layers are in meters, so we change the units to meters.

\item {} 
Choose \emph{png} for the image type.

\item {} 
Click \textbf{{[}OK{]}} to generate the new map file \code{qgisproject.map}.
QGIS displays the success of your efforts.

\end{enumerate}
\phantomsection\label{docs/user_manual/plugins/plugins_mapserver_export:figure-mapserver-export-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{mapserver_export_success.png}
\caption{Export to MapServer Succesfull Dialog \includegraphics[width=1em]{nix.png}}\end{figure}

You can view the map file in any text editor or visualizer. If you take a look,
you'll notice that the export tool adds the metadata needed to enable our map
file for WMS.

\index{shp2img}\index{FWTools}

\subsection{Troubleshooting}
\label{docs/user_manual/plugins/plugins_mapserver_export:troubleshooting}\label{docs/user_manual/plugins/plugins_mapserver_export:index-2}
If you get error messages from mapserver like:

\begin{Verbatim}[commandchars=\\\{\}]
loadSymbolSet(): Unable to access file. (./symbols/symbols.txt)
\end{Verbatim}

or:

\begin{Verbatim}[commandchars=\\\{\}]
msLoadFontset(): Unable to access file. Error opening fontset ./fonts/fonts.txt.
\end{Verbatim}

This means that that the map file is requesting for fonts or symbol definition
files but that Mapserver cannot find those.

Either comment the lines containing those names in the map file (this is possible
if you do not have labels or use styles from the \code{symbols.txt}). Or create
those files (see below).

The most simple \code{fonts.txt} file (because arial is used in the QGIS generated
map files) contains the following line

\begin{Verbatim}[commandchars=\\\{\}]
\PYG{c}{\PYGZsh{} either relative to the map file or a full path:}
\PYG{n}{arial} \PYG{o}{/}\PYG{n}{usr}\PYG{o}{/}\PYG{n}{share}\PYG{o}{/}\PYG{n}{fonts}\PYG{o}{/}\PYG{n}{truetype}\PYG{o}{/}\PYG{n}{msttcorefonts}\PYG{o}{/}\PYG{n}{arial}\PYG{o}{.}\PYG{n}{ttf}
\end{Verbatim}

The most simple \code{symbols.txt} file contains the definition of a circle
symbol (because a circle symbol is used for point layers)

\begin{Verbatim}[commandchars=\\\{\}]
SYMBOLSET
    SYMBOL
    NAME "circle"
    TYPE ellipse
    FILLED true
    POINTS
    1 1
    END
    END
END
\end{Verbatim}


\subsection{Testing the Map File}
\label{docs/user_manual/plugins/plugins_mapserver_export:testing-the-map-file}
We can now test our work.

If the map file is accessible for you mapserver cgi you can use the one of the
url's from the success dialog.

Another option is using the \textbf{shp2img} tool to create an image from the map
file. The \textbf{shp2img} utility is part of MapServer and FWTools. To create an
image from our map:
\begin{itemize}
\item {} 
Open a terminal window

\item {} 
If you didn't save your map file in your home directory, change to the folder
where you saved it.

\item {} 
Run \code{shp2img -m qgisproject.map -o mapserver\textbackslash{}\_test.png} and display the image

\end{itemize}

This creates a PNG with all the layers included in the QGIS project file. In
addition, the extent of the PNG will be the same as when we saved the project.
As you can see in {\hyperref[docs/user_manual/plugins/plugins_mapserver_export:figure-mapserver-export-4]{figure\_mapserver\_export\_4}}, all information except the airport
symbols are included.
\phantomsection\label{docs/user_manual/plugins/plugins_mapserver_export:figure-mapserver-export-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{mapserver_export_test.png}
\caption{Test PNG created by shp2img with all MapServer Export layers \includegraphics[width=1em]{nix.png}}\end{figure}


\subsection{Using Map File}
\label{docs/user_manual/plugins/plugins_mapserver_export:using-map-file}
If you plan to use the map file to serve WMS requests, you probably don't have
to tweak anything. If you plan to use it with a mapping template or a custom
interface, you may have a bit of manual work to do. To see how easy it is to go
from QGIS to serving maps on the web, take a look at Christopher Schmidt's 5
minute \href{http://openlayers.org/presentations/mappingyourdata/}{flash video}. He
used an older version of QGIS (version 0.8), but the demo applies equally well
to newer versions.


\section{Offline Editing Plugin}
\label{docs/user_manual/plugins/plugins_offline_editing:offline-editing-plugin}\label{docs/user_manual/plugins/plugins_offline_editing::doc}\label{docs/user_manual/plugins/plugins_offline_editing:offlinedit}
For data collection, it is a common situation to work with a laptop or a cell
phone offline in the field. Upon returning to the network, the changes need to
be synchronized with the master data source, e.g. a PostGIS database. If several
persons are working simultaneously on the same datasets, it is difficult to
merge the edits by hand, even if people don’t change the same features.

The \includegraphics[width=1.5em]{offline_editing_copy.png}$^{\text{Offline Editing}}$ Plugin automates the
synchronisation by copying the content of a datasource (usually PostGIS or
WFS-T) to a SpatiaLite database and storing the offline edits to dedicated
tables. After being connected to the network again, it is possible to apply the
offline edits to the master dataset.


\subsection{Using the plugin}
\label{docs/user_manual/plugins/plugins_offline_editing:using-the-plugin}\begin{itemize}
\item {} 
Open some vector layers, e.g. from a PostGIS or WFS-T datasource

\item {} 
Save it as a project

\item {} 
Press the \includegraphics[width=1.5em]{offline_editing_copy.png}$^{\text{Convert to offline project}}$ icon and
select the layers to save. The content of the layers is saved to SpatiaLite
tables.

\item {} 
Edit the layers offline.

\item {} 
After being connected again, upload the changes with the \includegraphics[width=1.5em]{offline_editing_sync.png}
$^{\text{Synchronize}}$ button.

\end{itemize}
\phantomsection\label{docs/user_manual/plugins/plugins_offline_editing:figure-offline-editing-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{create_offline_project.png}
\caption{Create an offline project from PostGIS or WFS layers}\end{figure}


\section{Oracle GeoRaster Plugin}
\label{docs/user_manual/plugins/plugins_oracle_raster:oracle-georaster-plugin}\label{docs/user_manual/plugins/plugins_oracle_raster::doc}\label{docs/user_manual/plugins/plugins_oracle_raster:oracle-raster}
In Oracle databases, raster data can be stored in SDO\_GEORASTER objects available
with the Oracle Spatial extension. In QGIS, the \includegraphics[width=1.5em]{oracle_raster.png}
$^{\text{OracleGeoRasterPlugin}}$ is supported by GDAL, and depends on Oracle's
database product being installed and working on your machine. While Oracle is
proprietary software, they provide their software free for development and testing
purposes. Here is one simple example of how to load raster images to GeoRaster:

\begin{Verbatim}[commandchars=\\\{\}]
\$ gdal\_translate -of georaster input\_file.tif geor:scott/tiger@orcl
\end{Verbatim}

This will load the raster into the default GDAL\_IMPORT table, as a column named
\code{RASTER}.


\subsection{Managing connections}
\label{docs/user_manual/plugins/plugins_oracle_raster:managing-connections}
Firstly, the Oracle GeoRaster Plugin must be enabled using the Plugin Manager
(see Section {\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}). The first time you load a GeoRaster in
QGIS, you must create a connection to the Oracle database that contains the data.
To do this, begin by clicking on the \includegraphics[width=1.5em]{oracle_raster.png} $^{\text{Select GeoRaster}}$
toolbar button, it will open the \emph{Select Oracle Spatial GeoRaster}
dialog window. Click on \textbf{{[}New{]}} to open the dialog window, and specify
the connection parameters (See {\hyperref[docs/user_manual/plugins/plugins_oracle_raster:figure-oracle-raster-1]{Figure\_oracle\_raster\_1}}):
\begin{itemize}
\item {} 
\textbf{Name}: Enter a name for the database connection

\item {} 
\textbf{Database instance}: Enter the name of the database that you will connect to

\item {} 
\textbf{Username}: Specify your own username that you will use to access the database

\item {} 
\textbf{Password}: The password associated with your username that is required to
access the database

\end{itemize}
\phantomsection\label{docs/user_manual/plugins/plugins_oracle_raster:figure-oracle-raster-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{oracle_create_dialog.png}
\caption{Create Oracle connection dialog}\end{figure}

Now, back on the main \emph{Oracle Spatial GeoRaster} dialog window
(see {\hyperref[docs/user_manual/plugins/plugins_oracle_raster:figure-oracle-raster-2]{Figure\_oracle\_raster\_2}}), use the drop-down list to choose one connection,
and use the \textbf{{[}Connect{]}} button to establish a connection. You may also
\textbf{{[}Edit{]}} the connection by opening the previous dialog and making changes to
the connection information, or use the \textbf{{[}Delete{]}} button to remove the
connection from the drop-down list.


\subsection{Selecting a GeoRaster}
\label{docs/user_manual/plugins/plugins_oracle_raster:selecting-a-georaster}
Once a connection has been established, the sub-datasets window will show the
names of all the tables that contains GeoRaster columns in that database in the
format of a GDAL subdataset name.

Click on one of the listed subdatasets and then click on \textbf{{[}Select{]}} to choose
the table name. Now another list of subdatasets will show with the names of
GeoRaster columns on that table. This is usually a short list, since most users
will not have more than one or two GeoRaster columns on the same table.

Click on one of the listed subdatasets and then click on \textbf{{[}Select{]}} to choose
one of the the table/column combination. The dialog will now show all the rows
that contains GeoRaster objects. Note that the subdataset list will now show the
Raster Data Table and Raster Id's pairs.

At anytime the Selection entry can be edited in order to go directly to a known
GeoRaster or to go back to the beginning and select another table name.
\phantomsection\label{docs/user_manual/plugins/plugins_oracle_raster:figure-oracle-raster-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{oracle_select_dialog.png}
\caption{Select Oracle GeoRaster dialog}\end{figure}

The Selection data entry can also be used to enter a Where clause at the end of
the identification string, e.g. \code{geor:scott/tiger@orcl,gdal\_import,raster,geoid=}.
See \href{http://www.gdal.org/frmt\_georaster.html}{http://www.gdal.org/frmt\_georaster.html} for more information.


\subsection{Displaying GeoRaster}
\label{docs/user_manual/plugins/plugins_oracle_raster:displaying-georaster}
Finally, by selecting a GeoRaster from the list of Raster Data Table and Raster
Id's, the raster image will be loaded into QGIS.

The \emph{Select Oracle Spatial GeoRaster} dialog can be closed now and next
time it opens it will keep the same connection, and will show the same previous
list of subdataset making it very easy to open up another image from the same
context.

\begin{notice}{note}{Notitie:}
GeoRasters that contains pyramids will display much faster but the pyramids
need to be generated outside of QGIS using Oracle PL/SQL or gdaladdo.
\end{notice}

The following is example using \code{gdaladdo}:

\begin{Verbatim}[commandchars=\\\{\}]
gdaladdo georaster:scott/tiger@orcl,georaster\PYGZbs{}\_table,georaster,georid=6 \PYGZbs{}
-r nearest 2 4 6 8 16 32
\end{Verbatim}

This is an example using PL/SQL:

\begin{Verbatim}[commandchars=\\\{\}]
\$ sqlplus scott/tiger
SQL\textgreater{} DECLARE
 gr sdo\_georaster;
BEGIN
    SELECT image INTO gr FROM cities WHERE id = 1 FOR UPDATE;
    sdo\_geor.generatePyramid(gr, 'rLevel=5, resampling=NN');
    UPDATE cities SET image = gr WHERE id = 1;
    COMMIT;
END;
\end{Verbatim}


\section{Raster Terreinanalyses Plugin}
\label{docs/user_manual/plugins/plugins_raster_terrain:raster-terrain-analysis-plugin}\label{docs/user_manual/plugins/plugins_raster_terrain:rasterrain}\label{docs/user_manual/plugins/plugins_raster_terrain::doc}
\includegraphics[width=1.5em]{dem.png} Met de Raster Terreinanalyses Plugin kunnen berekeningen worden gedaan op basis van een digitaal terreinmodel (DEM). Het werkt heel eenvoudig met behulp van de grafische interface waarmee nieuwe rasterlagen kunnen worden gemaakt (Zie {\hyperref[docs/user_manual/plugins/plugins_raster_terrain:figure-raster-terrain-1]{Figure\_raster\_terrain\_1}}).

Beschrijving van de analyses:
\begin{itemize}
\item {} 
\textbf{Slope}: Berekent de hellingshoek van het terrein in graden (gebaseerd op een schatting van de eerste orde afgeleide).

\item {} 
\textbf{Aspect}: Berekent de richting van de afloop van het terrein in graden (met de klok mee vanaf het Noorden).

\item {} 
\textbf{Hillshade}: Berekent de schaduw waarmee een beter 3-dimensionaal beeld van het terrein kan worden gegeven.

\item {} 
\textbf{Ruggedness Index}: Een berekening van terreinverschillen zoals beschreven door Riley et al. (1999). Voor elke gridcel worden de hoogteverschillen met de 8 aangrenzenden cellen opgeteld.

\item {} 
\textbf{Relief}: Genereert een hoogtekaart met kleur en schaduw op basis van een DEM. Daarbij wordt op basis van de data bepaald hoe de hoogten worden geclassificeerd.

\end{itemize}
\phantomsection\label{docs/user_manual/plugins/plugins_raster_terrain:figure-raster-terrain-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{raster_terrain_dialog.png}
\caption{Raster Terrain Modelling Plugin (slope calculation)}\end{figure}


\subsection{Gebruik van de plugin}
\label{docs/user_manual/plugins/plugins_raster_terrain:using-the-plugin}\label{docs/user_manual/plugins/plugins_raster_terrain:raster-terrain-usage}\begin{enumerate}
\item {} 
Start QGS en voeg de rasterlaag \code{gtopo30} uit de GRASS voorbeeldlocatie toe.

\item {} 
Laadt de Raster Terreinanalyses Plugin met de Plugin-manager (zie hoofdstuk {\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}})

\item {} 
Selecteer de gewenste analyse via het menu (bijv. \emph{Raster \(\rightarrow\) Terrain Analysis \(\rightarrow\) Slope \(\rightarrow\)}). Het dialoogvenster \emph{Slope} verschijnt zoals te zien is in {\hyperref[docs/user_manual/plugins/plugins_raster_terrain:figure-raster-terrain-1]{Figure\_raster\_terrain\_1}}.

\item {} 
Voer een map en bestandsnaam in.

\item {} 
Klik \textbf{{[}OK{]}}.

\end{enumerate}


\section{Heatmap Plugin}
\label{docs/user_manual/plugins/plugins_heatmap::doc}\label{docs/user_manual/plugins/plugins_heatmap:heatmap-plugin}\label{docs/user_manual/plugins/plugins_heatmap:id1}
De \includegraphics[width=1.5em]{heatmap.png} $^{\text{Heatmap}}$ plugin geeft de mogelijkheid om een heatmap te creëeren vanuit een vector punten kaartlaag. Een heatmap (hittekaart) is een rasterkaart die de dichtheid of relevantie van puntgerelateerde gegevens toont. Het resultaat geeft de ``hotspots'' weer.


\subsection{De Heatmap plugin activeren}
\label{docs/user_manual/plugins/plugins_heatmap:activate-the-heatmap-plugin}
Eerst dient deze standaard plugin geactiveerd te worden gebruik makende van de Plugin Manager (zie par. {\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}). Na activatie is het icoon van de heatmap plugin zichtbaar op de Raster werkbalk.

Selecteer via het menu \emph{Beeld \(\rightarrow\)} \emph{Werkbalken \(\rightarrow\) Raster} om de Raster werkbalk te activeren wanneer deze nog niet actief is.


\subsection{Gebruik van de Heatmap plugin}
\label{docs/user_manual/plugins/plugins_heatmap:using-the-heatmap-plugin}
Het \includegraphics[width=1.5em]{heatmap.png} $^{\text{Heatmap}}$ icoon op de Raster werkbalk start de dialoog van de Heatmap plugin (zie {\hyperref[docs/user_manual/plugins/plugins_heatmap:figure-heatmap-2]{figure\_heatmap\_2}}).

Het dialoog heeft de volgende opties:
\begin{itemize}
\item {} 
\textbf{Input punten-vectorlaag} dialoog: Hiermee selecteer je een geladen punten vector kaartlaag.

\item {} 
\textbf{Output Raster}: Via de browse knop \includegraphics{browsebutton.png} kun je naar een folder navigeren en een naam geven aan het rasterbestand dat gegenereerd zal worden. Het is niet nodig een bestandsextensie mee te geven

\item {} 
\textbf{Uitvoerformaat}: Selectie van het soort rasterbestand. Alhoewel uit alle door GDAL ondersteunde formaten gekozen kan worden is het GeoTIFF formaten in de meeste gevallen het beste formaat. Dit formaat ondersteund, bijvoorbeeld ondersteuning voor het toevoegen van interne overzichtsrasters zodat kaarten sneller getekend worden, wat veelal ontbreekt voor andere raster formaten.

\item {} 
\textbf{Straal}: Geef hiermee de straal in meters of kaarteenheden. Wanneer de straal te klein worden gekozen krijg je geen mooie heatmap. In plaatsen waar meer circels elkaar rond puntwaarden elkaar overlappen zullen fellere hotspots ontstaan!

\item {} 
\textbf{Afnamewaarde}: gebruik dit veld om aan te geven in welke mate de hitte afneemt vanuit het centrum.
\begin{itemize}
\item {} 
Wanneer 0 wordt gegeven (= minimum) zal de hitte geconcentreerd zijn in het centrum en volledig gedoofd zijn aan de rand van gegeven straal.

\item {} 
Wanneer 10 wordt gegeven (=maximum) is de hitte het sterkst aan de rand en in het centrum is deze volledig gedoofd. Hogere waarden ingeven mag maar heeft geen effect.

\item {} 
Wanneer 1 wordt gegeven dan is de hitte gelijk verdeeld over de circel.

\item {} 
Wanneer een negatieve afnamewaarde is gegeven zal er een Coolmap in plaats van een Heatmap worden gegenereerd!

\end{itemize}

\end{itemize}

Wanneer het aanvinkvakje \includegraphics{checkbox.png} \emph{Geavanceerd} is aangevinkt zal dit toegang geven tot extra geavanceerde instellingen.
\begin{itemize}
\item {} 
\textbf{Rij} en \textbf{Kolom} kunnen worden gebruikt om de pixelgrootte van het te genereren raster in te stellen. Meer rijen en kolommen betekent een kleinere pixelgrootte en de bestandsgrootte van het raster die gegenereerd wordt zal groeien en de generatie zal meer tijd kosten. Wanneer het aantal rijen wordt verdubbeld zal automatisch ook het aantal kolommen worden verdubbeld. De celgrootte (hoogte/breedte) zal worden gehalveerd. De grootte van de rasterkaart blijft hetzelfde!

\item {} 
\textbf{Celgrootte X} en \textbf{Celgrootte Y} beïnvloeden rechtsstreeks de pixelgrootte. Het aantal rijen en kolommen zal mee wijzigen.

\end{itemize}

De punten vector laag kan attribuutvelden bevatten die gebruikt kunnen worden voor het aanmaken van de heatmap:
\begin{itemize}
\item {} 
\textbf{Gebruik straal uit veld}: Zet de straal vanuit een attribuutveld.

\item {} 
\textbf{Gebruik gewicht uit veld}: Hiermee wordt de wegingsfactor gezet vanuit een attribuutveld.

\end{itemize}

Wanneer het ouput raster is gegeven, kan de \textbf{{[}OK{]}} knop gebruikt worden om een heatmap te maken. Het eerste resultaat is een grijs vlak dat nog een nabehandeling nodig heeft om er een heatmap van te maken.

\begin{notice}{warning}{Waarschuwing:}
\textbf{Wijzigen van de raster formaat eigenschappen}

Wanneer de raster formaat eigenschappen worden gewijzigd, heeft dit invloed op het eindresultaat van de heatmap. De hotspot gebieden zullen veranderen in grootte.
\end{notice}


\subsection{Creatie van de Heatmap}
\label{docs/user_manual/plugins/plugins_heatmap:creating-a-heatmap}
Als voorbeeld zal de \code{airports} vector punten laag van de QGIS voorbeeld dataset worden gebruikt (zie {\hyperref[docs/user_manual/introduction/getting_started:label-sampledata]{\emph{Voorbeeld Data}}}). Een andere goede QGIS tutorial voor het maken van heatmaps kan gevonden worden op \href{http://qgis.spatialthoughts.com/2012/07/tutorial-making-heatmaps-using-qgis-and.html}{http://qgis.spatialthoughts.com}.

{\hyperref[docs/user_manual/plugins/plugins_heatmap:figure-heatmap-1]{Figure\_Heatmap\_1}} toont de vliegvelden van Alaska.
\phantomsection\label{docs/user_manual/plugins/plugins_heatmap:figure-heatmap-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{heatmap_start.png}
\caption{Airports of Alaska \includegraphics[width=1em]{osx.png}}\end{figure}
\begin{enumerate}
\item {} 
Selecteer de \includegraphics[width=1.5em]{heatmap.png} $^{\text{Heatmap}}$ knop. De heatmap dialoog wordt geopend (zie {\hyperref[docs/user_manual/plugins/plugins_heatmap:figure-heatmap-2]{Figure\_Heatmap\_2}}).

\item {} 
Voor het veld \emph{Input punten-vectorlaag} \includegraphics{selectstring.png} selecteer \code{airport} uit de lijst van geladen vector lagen met punten in het huidige project.

\item {} 
Voor het veld \emph{Output Raster} geef de naam en folder van het uitvoer raster bestand gebruik makende van de browse knop \includegraphics{browsebutton.png}. Geef het uitvoerbestand de naam \code{heatmap\_airports}, het geven van een bestandsextensie is niet nodig.

\item {} 
Voor het veld \emph{Uitvoerformaat} kies \code{GeoTIFF}.

\item {} 
Voor het veld \emph{Straal} geef \code{1000000} meter.

\item {} 
De standaardwaarde \code{0.1} voor het veld Afnamewaarde is prima.

\item {} 
Druk vervolgens op \textbf{{[}OK{]}} om de nieuwe raster map te genereren en te laden (zie {\hyperref[docs/user_manual/plugins/plugins_heatmap:figure-heatmap-3]{Figure\_Heatmap\_3}}).

\end{enumerate}
\phantomsection\label{docs/user_manual/plugins/plugins_heatmap:figure-heatmap-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{heatmap_dialog.png}
\caption{The Heatmap Dialog \includegraphics[width=1em]{osx.png}}\end{figure}

Het resultaat na het laden is waarschijnlijk niet wat er van verwacht wer. Het is nog steeds een grijs vlak zonder enige variatie. Eerst dient de laag zelf nog aanvullend geconfigureerd worden voordat de heatmap zal verschijnen.
\phantomsection\label{docs/user_manual/plugins/plugins_heatmap:figure-heatmap-3}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{heatmap_loaded_grey.png}
\caption{The heatmap after loading looks like a grey surface \includegraphics[width=1em]{osx.png}}\end{figure}
\begin{enumerate}
\item {} 
Open de dialoog Eigenschappen voor de laag \code{heatmap\_airports} (selecteer de laag \code{heatmap\_airports}, druk op de rechtermuisknop en selecteer in het snelmenu \emph{Eigenschappen}).

\item {} 
Selecteer het tabblad \emph{Stijl}.

\item {} 
Onder het deel Enkelbands eigenschappen wijzig het veld \emph{Kleurenpalet} \includegraphics{selectstring.png} van `Grijstinten' naar `Pseudocolor'.

\item {} 
Druk op de knop \textbf{{[}Apply{]}}.

\item {} 
Ga vervolgens naar het tabblad \emph{Transparantie} en zet de schuifschaal \includegraphics{slider.png} \emph{Globale transparantie} naar 40\%.

\item {} 
Selecteer \textbf{{[}OK{]}}

\end{enumerate}

Het resultaat wordt getoond in {\hyperref[docs/user_manual/plugins/plugins_heatmap:figure-heatmap-4]{Figure\_Heatmap\_4}}.
\phantomsection\label{docs/user_manual/plugins/plugins_heatmap:figure-heatmap-4}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{heatmap_loaded_colour.png}
\caption{Final result of heatmap created of airports of Alaska \includegraphics[width=1em]{osx.png}}\end{figure}


\section{Road Graph Plugin}
\label{docs/user_manual/plugins/plugins_road_graph:roadgraph}\label{docs/user_manual/plugins/plugins_road_graph::doc}\label{docs/user_manual/plugins/plugins_road_graph:road-graph-plugin}
The Road Graph Plugin is a C++ plugin for QGIS, that calculates the shortest path
between two points on any polyline layer and plots this path over the road network.
\phantomsection\label{docs/user_manual/plugins/plugins_road_graph:figure-road-graph-2}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{roadgraph_sample.png}
\caption{Road Graph Plugin \includegraphics[width=1em]{nix.png}}\end{figure}

Main features:
\begin{itemize}
\item {} 
calculate path, it's length and travel time

\item {} 
optimize by length or by travel time

\item {} 
export path to a vector layer

\item {} 
highlight roads directions (this is slow and used mainly for debug purposes
and for the settings testing)

\end{itemize}

As a roads layer you can use any polyline vector layer in any QGIS supported
format. Two lines with a common point are considered connected. Please note, it
is required to use layer CRS as project CRS while editing roads layer. This is
due to the fact that recalculation of the coordinates between different CRS
introduce some errors that can result in discontinuities, even when `snapping'
is used.

In the layer attribute table the following fields can be used:
\begin{itemize}
\item {} 
speed on road section --- numeric field;

\item {} 
direction --- any type, that can be casted to string. Forward and reverse
directions are correspond to the one-way road, both directions --- two-way road

\end{itemize}

If some fields don't have any value or do not exist --- default values are used.
You can change defaults and some plugin settings in plugin settings dialog.


\subsection{Using the plugin}
\label{docs/user_manual/plugins/plugins_road_graph:using-the-plugin}
After plugin activation you will see an additional panel on the left side of
the main QGIS window. Now make some definitions to the \emph{Road graph
plugin settings} dialog in the menu \emph{Vector \(\rightarrow\) Road Graph}.

Select a Start and a Stop point in the road network layer and click on
\textbf{{[}Calculate{]}}.


\section{Spatial Query Plugin}
\label{docs/user_manual/plugins/plugins_spatial_query:spatial-query}\label{docs/user_manual/plugins/plugins_spatial_query::doc}\label{docs/user_manual/plugins/plugins_spatial_query:spatial-query-plugin}
The \includegraphics[width=1.5em]{spatialquery.png} $^{\text{Spatial Query}}$ plugin allows to make a spatial query
(select features) in a target layer with reference to another layer. The
functionality is based on the GEOS library and depends on the selected source
feature layer.

Possible operators are:
\begin{itemize}
\item {} 
Contains

\item {} 
Equals

\item {} 
Overlap

\item {} 
Crosses

\item {} 
Intersects

\item {} 
Is disjoint

\item {} 
Touches

\item {} 
Within

\end{itemize}


\subsection{Using the plugin}
\label{docs/user_manual/plugins/plugins_spatial_query:using-the-plugin}
As an example we want to find regions in the Alaska dataset that contain airports.
Following steps are necessary:
\begin{enumerate}
\item {} 
Start QGIS and load the vector layers \code{regions.shp} and
\code{airports.shp}.

\item {} 
Load the Spatial Query plugin in the Plugin Manager (see Section
{\hyperref[docs/user_manual/plugins/plugins:load-core-plugin]{\emph{Loading a QGIS Core Plugin}}}) and click on the \includegraphics[width=1.5em]{spatialquery.png}
$^{\text{Spatial Query}}$ icon which appears in the QGIS toolbar menu. The plugin
dialog appears.

\item {} 
Select layer regions as source layer and airports as reference feature layer.

\item {} 
Select `Contains' as operator and click \textbf{{[}Apply{]}}.

\end{enumerate}

Now you get a list of feature IDs from the query and you have several options as
shown in {\hyperref[docs/user_manual/plugins/plugins_spatial_query:figure-spatial-query-1]{figure\_spatial\_query\_1}}.
\begin{itemize}
\item {} 
Click on the \includegraphics[width=1.5em]{selectesubsetlayer.png} $^{\text{Create layer with list of items}}$

\item {} 
Select an ID from the list and click on \includegraphics[width=1.5em]{selectcreatelayer.png}
$^{\text{Create layer with selected}}$

\item {} 
Select the `Remove from current selection' in the field
\emph{And use the result to} \includegraphics{selectstring.png}.

\item {} 
Additionally you can \includegraphics{checkbox.png} \emph{Zoom to item} or display
\includegraphics{checkbox.png} \emph{Log messages}.

\end{itemize}
\phantomsection\label{docs/user_manual/plugins/plugins_spatial_query:figure-spatial-query-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{spatial_query_sample.png}
\caption{Spatial Query analysis - regions contain airports \includegraphics[width=1em]{nix.png}}\end{figure}

\index{SPIT}\index{Shapefile\_to\_Postgis\_Import\_Tool}

\section{SPIT Plugin}
\label{docs/user_manual/plugins/plugins_spit:spit-plugin}\label{docs/user_manual/plugins/plugins_spit:index-0}\label{docs/user_manual/plugins/plugins_spit::doc}\label{docs/user_manual/plugins/plugins_spit:label-spit}
QGIS comes with a plugin named SPIT (Shapefile to PostGIS Import Tool). SPIT can
be used to load multiple shapefiles at one time and includes support for schemas.
To use SPIT, open the Plugin Manager from the \emph{Plugins} menu,
check the box next to the \includegraphics{checkbox.png} \emph{SPIT plugin} and click \textbf{{[}OK{]}}.
The SPIT icon will be added to the plugin toolbar.

To import a shapefile, click on the \includegraphics{spiticon.png} $^{\text{SPIT}}$ tool in the toolbar
to open the \emph{SPIT - Shapefile to PostGIS Import Tool} dialog. Select
the PostGIS database you want to connect to and click on \textbf{{[}Connect{]}}. If you
want, you can define or change some import options. Now you can add one or more
files to the queue by clicking on the \textbf{{[}Add{]}} button. To process the files,
click on the \textbf{{[}OK{]}} button. The progress of the import as well as any
errors/warnings will be displayed as each shapefile is processed.
\phantomsection\label{docs/user_manual/plugins/plugins_spit:figure-spit-1}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=30em]{spit_plugin.png}
\caption{Using SPIT Plugin to import Shape files to PostGIS \includegraphics[width=1em]{nix.png}}\end{figure}
\phantomsection\label{docs/user_manual/plugins/plugins_spit:tip-importing-shapefiles}
\begin{notice}{tip}{Tip:}
\textbf{Importing Shapefiles Containing PostgreSQL Reserved Words}

If a shapefile is added to the queue containing fields that are reserved
words in the PostgreSQL database a dialog will popup showing the status of
each field. You can edit the field names prior to import and change any that
are reserved words (or change any other field names as desired). Attempting
to import a shapefile with reserved words as field names will likely fail.
\end{notice}


\section{SQL Anywhere Plugin}
\label{docs/user_manual/plugins/plugins_sql_anywhere:sqlanywhere}\label{docs/user_manual/plugins/plugins_sql_anywhere::doc}\label{docs/user_manual/plugins/plugins_sql_anywhere:sql-anywhere-plugin}
SQL Anywhere is a proprietary relational database management system (RDBMS)
from Sybase. SQL Anywhere includes spatial support including OGC, shape files
etc. and built in functions to export to KML, GML and SVG formats.
\phantomsection\label{docs/user_manual/plugins/plugins_sql_anywhere:figure-sql-anywhere}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{sql_anywhere.png}
\caption{SQL Anywhere dialog (KDE) \includegraphics[width=1em]{nix.png}}\end{figure}

The \includegraphics[width=1.5em]{sqlanywhere.png} $^{\text{SQL Anywhere}}$ allows to connect to spatialy enabled
SQL Anywhere databases. The \emph{Add SQL Anywhere layer} dialog is similar
in functionality to the dialogs for PostGIS and SpatiaLite.


\section{Zonal Statistics Plugin}
\label{docs/user_manual/plugins/plugins_zonal_statistics:zonal-statistics-plugin}\label{docs/user_manual/plugins/plugins_zonal_statistics::doc}\label{docs/user_manual/plugins/plugins_zonal_statistics:zonal-statistics}
With the \includegraphics[width=1.5em]{raster-stats.png} $^{\text{Zonal Statistics Plugin}}$ you can
analyze the results of a thematic classification. It allows to calculate several
values of the pixels of a raster layer with the help of a polygonal vector layer
(see {\hyperref[docs/user_manual/plugins/plugins_zonal_statistics:figure-zonal-statistics]{figure\_zonal\_statistics}}). You can calculate the sum, the mean value and
the total count of the pixels that are within a polygon. The plugin generates
output columns in the vector layer with a user-defined prefix.
\phantomsection\label{docs/user_manual/plugins/plugins_zonal_statistics:figure-zonal-statistics}\begin{figure}[htbp]
\centering
\capstart

\includegraphics[width=20em]{zonal_statistics.png}
\caption{Zonal statistics dialog (KDE) \includegraphics[width=1em]{nix.png}}\end{figure}


\chapter{Ondersteuning}
\label{docs/user_manual/preamble/help_and_support:help-and-support}\label{docs/user_manual/preamble/help_and_support::doc}

\section{Mailinglijsten}
\label{docs/user_manual/preamble/help_and_support:mailing-lists}\label{docs/user_manual/preamble/help_and_support:label-helpsupport}
QGIS is constant in ontwikkeling. Mocht je hulp nodig hebben of tegen fouten aanlopen, meld je dan aan op de qgis-users mailinglijst. Je vragen zullen dan door meerdere mensen worden gelezen en ook anderen kunnen profiteren van de antwoorden.


\subsection{qgis-users {[}Engelstalig{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-users}
Deze mailinglijst wordt gebruikt voor algemene vragen en discussies over QGIS en vragen over installatie en gebruik. Je kunt je aanmelden voor de qgis-users mailinglijst via de volgende link: \href{http://lists.osgeo.org/mailman/listinfo/qgis-user}{http://lists.osgeo.org/mailman/listinfo/qgis-user}


\subsection{osgeo.nl}
\label{docs/user_manual/preamble/help_and_support:fossgis-talk-liste}
Voor nederlandstaligen is er de osgeo.nl mailinglijst. Op deze lijst worden algemene vragen en discussies gevoerd in het nederlands en komen specifieke nederlandse onderwerpen aan bod zoals het Rijksdriehoekstelsel. Je kunt je aanmelden voor de osgeo.nl mailinglijst via \href{http://lists.osgeo.org/mailman/listinfo/dutch}{http://lists.osgeo.org/mailman/listinfo/dutch}


\subsection{qgis-developer {[}Engelstalig{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-developer}
Ben je ontwikkelaar en loop je tegen technische vragen aan? Meld je dan aan op de qgis-developer mailinglijst: \href{http://lists.osgeo.org/mailman/listinfo/qgis-developer}{http://lists.osgeo.org/mailman/listinfo/qgis-developer}


\subsection{qgis-commit {[}Geautomatiseerd{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-commit}
Telkens wanneer er door een ontwikkelaar een wijziging wordt gemaakt voor QGIS wordt er een bericht geplaatst op deze lijst. Wil je bij blijven met elke wijziging in de broncode? Meld je dan aan voor deze lijst: \href{http://lists.osgeo.org/mailman/listinfo/qgis-commit}{http://lists.osgeo.org/mailman/listinfo/qgis-commit}


\subsection{qgis-trac {[}Geautomatiseerd{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-trac}
Deze lijst geeft technische meldingen gerelateerd aan QGIS weer. Dit zijn onder andere foutenrapporten, taken en wijzigingsverzoeken alsmede de oplossingen. Deze lijst is niet bedoeld voor gebruikers of ontwikkelaars om berichten te plaatsen. Wil je op de hoogte blijven van de (technische) ontwikkelactiviteiten dan kun je je aanmelden voor deze lijst: \href{http://lists.osgeo.org/mailman/listinfo/qgis-trac}{http://lists.osgeo.org/mailman/listinfo/qgis-trac}


\subsection{qgis-community-team {[}Engelstalig{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-community-team}
Op deze lijst komen onderwerpen als documentatie, ondersteuning, gebruikershandleiding en aan QGIS gerelateerde websites aan bod. Ook wordt hier informatie uitgewisseld over blogs, mailinglijsten en vertalingen. Wil je meehelpen aan een van de handleidingen? Meld je dan aan voor deze lijst: \href{http://lists.osgeo.org/mailman/listinfo/qgis-community-team}{http://lists.osgeo.org/mailman/listinfo/qgis-community-team}


\subsection{qgis-release-team {[}Engelstalig{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-release-team}
Op deze lijst worden meldingen geplaatst over nieuwe versies, versies voor de verschillende besturingssystemen (o.a. Windows, Mac en Linux) en de ontwikkelplanning in het algemeen. Je kunt je aanmelden voor deze lijst op: \href{http://lists.osgeo.org/mailman/listinfo/qgis-release-team}{http://lists.osgeo.org/mailman/listinfo/qgis-release-team}


\subsection{qgis-tr {[}Engelstalig{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-tr}
Deze mailinglijst is voor vertalingen en vertalers. Als je mee wilt werken aan de vertalingen van de QGIS applicatie of de handleidingen, meld je dan aan op: \href{http://lists.osgeo.org/mailman/listinfo/qgis-tr}{http://lists.osgeo.org/mailman/listinfo/qgis-tr}


\subsection{qgis-edu {[}Engelstalig{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-edu}
Deze mailinglijst is specifiek voor discussies in relatie tot QGIS in het onderwijs. Als je wilt (mee)werken aan lesmateriaal of eigen lesmateriaal wilt delen, meld je dan aan op: \href{http://lists.osgeo.org/mailman/listinfo/qgis-edu}{http://lists.osgeo.org/mailman/listinfo/qgis-edu}


\subsection{qgis-psc {[}Engelstalig{]}}
\label{docs/user_manual/preamble/help_and_support:qgis-psc}
Deze mailinglijst wordt gebruikt door de stuurgroep van QGIS om de strategie te bespreken en de dagelijkse gang van zaken rond het project. Je kunt je aanmelden voor deze lijst op: \href{http://lists.osgeo.org/mailman/listinfo/qgis-psc}{http://lists.osgeo.org/mailman/listinfo/qgis-psc}

Iedereen is welkom op de mailinglijsten van QGIS. Zorg wel dat je de juiste onderwerpen in de juiste lijsten aandraagt. Het is belangrijk dat QGIS gebruikers en ontwikkelaars elkaar helpen. Mocht je vragen tegenkomen op een van de lijsten die je kunt beantwoorden, neem dan een paar minuten de tijd en help anderen! Op de mailinglijsten van qgis-commit en qgis-trac worden automatisch gegenereerde berichten geplaatst en zijn niet bedoeld om zelf berichten op te plaatsen.


\section{IRC}
\label{docs/user_manual/preamble/help_and_support:irc}
De mensen van QGIS kunnen ook worden benaderd op IRC. Je kunt deelnemen aan de live discussie in het \#qgis kanaal op irc.freenode.net. De voertaal op dit kanaal is engels. Wil je op een nederlandstalig IRC kanaal praten over QGIS? Dat kan op irc.freenode.net in het kanaal \#osgeonl. Commerciële ondersteuning voor QGIS is eveneens beschikbaar. Bekijk de website \href{http://qgis.org/en/commercial-support.html}{http://qgis.org/en/commercial-support.html} voor meer informatie.

Discussie op IRC gemist? De \#qgis discussie wordt bewaard op \href{http://logs.qgis.org}{http://logs.qgis.org} en de \#osgeonl discussie op \href{http://irclogs.geoapt.com/osgeonl/}{http://irclogs.geoapt.com/osgeonl/}.


\section{Meldingen Volgsysteem}
\label{docs/user_manual/preamble/help_and_support:bugtracker}
Hoewel de qgis-users mailinglijst de juiste plek is voor vragen als `Hoe doe ik XYZ met QGIS` is het handig om gevonden fouten in QGIS te kunnen rapporteren. Je kunt deze foutmeldingen indienen op de QGIS Bug tracker (het foutmeldingen volgsysteem) op \href{http://hub.qgis.org/projects/quantum-gis/issues}{http://hub.qgis.org/projects/quantum-gis/issues}. Doe een melding altijd in het engels en gebruik een geldig e-mail adres zodat je op de hoogte blijft van de voortgang.

Houdt er rekening mee dat fouten die jij belangrijk vindt niet altijd de hoogste prioriteit zullen krijgen. Sommige fouten vereisen een complexe, tijdrovende oplossing en de bereidheid van ontwikkelaars om hier aan te werken kan niet worden gegarandeerd. Wil je dat een fout snel en goed wordt opgelost? Je kunt aanbieden (een deel van) de ontwikkelkosten te vergoeden. Dit zou de oplossing mogelijk kunnen versnellen.

Verzoeken om nieuwe functionaliteit kunnen ook worden aangedragen in het meldingen volgsysteem. Plaats een melding altijd in het engels en kies als type \code{Feature}.

Heb je een fout gevonden en zelf opgelost, dan kun je ook een patch indienen. Dit kun je eveneens indienen op het meldingen volgsysteem van redmine op \href{http://hub.qgis.org/projects/quantum-gis/issues}{http://hub.qgis.org/projects/quantum-gis/issues}. Vink dan ook het aanvinkvakje \code{Patch supplied} aan voordat je de foutmelding daadwerkelijk submit. Een ontwikkelaar zal een review uitvoeren op geboden oplossing en deze (bij acceptatie) verwerken in de QGIS applicatie. Hou er rekening mee dat je patch niet onmiddelijk wordt verwerkt, ontwikkelaars worden vaak opgehouden door andere verplichtingen.


\section{Blog}
\label{docs/user_manual/preamble/help_and_support:blog}
De QGIS-community heeft een engelstalige weblog op \href{http://www.qgis.org/planet}{http://www.qgis.org/planet} waarop interessante artikelen te lezen zijn van gebruikers en ontwikkelaars.die ook gevoed wordt door ander blogs van de community. Heb je zelf een QGIS blog dan kun je deze hier aan toevoegen. Zo is er ook een nederlandstalig blog beschikbaar op \href{http://www.qgis.nl}{http://www.qgis.nl} met interessante artikelen voor gebruikers en ontwikkelaars. Mocht je zelf iets interessants willen plaatsen, neem dan contact op via de website!


\section{Plugins}
\label{docs/user_manual/preamble/help_and_support:plugins}
Op \href{http://plugins.qgis.org}{http://plugins.qgis.org} {[}Engelstalig{]} vind je de QGIS plugins. De website toont een overzicht van stabiele and experimentele QGIS plugins.


\section{Wiki}
\label{docs/user_manual/preamble/help_and_support:wiki}
Er is een engelstalige wiki beschikbaar op \href{http://hub.qgis.org/projects/quantum-gis/wiki}{http://hub.qgis.org/projects/quantum-gis/wiki}. Hier kun je waardevolle informatie vinden maar ook plaatsen over ontwikkeling, uitrol, links naar downloads, vertaal tips enzovoort. Bekijk `m, je kunt er pareltjes aan informatie vinden!


\chapter{Appendix}
\label{docs/user_manual/appendices/appendices:appendix}\label{docs/user_manual/appendices/appendices::doc}
\index{license!GPL}

\section{GNU General Public License}
\label{docs/user_manual/appendices/appendices:index-0}\label{docs/user_manual/appendices/appendices:gpl-appendix}\label{docs/user_manual/appendices/appendices:gnu-general-public-license}
Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA  02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share
and change it. By contrast, the GNU General Public License is intended to
guarantee your freedom to share and change free software--to make sure the
software is free for all its users. This General Public License applies to
most of the Free Software Foundation's software and to any other program whose
authors commit to using it. (Some other Free Software Foundation software is
covered by the GNU Library General Public License instead.) You can apply it
to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our
General Public Licenses are designed to make sure that you have the freedom to
distribute copies of free software (and charge for this service if you wish),
that you receive source code or can get it if you want it, that you can change
the software or use pieces of it in new free programs; and that you know you
can do these things.

To protect your rights, we need to make restrictions that forbid anyone to
deny you these rights or to ask you to surrender the rights. These
restrictions translate to certain responsibilities for you if you distribute
copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for
a fee, you must give the recipients all the rights that you have. You must
make sure that they, too, receive or can get the source code. And you must
show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2)
offer you this license which gives you legal permission to copy, distribute
and/or modify the software.

Also, for each author's protection and ours, we want to make certain that
everyone understands that there is no warranty for this free software. If the
software is modified by someone else and passed on, we want its recipients to
know that what they have is not the original, so that any problems introduced
by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We
wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program proprietary.
To prevent this, we have made it clear that any patent must be licensed for
everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
\begin{enumerate}
\setcounter{enumi}{-1}
\item {} 
This License applies to any program or other work which contains a notice
placed by the copyright holder saying it may be distributed under the terms of
this General Public License. The ``Program'', below, refers to any such program
or work, and a ``work based on the Program'' means either the Program or any
derivative work under copyright law: that is to say, a work containing the
Program or a portion of it, either verbatim or with modifications and/or
translated into another language. (Hereinafter, translation is included
without limitation in the term ``modification''.) Each licensee is addressed as
``you''.

Activities other than copying, distribution and modification are not covered
by this License; they are outside its scope. The act of running the Program is
not restricted, and the output from the Program is covered only if its
contents constitute a work based on the Program (independent of having been
made by running the Program). Whether that is true depends on what the Program
does.

\item {} 
You may copy and distribute verbatim copies of the Program's source code as
you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty; keep intact all the notices that refer to this License
and to the absence of any warranty; and give any other recipients of the
Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may
at your option offer warranty protection in exchange for a fee.

\item {} 
You may modify your copy or copies of the Program or any portion of it,
thus forming a work based on the Program, and copy and distribute such
modifications or work under the terms of Section 1 above, provided that you
also meet all of these conditions:
\begin{enumerate}
\item {} 
You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change.

\item {} 
You must cause any work that you distribute or publish, that in whole
or in part contains or is derived from the Program or any part thereof, to be
licensed as a whole at no charge to all third parties under the terms of this
License.

\item {} 
If the modified program normally reads commands interactively when run,
you must cause it, when started running for such interactive use in the most
ordinary way, to print or display an announcement including an appropriate
copyright notice and a notice that there is no warranty (or else, saying that
you provide a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this License.
(Exception: if the Program itself is interactive but does not normally print
such an announcement, your work based on the Program is not required to print
an announcement.)

\end{enumerate}

These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be reasonably
considered independent and separate works in themselves, then this License,
and its terms, do not apply to those sections when you distribute them as
separate works. But when you distribute the same sections as part of a whole
which is a work based on the Program, the distribution of the whole must be on
the terms of this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise the
right to control the distribution of derivative or collective works based on
the Program.

In addition, mere aggregation of another work not based on the Program with
the Program (or with a work based on the Program) on a volume of a storage or
distribution medium does not bring the other work under the scope of this
License.

\item {} 
You may copy and distribute the Program (or a work based on it, under
Section 2) in object code or executable form under the terms of Sections 1 and
2 above provided that you also do one of the following:
\begin{enumerate}
\item {} 
Accompany it with the complete corresponding machine-readable source
code, which must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange; or,

\item {} 
Accompany it with a written offer, valid for at least three years, to
give any third party, for a charge no more than your cost of physically
performing source distribution, a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of Sections 1 and
2 above on a medium customarily used for software interchange; or,

\item {} 
Accompany it with the information you received as to the offer to
distribute corresponding source code. (This alternative is allowed only for
noncommercial distribution and only if you received the program in object code
or executable form with such an offer, in accord with Subsection b above.)

\end{enumerate}

The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all
the source code for all modules it contains, plus any associated interface
definition files, plus the scripts used to control compilation and
installation of the executable. However, as a special exception, the source
code distributed need not include anything that is normally distributed (in
either source or binary form) with the major components (compiler, kernel, and
so on) of the operating system on which the executable runs, unless that
component itself accompanies the executable.

If distribution of executable or object code is made by offering access to
copy from a designated place, then offering equivalent access to copy the
source code from the same place counts as distribution of the source code,
even though third parties are not compelled to copy the source along with the
object code.

\item {} 
You may not copy, modify, sublicense, or distribute the Program except as
expressly provided under this License. Any attempt otherwise to copy, modify,
sublicense or distribute the Program is void, and will automatically terminate
your rights under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses terminated so
long as such parties remain in full compliance.

\item {} 
You are not required to accept this License, since you have not signed it.
However, nothing else grants you permission to modify or distribute the
Program or its derivative works. These actions are prohibited by law if you do
not accept this License. Therefore, by modifying or distributing the Program
(or any work based on the Program), you indicate your acceptance of this
License to do so, and all its terms and conditions for copying, distributing
or modifying the Program or works based on it.

\item {} 
Each time you redistribute the Program (or any work based on the Program),
the recipient automatically receives a license from the original licensor to
copy, distribute or modify the Program subject to these terms and conditions.
You may not impose any further restrictions on the recipients' exercise of the
rights granted herein. You are not responsible for enforcing compliance by
third parties to this License.

\item {} 
If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or otherwise)
that contradict the conditions of this License, they do not excuse you from
the conditions of this License. If you cannot distribute so as to satisfy
simultaneously your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the Program at all.
For example, if a patent license would not permit royalty-free redistribution
of the Program by all those who receive copies directly or indirectly through
you, then the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply and
the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or
other property right claims or to contest validity of any such claims; this
section has the sole purpose of protecting the integrity of the free software
distribution system, which is implemented by public license practices. Many
people have made generous contributions to the wide range of software
distributed through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing to
distribute software through any other system and a licensee cannot impose that
choice.

This section is intended to make thoroughly clear what is believed to be a
consequence of the rest of this License.

\item {} 
If the distribution and/or use of the Program is restricted in certain
countries either by patents or by copyrighted interfaces, the original
copyright holder who places the Program under this License may add an explicit
geographical distribution limitation excluding those countries, so that
distribution is permitted only in or among countries not thus excluded. In
such case, this License incorporates the limitation as if written in the body
of this License.

\item {} 
The Free Software Foundation may publish revised and/or new versions of the
General Public License from time to time. Such new versions will be similar in
spirit to the present version, but may differ in detail to address new
problems or concerns.

Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and ``any later
version'', you have the option of following the terms and conditions either of
that version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of this License,
you may choose any version ever published by the Free Software Foundation.

\item {} 
If you wish to incorporate parts of the Program into other free programs
whose distribution conditions are different, write to the author to ask for
permission. For software which is copyrighted by the Free Software Foundation,
write to the Free Software Foundation; we sometimes make exceptions for this.
Our decision will be guided by the two goals of preserving the free status of
all derivatives of our free software and of promoting the sharing and reuse of
software generally.

\end{enumerate}

NO WARRANTY
\begin{enumerate}
\setcounter{enumi}{10}
\item {} 
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

\item {} 
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR
A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

\end{enumerate}

\textbf{Quantum GIS Qt exception for GPL}
\begin{quote}

In addition, as a special exception, the QGIS Development Team gives
permission to link the code of this program with the Qt library,
including but not limited to the following versions (both free and
commercial): Qt/Non-commerical Windows, Qt/Windows, Qt/X11, Qt/Mac, and
Qt/Embedded (or with modified versions of Qt that use the same license
as Qt), and distribute linked combinations including the two. You must
obey the GNU General Public License in all respects for all of the code
used other than Qt. If you modify this file, you may extend this
exception to your version of the file, but you are not obligated to do
so. If you do not wish to do so, delete this exception statement from
your version.
\end{quote}


\section{GNU Free Documentation License}
\label{docs/user_manual/appendices/appendices:gfl-appendix}\label{docs/user_manual/appendices/appendices:gnu-free-documentation-license}\begin{quote}

Version 1.3, 3 November 2008

Copyright  2000, 2001, 2002, 2007, 2008  Free Software Foundation, Inc

\textless{}\href{http://fsf.org/}{http://fsf.org/}\textgreater{}
\end{quote}

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

\textbf{Preamble}

The purpose of this License is to make a manual, textbook, or other
functional and useful document ``free'' in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.

This License is a kind of ``copyleft'', which means that derivative
works of the document must themselves be free in the same sense.  It
complements the GNU General Public License, which is a copyleft
license designed for free software.

We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does.  But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book.  We recommend this License
principally for works whose purpose is instruction or reference.

\textbf{1. APPLICABILITY AND DEFINITIONS}

This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License.  Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein.  The \textbf{Document}, below,
refers to any such manual or work.  Any member of the public is a
licensee, and is addressed as ``\textbf{you}''.  You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.

A ``\textbf{Modified Version}'' of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.

A ``\textbf{Secondary Section}'' is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject.  (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.)  The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.

The ``\textbf{Invariant Sections}'' are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License.  If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant.  The Document may contain zero
Invariant Sections.  If the Document does not identify any Invariant
Sections then there are none.

The ``\textbf{Cover Texts}'' are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License.  A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.

A ``\textbf{Transparent}'' copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters.  A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text.  A copy that is not ``Transparent'' is called \textbf{Opaque}.

Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML, PostScript or PDF designed for human modification.  Examples of
transparent image formats include PNG, XCF and JPG.  Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.

The ``\textbf{Title Page}'' means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page.  For works in
formats which do not have any title page as such, ``Title Page'' means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.

The ``\textbf{publisher}'' means any person or entity that distributes
copies of the Document to the public.

A section ``\textbf{Entitled XYZ}'' means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language.  (Here XYZ stands for a
specific section name mentioned below, such as ``\textbf{Acknowledgements}'',
``\textbf{Dedications}'', ``\textbf{Endorsements}'', or ``\textbf{History}''.)
To ``\textbf{Preserve the Title}''
of such a section when you modify the Document means that it remains a
section ``Entitled XYZ'' according to this definition.

The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document.  These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.

\textbf{2. VERBATIM COPYING}

You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License.  You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute.  However, you may accept
compensation in exchange for copies.  If you distribute a large enough
number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and
you may publicly display copies.

\textbf{3. COPYING IN QUANTITY}

If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover.  Both covers must also clearly and legibly identify
you as the publisher of these copies.  The front cover must present
the full title with all words of the title equally prominent and
visible.  You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.

If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.

It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.

\textbf{4. MODIFICATIONS}

You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it.  In addition, you must do these things in the Modified Version:
\begin{enumerate}
\item {} 
Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document).  You may use the same title as a previous version
if the original publisher of that version gives permission.

\item {} 
List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.

\item {} 
State on the Title page the name of the publisher of the
Modified Version, as the publisher.

\item {} 
Preserve all the copyright notices of the Document.

\item {} 
Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.

\item {} 
Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.

\item {} 
Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.

\item {} 
Include an unaltered copy of this License.

\item {} 
Preserve the section Entitled ``History'', Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page.  If
there is no section Entitled ``History'' in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.

\item {} 
Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on.  These may be placed in the ``History'' section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.

\item {} 
For any section Entitled ``Acknowledgements'' or ``Dedications'',
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.

\item {} 
Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles.  Section numbers
or the equivalent are not considered part of the section titles.

\item {} 
Delete any section Entitled ``Endorsements''.  Such a section
may not be included in the Modified Version.

\item {} 
Do not retitle any existing section to be Entitled ``Endorsements''
or to conflict in title with any Invariant Section.

\item {} 
Preserve any Warranty Disclaimers.

\end{enumerate}

If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant.  To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.

You may add a section Entitled ``Endorsements'', provided it contains
nothing but endorsements of your Modified Version by various
parties---for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.

You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version.  Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity.  If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.

\textbf{5. COMBINING DOCUMENTS}

You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.

The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy.  If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled ``History''
in the various original documents, forming one section Entitled
``History''; likewise combine any sections Entitled ``Acknowledgements'',
and any sections Entitled ``Dedications''.  You must delete all sections
Entitled ``Endorsements''.

\textbf{6. COLLECTIONS OF DOCUMENTS}

You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.

\textbf{7. AGGREGATION WITH INDEPENDENT WORKS}

A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an ``aggregate'' if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.

\textbf{8. TRANSLATION}

Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections.  You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers.  In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.

If a section in the Document is Entitled ``Acknowledgements'',
``Dedications'', or ``History'', the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.

\textbf{9. TERMINATION}

You may not copy, modify, sublicense, or distribute the Document
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense, or distribute it is void, and
will automatically terminate your rights under this License.

However, if you cease all violation of this License, then your license
from a particular copyright holder is reinstated (a) provisionally,
unless and until the copyright holder explicitly and finally
terminates your license, and (b) permanently, if the copyright holder
fails to notify you of the violation by some reasonable means prior to
60 days after the cessation.

Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, receipt of a copy of some or all of the same material does
not give you any rights to use it.

\textbf{10. FUTURE REVISIONS OF THIS LICENSE}

The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time.  Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.  See
\href{http://www.gnu.org/copyleft/}{http://www.gnu.org/copyleft/}.

Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License ``or any later version'' applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation.  If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.  If the Document
specifies that a proxy can decide which future versions of this
License can be used, that proxy's public statement of acceptance of a
version permanently authorizes you to choose that version for the
Document.

\textbf{11. RELICENSING}

``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
World Wide Web server that publishes copyrightable works and also
provides prominent facilities for anybody to edit those works.  A
public wiki that anybody can edit is an example of such a server.  A
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
site means any set of copyrightable works thus published on the MMC
site.

``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license
published by that same organization.

``Incorporate'' means to publish or republish a Document, in whole or
in part, as part of another Document.

An MMC is ``eligible for relicensing'' if it is licensed under this
License, and if all works that were first published under this License
somewhere other than this MMC, and subsequently incorporated in whole
or in part into the MMC, (1) had no cover texts or invariant sections,
and (2) were thus incorporated prior to November 1, 2008.

The operator of an MMC Site may republish an MMC contained in the site
under CC-BY-SA on the same site at any time before August 1, 2009,
provided the MMC is eligible for relicensing.

\textbf{ADDENDUM: How to use this License for your documents}

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
\begin{quote}

Copyright © YEAR  YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
\end{quote}

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the ``with ... Texts.'' line with this:
\begin{quote}

with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
\end{quote}

If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.

If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.


\chapter{Literature and Web References}
\label{docs/user_manual/literature_web/literature_and_web_references::doc}\label{docs/user_manual/literature_web/literature_and_web_references:literature-and-web-references}\label{docs/user_manual/literature_web/literature_and_web_references:literature-and-web}
GDAL-SOFTWARE-SUITE. Geospatial data abstraction library. htt://www.gdal.org, 2012.

GRASS-PROJECT. Geographic ressource analysis support system. \href{http://grass.osgeo.org}{http://grass.osgeo.org} , 2012.

MITCHELL, T. Web mapping illustrated, 2005.

NETELER, M., AND MITASOVA, H. Open source gis: A grass gis approach, 2008.

OGR-SOFTWARE-SUITE. Geospatial data abstraction library. \href{http://www.gdal.org/ogr}{http://www.gdal.org/ogr} , 2012.

OPEN-GEOSPATIAL-CONSORTIUM. Web map service (1.1.1) implementation specification. \href{http://portal.opengeospatial.org}{http://portal.opengeospatial.org}, 2002.

OPEN-GEOSPATIAL-CONSORTIUM. Web map service (1.3.0) implementation specification. \href{http://portal.opengeospatial.org}{http://portal.opengeospatial.org}, 2004.

POSTGIS-PROJECT. Spatial support for postgresql. \href{http://postgis.refractions.net/}{http://postgis.refractions.net/} , 2012.



\renewcommand{\indexname}{Index}
\printindex
\end{document}
