QGIS/design/docs/qgis_draft_design.lyx
gsherman 3a860c0b1a added definition section
git-svn-id: http://svn.osgeo.org/qgis/trunk@199 c8812cc2-4d05-0410-92ff-de0c093fc19c
2003-03-09 05:06:24 +00:00

5903 lines
123 KiB
Plaintext

#LyX 1.3 created this file. For more info see http://www.lyx.org/
\lyxformat 221
\textclass article
\language english
\inputencoding auto
\fontscheme default
\graphics default
\paperfontsize default
\spacing single
\papersize Default
\paperpackage a4
\use_geometry 1
\use_amsmath 0
\use_natbib 0
\use_numerical_citations 0
\paperorientation portrait
\leftmargin 1in
\topmargin 1in
\rightmargin 1in
\bottommargin 1in
\headheight 0.2in
\headsep 0.25in
\footskip 0.5in
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle default
\layout Title
Quantum GIS Design Document
\layout Author
QGIS Core Design Team
\begin_inset Foot
collapsed true
\layout Standard
Gary E Sherman, Mark Coletti, Denis Antipov
\end_inset
\layout Standard
\pagebreak_top \pagebreak_bottom
\begin_inset LatexCommand \tableofcontents{}
\end_inset
\layout Section
Introduction
\layout Standard
This document describes the requirements and design for Quantum GIS (QGIS),
a desktop GIS application for Linux and Unix.
This document presents use cases, high-level class diagrams, and additional
information about the design and implementation of QGIS.
\layout Standard
QGIS is hosted on SourceForge at http://qgis.sourceforge.net.
The current release of QGIS is a viewer with a minimal feature set, including
loading data, browsing, and identifying features.
\layout Standard
The design outlined in this document represents the next phase of QGIS developme
nt, which will move the application to a flexible and extensible platform
for working with spatial data.
\layout Standard
Note that it's presumed that the reader is familiar with C++, object-oriented
design, and UML.
\layout Section
Definitions
\layout Standard
The following is a list of definitions for terms used in this document.
Some of these definitions are taken from the Association for Geographic
Information and the University Of Edinburgh Department of Geography online
dictionary of GIS terms available at http://www.geo.ed.ac.uk/agidict/welcome.html.
\layout Description
Attribute: A fact describing an entity in a relational data model, equivalent
to the column in a relational table.
\layout Description
Feature: A set of points, lines or polygons in a spatial database that represent
a real-world entity.
The terms feature and object are often used synonymously.
\layout Description
GIS: Geographic Information System.
A software system that provides the ability to view and analyze spatial
data and its attributes.
\layout Description
Layer: A dataset that has a spatial context and can be drawn on a map canvas.
Layers may have associated attributes.
\layout Description
Plugin: A compiled library that can be dynamically loaded into an application
to provide new functionality.
\layout Description
Projection: A method of representing the earth's three-dimensional surface
as a flat two-dimensional surface.
This normally involves a mathematical model that transforms the locations
of features on the earth's surface to locations on a two-dimensional surface.
Because the earth is three-dimensional, some method must be used to depict
the map in two dimensions.
Therefore such representations distort some parameter of the earth's surface,
be it distance, area, shape, or direction.
\layout Section
History
\layout Standard
The QGIS project was registered with SourceForge on June 15, 2002.
Since that time, QGIS has developed into a minimally functional viewer
with support for shapefiles
\begin_inset Foot
collapsed true
\layout Standard
ESRI format for file-based spatial data.
\end_inset
and vector data stored in a PostgreSQL
\begin_inset Foot
collapsed false
\layout Standard
PostgreSQL Relational Database - http://www.postgresql.org
\end_inset
database using the PostGIS
\begin_inset Foot
collapsed false
\layout Standard
PostGIS extension - http://postgis.refractions.net
\end_inset
extensions.\SpecialChar ~
\layout Standard
The development thus far has been useful in developing an understanding
of the challenges involved in developing a more robust Open Source desktop
GIS application.
In March 2003, planning began to restructure QGIS in order to make it more
extensible and to provide a means to add advanced functionality through
the use of plugins.
\layout Standard
The current version of QGIS (0.0.9) is still usable as a simple GIS viewer
for shapefiles and PostGIS layers.
\layout Section
Goals
\layout Standard
There are already other Open Source GIS projects available today.
Many have asked what purpose QGIS will serve:
\layout Itemize
Will QGIS be a complete desktop GIS application?
\layout Itemize
Will it compete with commercial products?
\layout Itemize
Why are you developing another GIS application?
\layout Standard
The answers to these questions are not clear-cut.
A list of high-level goals for the QGIS project are enumerated below.
The reader can perhaps use this information to answer these and other questions
related to the project:
\layout Subsection
List of Goals
\layout Enumerate
Provide an easy to use desktop GIS application
\layout Enumerate
Provide an easy to install application for users with minimum system experience
\layout Enumerate
Support common data formats
\layout Enumerate
Provide the foundation for more advanced tools (plugins)
\layout Enumerate
Become a tool for spatial data collection
\layout Enumerate
Support data analysis and conversion
\layout Enumerate
Print/plot maps
\layout Enumerate
Integrate with Internet mapping technologies
\layout Standard
Section
\begin_inset LatexCommand \ref{sec:Requirements}
\end_inset
provides details about the functional requirements.
\layout Section
\begin_inset LatexCommand \label{sec:Requirements}
\end_inset
Requirements
\layout Standard
This section describes the functional requirements of Quantum GIS.
These functional requirements drive the use cases discussed in Section
\begin_inset LatexCommand \ref{sec:Use-Cases}
\end_inset
.
\layout Standard
QGIS will provide GIS functionality somewhere between a simple viewer and
an industrial strength application.
The ultimate nature of QGIS is only limited by the talent of those software
engineers who will provide advanced capabilities through plugins.
\layout Standard
Some of the major design requirements include:
\layout Itemize
Extensible architecture using plugins
\layout Itemize
Internationalization
\layout Itemize
Integrated scripting language
\layout Itemize
Projection on-the-fly
\layout Itemize
Ability to render and browse data in many formats:
\begin_deeper
\layout Itemize
Spatio-temporal data using a feature-centric model
\layout Itemize
Shapefiles
\layout Itemize
PostgreSQL / PostGIS layers
\layout Itemize
Raster
\end_deeper
\layout Itemize
Support for OpenGIS implementation Specifications
\begin_deeper
\layout Itemize
Geography Markup Language (GML)
\layout Itemize
Web Feature Service (WFS)
\end_deeper
\layout Subsection
User Interface
\layout Subsection
Standards
\layout Subsection
Data Formats
\layout Subsection
Platform Support
\layout Subsection
Toolkits
\layout Section
\begin_inset LatexCommand \label{sec:Use-Cases}
\end_inset
Use Cases
\layout Standard
Use cases provide a means to identify and visualize the major goal oriented
tasks the application should address.
\layout Subsection
Actors
\layout Standard
Actors are really persons (or physical entities) that use a system to acheive
a specific goal (these goals are expressed as use cases).
A number of actors could be defined for QGIS, however at this point the
simple approach is taken.
The actors are:
\layout Itemize
Casual GIS User
\layout Itemize
Professional GIS User
\layout Standard
These two actors are sufficient to frame the development and discussion
of QGIS use cases.
\layout Subsection
Primary Use Cases
\layout Standard
\added_space_bottom smallskip
The primary use cases for QGIS are listed below in no particular order of
importance:
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="1" columns="2">
<features>
<column alignment="block" valignment="top" width="2.5in">
<column alignment="block" valignment="top" width="2.5in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Itemize
Load data
\layout Itemize
Browse data
\layout Itemize
Install plugin
\layout Itemize
Find feature
\layout Itemize
Identify feature
\layout Itemize
Get help
\layout Itemize
Customize
\layout Itemize
Save project
\layout Itemize
Restore project
\layout Itemize
Navigate map
\begin_deeper
\layout Itemize
Pan
\layout Itemize
Zoom
\end_deeper
\layout Itemize
Save image
\layout Itemize
Print
\begin_deeper
\layout Itemize
Print image
\layout Itemize
Print metadata
\layout Itemize
Print feature information
\end_deeper
\layout Itemize
Write script
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Itemize
Run script
\layout Itemize
Edit data
\begin_deeper
\layout Itemize
Digitize
\end_deeper
\layout Itemize
Buffer feature
\layout Itemize
Process data
\begin_deeper
\layout Itemize
Union
\layout Itemize
Merge
\layout Itemize
Intersect
\end_deeper
\layout Itemize
Convert data
\begin_deeper
\layout Itemize
Change projection
\end_deeper
\layout Itemize
Import data
\layout Itemize
Export data
\begin_deeper
\layout Itemize
Export selected set
\end_deeper
\layout Itemize
Select features
\begin_deeper
\layout Itemize
Select by attribute
\layout Itemize
Select spatially
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsection
Case Descriptions
\layout Standard
In the sections that follow, the use cases are presented in no particular
order.
\layout Subsubsection
Load Data
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Load Data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Load a data set from a data store and display it
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data set is loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is in pre-load state
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to view data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Decision is made to view a dataset
\layout Enumerate
Navigate to the location of the dataset
\layout Enumerate
Select dataset
\layout Enumerate
Dataset is displayed
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Browse Data
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Browse Data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Browse through a loaded data set and its features
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running, data set loaded
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Ability to browse, look at the needed information about loaded data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Unable to browse and look at the loaded data information
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to browse the features and other information about the data set
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to view the features and other info
\layout Enumerate
User sees a list of available items in the data set
\layout Enumerate
User chooses the desired item in the browse set
\layout Enumerate
The details about the item are displayed
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Load Plugin
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Load plugin
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Load a plugin into the 'core' system form the available list of installed
plugins
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Plugin loaded and the the new tools corresponding to the plugin appear available
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is in the initial or the previous plugin state
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to view data with a different plugin, or wants to add certain
functionality to the existing state
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to load a new plugin
\layout Enumerate
User inspects all the installed plugins
\layout Enumerate
User selects a plugin
\layout Enumerate
A plugin is loaded and new functionality added
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Find Feature
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Find feature
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Find a feature on a map or loaded data set
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running and a data set loaded
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
A feature that corresponds to the search condition found if such exists
and not found if not exists
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
A feature that exists and corresponds to the search conditions not found
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to find a feature on a map or data set
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to find a feature in a loaded data set
\layout Enumerate
User submits a search query that would identify somehow the feature
\layout Enumerate
A feature is displayed if found or a message notifying that it was not found
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Identify Feature
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Identify Feature
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
After selecting a feature on a map, display its attributes
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running and a data set loaded
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Attributes of a feature displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Nothing displayed when a feature selected
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to view attributes of a feature
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to view attributes of a particular feature
\layout Enumerate
User chooses a feature on the map
\layout Enumerate
User selects a feature
\layout Enumerate
Attributes are displayed
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Get Help
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Get Help
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Load help system
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Help system loaded and the menu of help topics displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is in 'helpless' state
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs help with an application or one of its plugins
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User finds out that they don't know as much about QGIS as they thought they
did
\layout Enumerate
User launches help system
\layout Enumerate
User selects one of the topics/subtopics of interest
\layout Enumerate
User is enlightened about rich QGIS functionality and how to use it
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Customize
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Customize
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Customize application user interface
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running a plugin that is being customized loaded
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Interface changes according to customization
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No changes occus after customization
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to change the interface
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to change the interface
\layout Enumerate
User launches the customization system
\layout Enumerate
User adjusts the interface according to the customizationsystem
\layout Enumerate
Changes in the interface take effect
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Save Project
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Save Project
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Save entire project in a specified file format
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running, data set(s) loaded
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Current project saved in a file
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Current project not saved in a file
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to save the layout of map, layers, etc.
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to save the current project
\layout Enumerate
User chooses location and filename for the project
\layout Enumerate
The project saved in a file
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Restore Project
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Restore Project
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Load a project from a previously saved file
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Project loaded and all the data sets restored in the saved condition
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Project is not restored
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to restore the project that was saved
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to restore a project
\layout Enumerate
User navigates to the location of the project
\layout Enumerate
User selects a project
\layout Enumerate
Project is restored
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Navigate
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Navigate
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Pan and Zoom on a data set
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running, data set loaded and rendered
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data set is zoomed or panned
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No changes to the view of a data set
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to zoom or pan on a data set
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to zoom or pan on a data set
\layout Enumerate
User uses zoom or pan
\layout Enumerate
The view is zoomed or panned
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Save Image
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Save Image
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Save the current view of the data set in an image file
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running, data set loaded and rendered
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
An image displaying the current view of a data set saved
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No image saved
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to save the current view of a data set as an image
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to save an image
\layout Enumerate
User chooses the location and filename of the image
\layout Enumerate
The image saved
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Print
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Print
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Output on a printer the current data set as an image, metadata, and its
set of features
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running, a dataset loaded and rendered
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
The different types of data (image, metadata, feature set) being output
on a printer
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No attempt to output data on a printer
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User wants to output data on a printer
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
User decides to output data set on a printer
\layout Enumerate
User chooses the type of data output (image, metadata, feature set)
\layout Enumerate
User selects a printer
\layout Enumerate
Dataset is output on a printer in a specified format
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Write Script
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Write Script
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Write a script to perform some QGIS function in an automated manner
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Script is completed and tested
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Script is not saved and application is in pre-script state
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs a script to perform a repititve or specialized operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Identify need for the script
\layout Enumerate
Open the script editor
\layout Enumerate
Write and test script in iterative fashion
\layout Enumerate
Save script for future use
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\newline
\layout Subsubsection
Run Script
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Run Script
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Execute a stored script to perform a task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running with appropriate or required data loaded
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Script performs desired function
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Script exits gracefully
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Casual, Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to perform a repetitive or complex task for which a script exists
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Identify script that can be used to perform the desired task
\layout Enumerate
Select the script
\layout Enumerate
Additional requirements necessary to execute the script are met
\layout Enumerate
Execute script
\layout Enumerate
Result of script is reported to the user or displayed on the map canvas
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Edit Data
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Edit Data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Edit data to change the attributes, spatial location, or shape of a feature
or features
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layer to be edited has been loaded
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data is changed and saved to the data store
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data is not changed but remains in the state prior to beginning the edit
operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to modify data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Enter edit mode
\layout Enumerate
Locate feature to be modified
\layout Enumerate
Edit the feature
\layout Enumerate
Save data
\layout Enumerate
Exit edit mode
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Digitize
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Digitize Data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Create a new data layer or add to an existing layer by digitizing information
from a raster image on the screen (heads-up digitizing)
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Raster is loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
New features are added to the data layer and saved to the data store
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Existing data is not changed but remains in the state prior to beginning
the edit operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to create new data from a raster
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Loads or create the target layer
\layout Enumerate
Enter edit mode
\layout Enumerate
Digitize features using the underlying raster
\layout Enumerate
Add attributes to each feature as it is completed
\layout Enumerate
Save data
\layout Enumerate
Exit edit mode
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Buffer Feature
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Buffer Feature
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Create a new data layer that contains a buffer around one or more features
on an existing layer
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layer containing features to buffer is loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
New data layer containing polygon buffers is created
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No new data layer is created and application remains in state prior to beginning
of buffer operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to buffer features for the purpose of performing spatial analysis
or answering a question about proximity of features
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select feature or features to buffer
\layout Enumerate
Specify the buffer distance in appropriate map units
\layout Enumerate
Create buffer
\layout Enumerate
Save buffer layer to permanent store
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Process Data - Union
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Process Data - Union
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Create a new data layer that contains the union of two existing layers
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layers needed for operation are loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
New data layer containing union of source layers is created
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No new data layer is created and application remains in state prior to beginning
of union operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to union features for the purpose of performing spatial analysis
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select layers to union
\layout Enumerate
Perform union operation
\layout Enumerate
Save resulting layer to permanent store
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Process Data - Intersect
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Process Data - Intersect
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Create a new data layer that contains the intersection of two existing layers
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layers needed for operation are loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
New data layer containing intersection of source layers is created
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No new data layer is created and application remains in state prior to beginning
of intersect operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to create a new layer representing the intersection of features
from two source layers
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select layers to intersect
\layout Enumerate
Perform intersect operation
\layout Enumerate
Save resulting layer to permanent store
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Process Data - Merge
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Process Data - Merge
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Create a new data layer that contains the contents of two existing layers.
The layers are
\begin_inset Quotes eld
\end_inset
tiled
\begin_inset Quotes erd
\end_inset
into one.
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layers needed for operation are loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
New data layer containing merge of source layers is created
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No new data layer is created and application remains in state prior to beginning
of merge operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to combine the features from two source layers into one
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select layers to merge
\layout Enumerate
Perform merge operation
\layout Enumerate
Save resulting layer to permanent store
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Change projection
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Change Projection
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Project a source data layer into a new map projection to create a new data
layer
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layer needed for operation is loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layer in desired projection is created from the source layer
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No new data layer is created and application remains in state prior to beginning
of merge operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to a copy of a data layer in a different projection
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select layer to project
\layout Enumerate
Specify the projection of the source layer
\layout Enumerate
Specify the projection for the new layer
\layout Enumerate
Project the data
\layout Enumerate
Save resulting layer to permanent store
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Import Data
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Import Data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Create a new data layer by importing data from a source not directly usable
with QGIS
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Application is running
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
New data layer is created
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No new data layer is created and application remains in state prior to beginning
of import operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to work with data not currently in a format supported by QGIS
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select layer to project
\layout Enumerate
Specify the projection of the source layer
\layout Enumerate
Specify the projection for the new layer
\layout Enumerate
Project the data
\layout Enumerate
Save resulting layer to permanent store
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Export Data
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Export Data
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Convert data from one format (source) to another (targert) for the purpose
of using it in another application.
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layer needed for operation is loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Export file is created
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Export file is not created and application remains in state prior to beginning
of export operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to export data for use by another application
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select data layer to export
\layout Enumerate
Choose output location
\layout Enumerate
Export the data
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Export Selected Set
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Export Selected Set
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Convert a selected set of feature data from one format (source) to another
(targert) for the purpose of using it in another application.
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Primary task
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layer needed for operation is loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Export file is created
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Export file is not created and application remains in state prior to beginning
of export operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to export data for use by another application
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select data layer to export
\layout Enumerate
Select features to be included in the export
\layout Enumerate
Choose output location
\layout Enumerate
Export the features
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Select Spatially
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Select Spatially
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Select features on the map canvas for purpose of using in another function
or operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Subfunction
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layer needed for operation is loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Features are selected and highlighted on map
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No selection set is created and application remains in state prior to beginning
of export operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to select features for use in another function or operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select data layer containing features of interest
\layout Enumerate
Interactively draw a box around features
\layout Enumerate
Select
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Subsubsection
Select by Attribute
\layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="2">
<features>
<column alignment="right" valignment="top" width="2in">
<column alignment="block" valignment="top" width="3in">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Use Case:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Select by Attribute
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Goal in Context:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Select features on the map canvas for purpose of using in another function
or operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Scope & Level:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Subfunction
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Preconditions:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Data layer needed for operation is loaded and displayed
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Success End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Features are selected and highlighted on map
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Failed End Condition:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
No selection set is created and application remains in state prior to beginning
of export operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Primary Actor(s):
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
Professional user
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Trigger:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
User needs to select features for use in another function or operation
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
\added_space_top smallskip
\series bold
Description of Steps:
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\layout Enumerate
Select data layer containing features of interest
\layout Enumerate
Open the query builder to define the selection criteria
\layout Enumerate
Execute the query to select features
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\layout Section
Core Architecture
\layout Standard
This section describes the functionality of the QGIS
\begin_inset Quotes eld
\end_inset
core
\begin_inset Quotes erd
\end_inset
.
The core application contains minimal functionality.
QGIS depends on plugins to implement all non-trivial functions.
The components of the core are discussed in the following sections.
Details with regard to physical implementation are included where appropriate.
\layout Subsection
Main Window
\layout Subsection
Plugins
\the_end