Book Image

Building Mapping Applications with QGIS

By : Erik Westra
Book Image

Building Mapping Applications with QGIS

By: Erik Westra

Overview of this book

Table of Contents (16 chapters)
Building Mapping Applications with QGIS
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
Getting Started with QGIS
Index

Index

A

  • abstract graph
    • about / The Find Shortest Path action
  • actions
    • connecting / Connecting the actions
  • Add Track map tool
    • about / The Add Track map tool
    • implementing / The Add Track map tool
  • application, Lex
    • designing / Designing the application
    • framework, creating / Creating the application's framework
  • auto-completion / Using the console

B

  • base map / Exploring the Python Console
  • basemap layer
    • about / Getting the data

C

  • C++ documentation
    • deciphering / Deciphering the C++ documentation
  • C++ documentation, data types
    • int / Deciphering the C++ documentation
    • long / Deciphering the C++ documentation
    • float / Deciphering the C++ documentation
    • bool / Deciphering the C++ documentation
    • QString / Deciphering the C++ documentation
    • QList / Deciphering the C++ documentation
  • canvas parameter / Adding lines and polygons
  • captureMode parameter / Adding lines and polygons
  • CaptureTool
    • features / Adding lines and polygons
  • Categorized symbol renderer / Displaying vector data
  • clone() method / Implementing symbol layers in Python, Implementing renderers in Python
  • commit / Using the layer editing mode
  • constants.py module
    • about / The constants.py module
  • coordinate reference systems (CRS), qgis.core package / Coordinate reference systems
  • COPYING file / Examining a Python plugin
  • crop tool / Obtaining the basemap
  • CrossSymbolLayer class
    • __init__() method / Implementing symbol layers in Python
    • layerType() method / Implementing symbol layers in Python
    • properties() method / Implementing symbol layers in Python
    • clone() method / Implementing symbol layers in Python
    • startRender() method / Implementing symbol layers in Python
    • stopRender() method / Implementing symbol layers in Python
    • renderPoint() method / Implementing symbol layers in Python
  • custom dialogs / Custom dialogs and windows
  • custom map layers
    • working with / Working with custom map layers

D

  • data
    • getting / Getting the data
  • data provider / Working with geospatial data in the console
  • data sources / Understanding QGIS concepts
  • Delete Track map tool
    • about / The Delete Track map tool
    • implementing / The Delete Track map tool
  • Digital Elevation Model (DEM) / Analyzing raster data
  • displacement line / Working with symbol layers

E

  • e10g.hdr header file
    • URL / Analyzing raster data
  • Edit Track map tool
    • about / The Edit Track map tool
    • implementing / The Edit Track map tool
  • ellipsoid / Coordinate reference systems
  • execfile() function / Using the console
  • explore mode
    • implementing / Implementing the explore mode
  • external application
    • writing / Writing an external application

F

  • files and directories, ForestTrails application
    • constants.py / Creating the application
    • data / Creating the application
    • forestTrails.py / Creating the application
    • Makefile / Creating the application
    • mapTools.py / Creating the application
    • resources / Creating the application
    • resources.qrc / Creating the application
    • run_lin.sh / Creating the application
    • run_mac.sh / Creating the application
    • run_win.bat / Creating the application
    • ui_mainWindow.py / Creating the application
  • Find Shortest Path action
    • about / The Find Shortest Path action
  • Find Shortest Path command / Testing the application
  • ForestTrails
    • about / Introducing ForestTrails
  • forestTrails.py module
    • about / The forestTrails.py module
  • ForestTrails application
    • designing / Designing the ForestTrails application
    • map layers / Designing the ForestTrails application
    • toolbar and menu bar / Designing the ForestTrails application
    • creating / Creating the application
    • files and directories / Creating the application
    • laying out / Laying out the application
    • toolbar icons, defining / Defining the toolbar icons
    • constants.py module / The constants.py module
    • forestTrails.py module / The forestTrails.py module
    • mapTools.py module / The mapTools.py module
    • ui_mainWindow.py module / The ui_mainWindow.py module
    • running / Running the application
    • basemap, obtaining / Obtaining the basemap
    • map layers, defining / Defining the map layers
    • map renderers, defining / Defining the map renderers
    • Pan Map tool / The Pan Tool
    • track editing mode, implementing / Implementing the track editing mode
    • Add Track map tool / The Add Track map tool
    • testing / Testing the application
    • vertex snapping, implementing / Vertex snapping
    • Edit Track map tool / The Edit Track map tool
    • Delete Track map tool / The Delete Track map tool
    • Get Info map tool / The Get Info map tool
    • Set Start Point toolbar action / The Set Start Point and Set End Point actions
    • Set End Point toolbar action / The Set Start Point and Set End Point actions
    • Find Shortest Path action / The Find Shortest Path action
    • toolbar actions, adjusting / Adjusting the toolbar actions
    • improvements / Suggested improvements

G

  • GDAL
    • URL / Obtaining the basemap
  • General Public License (GPL) / Examining a Python plugin
  • Geographic Information System (GIS) / About QGIS
  • Geometry info plugin / Writing a useful plugin
  • geospatial data, QGIS Python Console
    • working with / Working with geospatial data in the console
    • URL / Working with geospatial data in the console
  • Get Info map tool
    • about / The Get Info map tool
    • implementing / The Get Info map tool
  • Global Land One-Kilometer Base Elevation Project (GLOBE)
    • about / Analyzing raster data
    • URL / Analyzing raster data
  • Graduated symbol renderer / Displaying vector data

I

  • icon.png file / Examining a Python plugin
  • initGui() method / Understanding the QGIS plugin architecture

K

  • Kyngchaos
    • URL / Installing and running QGIS

L

  • landmark layer
    • about / Getting the data
  • landmarks
    • filtering / Filtering the landmarks
  • layer editing mode
    • using / Using the layer editing mode
  • layer parameter / Adding lines and polygons
  • layerType() method / Implementing symbol layers in Python
  • Lex
    • about / Introducing Lex
    • requisites / Introducing Lex
    • basemap layer / Getting the data
    • landmark layer / Getting the data
    • improvements / Further improvements and enhancements
    • enhancements / Further improvements and enhancements
  • lines
    • adding / Adding lines and polygons
    • editing / Editing lines and polygons

M

  • Makefile / Examining a Python plugin, Automating the build process
    • PLUGINNAME / Automating the build process
    • PY_FILES / Automating the build process
    • EXTRAS / Automating the build process
    • UI_FILES / Automating the build process
    • RESOURCE_FILES / Automating the build process
  • make targets, Makefile
    • make compile / Automating the build process
    • make deploy / Automating the build process
    • make clean / Automating the build process
  • map / Understanding QGIS concepts
  • map canvas / The QgsMapCanvas class
    • creating / Creating the map canvas
  • map canvas item
    • creating / Creating custom map canvas items
  • map layer / Understanding QGIS concepts
  • map layers, ForestTrails application
    • defining / Defining the map layers
  • map renderers, ForestTrails application
    • defining / Defining the map renderers
  • mapTools.py module
    • about / The mapTools.py module
  • memory-based layers
    • using / Using memory-based layers
    • path / Using memory-based layers
    • baseName / Using memory-based layers
    • providerLib / Using memory-based layers
  • message bar
    • about / The message bar
    • features / The message bar
  • metadata.txt file / Examining a Python plugin
  • method overloading / Deciphering the C++ documentation
  • MultiBandColor, drawing style / How raster data is displayed
  • MultiBandSingleBandGray, drawing style / How raster data is displayed
  • MultiBandSingleBandPseudoColor, drawing style / How raster data is displayed

N

  • Natural Earth
    • URL / Exploring the Python Console
  • Natural Earth Data
    • URL / Getting the data
  • New Zealand Transverse Mercator 2000 coordinate system / Obtaining the basemap

O

  • onGeometryAdded parameter / Adding lines and polygons

P

  • PalettedColor, drawing style / How raster data is displayed
  • PalettedSingleBandGray, drawing style / How raster data is displayed
  • PalettedSingleBandPseudoColor, drawing style / How raster data is displayed
  • Pan Map tool
    • about / The Pan Tool
  • pan tool
    • implementing / Implementing the pan tool
  • Plugin Builder
    • using / Using the Plugin Builder
    • URL / Using the Plugin Builder
  • plugin layers, qgis.core package
    • about / Maps and map layers
  • Plugin Reloader plugin / Getting ready
  • points
    • labeling / Labeling the points
  • Points
    • adding / Adding Points
    • editing / Editing Points
    • deleting / Deleting Points and other features
  • polygons
    • adding / Adding lines and polygons
    • editing / Editing lines and polygons
  • progress indicators
    • about / Progress indicators
  • projection / Coordinate reference systems
  • properties() method / Implementing symbol layers in Python
  • pseudocolor algorithm / Raster layers
  • pushMessage() method / The message bar
  • PyQGIS / Linking QGIS and Python
  • PyQGIS library
    • using / Using the PyQGIS library
    • raster data, analyzing / Analyzing raster data
    • vector data, manipulating / Manipulating vector data and saving it to a shapefile
    • different symbols, using for different features within map / Using different symbols for different features within a map
    • distance between two user-defined points, calculating / Calculating the distance between two user-defined points
  • PyQt / Examining a Python plugin
    • URL / Getting ready
  • Python
    • symbol layers, implementing / Implementing symbol layers in Python
    • renderers, implementing / Implementing renderers in Python
  • Python Console
    • exploring / Exploring the Python Console
  • Python plugin
    • examining / Examining a Python plugin

Q

  • QGIS
    • about / About QGIS
    • URL / About QGIS
    • installing / Installing and running QGIS
    • running / Installing and running QGIS
    • concepts / Understanding QGIS concepts
    • and Python, linking / Linking QGIS and Python
  • QGIS, symbols
    • Marker symbol / Displaying vector data
    • Line symbol / Displaying vector data
    • Fill symbol / Displaying vector data
  • qgis.analysis package
    • about / Organizing the QGIS Python libraries
  • qgis.core.QgsFeature class
    • ID / Vector layers
    • Geometry / Vector layers
    • Attributes / Vector layers
  • qgis.core package
    • about / Organizing the QGIS Python libraries, The qgis.core package
    • maps and map layers / Maps and map layers
    • Maps and map layers / Maps and map layers
    • coordinate reference systems (CRS) / Coordinate reference systems
    • vector layers / Vector layers
  • qgis.gui classes
    • QgsLegendInterface class / Other useful qgis.gui classes
    • QgsMapTip class / Other useful qgis.gui classes
    • QgsColorDialog class / Other useful qgis.gui classes
    • QgsDialog class / Other useful qgis.gui classes
    • QgsMessageBar class / Other useful qgis.gui classes
    • QgsMessageViewer class / Other useful qgis.gui classes
    • QComboBox user-interface widgets / Other useful qgis.gui classes
  • qgis.gui package
    • about / Organizing the QGIS Python libraries
    • QgisInterface class / The QgisInterface class
    • QgsMapCanvas class / The QgsMapCanvas class
    • QgsMapCanvasItem class / The QgsMapCanvasItem class
    • QgsMapTool class / The QgsMapTool class
  • qgis.networkanalysis package
    • about / Organizing the QGIS Python libraries
  • qgis.utils package
    • about / Organizing the QGIS Python libraries
  • QGIS and Python, linking with
    • Python Console / Linking QGIS and Python, Exploring the Python Console
    • Python plugin / Linking QGIS and Python, Examining a Python plugin
    • external applications / Linking QGIS and Python
  • QGIS Console
    • using / Using the console
    • geospatial data, working with / Working with geospatial data in the console
  • QgisInterface class / The QgisInterface class
  • QGIS logging
    • about / QGIS logging
  • QGIS plugin
    • about / Getting ready
    • architecture / Understanding the QGIS plugin architecture
    • __init__.py package / Understanding the QGIS plugin architecture
    • metadata.txt file / Understanding the QGIS plugin architecture
    • creating / Creating a simple plugin
    • development process / The plugin development process
    • Plugin Builder, using / Using the Plugin Builder
    • build process, automating / Automating the build process
    • help files / Plugin help files
    • unit testing / Unit testing
    • distributing / Distributing your plugin
    • writing / Writing a useful plugin
    • possibilities / Possibilities and limitations of plugins
    • limitations / Possibilities and limitations of plugins
  • QGIS plugin repository
    • URL / Distributing your plugin
  • QGIS Python APIs
    • about / About the QGIS Python APIs
  • QGIS Python libraries
    • organization / Organizing the QGIS Python libraries
    • qgis.core package / The qgis.core package
    • maps and map layers / Maps and map layers
    • qgis.gui package / The qgis.gui package
  • QGIS user interface
    • scripting / Scripting the QGIS user interface
  • QGIS user interface, scripting
    • status bar / The status bar
    • message bar / The message bar
    • progress indicators / Progress indicators
    • QGIS logging / QGIS logging
    • custom dialogs / Custom dialogs and windows
    • windows / Custom dialogs and windows
  • QgsCentroidFillSymbolLayerV2 class / Working with symbol layers
  • QgsColorDialog class / Other useful qgis.gui classes
  • QgsDialog class / Other useful qgis.gui classes
  • QgsEllipseSymbolLayerV2 class / Working with symbol layers
  • QgsFontMarkerSymbolLayerV2 class / Working with symbol layers
  • QgsGradientFillSymbolLayerV2 class / Working with symbol layers
  • QgsLegendInterface class / Other useful qgis.gui classes
  • QgsLinePatternFillSymbolLayer class / Working with symbol layers
  • QgsMapCanvas class / The QgsMapCanvas class
  • QgsMapCanvasItem class / The QgsMapCanvasItem class
    • QgsVertexMarker / The QgsMapCanvasItem class
    • QgsRubberBand / The QgsMapCanvasItem class
    • QgsAnnotationItem / The QgsMapCanvasItem class
  • QgsMapTip class / Other useful qgis.gui classes
  • QgsMapTool class / The QgsMapTool class
  • QgsMarkerLineSymbolLayerV2 class / Working with symbol layers
  • QgsMessageBar class / Other useful qgis.gui classes
  • QgsMessageViewer class / Other useful qgis.gui classes
  • QgsPointPatternFillSymbolLayer class / Working with symbol layers
  • QgsRubberBand / Adding lines and polygons
  • QgsSimpleFillSymbolLayerV2 class / Working with symbol layers
  • QgsSimpleLineSymbolLayerV2 class / Working with symbol layers
  • QgsSimpleMarkerSymbolLayerV2 class / Working with symbol layers
  • QgsSVGFillSymbolLayer class / Working with symbol layers
  • QgsSvgMarkerSymbolLayerV2 class / Working with symbol layers
  • QgsVectorFieldSymbolLayer class / Working with symbol layers
  • Qt Designer / Understanding the QGIS plugin architecture
  • Qt developer tools
    • URL / Getting ready

R

  • raster data
    • accessing / Accessing raster data
  • raster layers, qgis.core package
    • about / Raster layers
    • raster data, displaying / How raster data is displayed
    • raster data, accessing / Accessing raster data
  • ratser layers, qgis.core package
    • about / Maps and map layers
  • renderers
    • implementing, in Python / Implementing renderers in Python
  • rendering context / Implementing symbol layers in Python
  • renderPoint() method / Implementing symbol layers in Python
  • resources.py file / Examining a Python plugin
  • resources.qrc file / Examining a Python plugin
  • resouui_zoomtopoint.ui file / Examining a Python plugin
  • roll back / Using the layer editing mode

S

  • selections
    • working with / Working with selections
  • Set End Point toolbar action
    • about / The Set Start Point and Set End Point actions
  • Set Start Point toolbar action
    • about / The Set Start Point and Set End Point actions
  • setSymbolLayer() method / Implementing symbol layers in Python
  • setupRenderers() / Defining the map renderers
  • shortest available path / Introducing ForestTrails
  • SingleBandGray, drawing style / How raster data is displayed
  • SingleBandPseudoColor, drawing style / How raster data is displayed
  • single symbol renderer / Displaying vector data
    • Categorized symbol renderer / Displaying vector data
    • Graduated symbol renderer / Displaying vector data
  • spatial indexes / Spatial indexes
  • startRender() method / Implementing symbol layers in Python, Implementing renderers in Python
  • status bar, QGIS window / The status bar
  • stopRender() method / Implementing symbol layers in Python, Implementing renderers in Python
  • symbol.appendSymbolLayer(symbol_layer) method / Working with symbol layers
  • symbol.changeSymbolLayer(index, symbol_layer) method / Working with symbol layers
  • symbol.deleteSymbolLayer(index)
    • symbol.insertSymbolLayer(index, symbol_layer) method / Working with symbol layers
  • symbol.insertSymbolLayer(index, symbol_layer) method / Working with symbol layers
  • symbol.symbolLayer(index) method / Working with symbol layers
  • symbol.symbolLayerCount() method / Working with symbol layers
  • symbolForFeature() method / Implementing renderers in Python
  • symbol layers
    • about / Working with symbol layers
    • symbol.symbolLayerCount() method / Working with symbol layers
    • symbol.symbolLayer(index) method / Working with symbol layers
    • symbol.changeSymbolLayer(index, symbol_layer) method / Working with symbol layers
    • symbol.appendSymbolLayer(symbol_layer) method / Working with symbol layers
    • symbol.insertSymbolLayer(index, symbol_layer) method / Working with symbol layers
    • symbol.deleteSymbolLayer(index) method / Working with symbol layers
    • combining / Combining symbol layers
    • implementing, in Python / Implementing symbol layers in Python
  • symbol layers class
    • QgsSimpleMarkerSymbolLayerV2 / Working with symbol layers
    • QgsEllipseSymbolLayerV2 / Working with symbol layers
    • QgsFontMarkerSymbolLayerV2 / Working with symbol layers
    • QgsSvgMarkerSymbolLayerV2 / Working with symbol layers
    • QgsVectorFieldSymbolLayer / Working with symbol layers
    • QgsSimpleLineSymbolLayerV2 / Working with symbol layers
    • QgsMarkerLineSymbolLayerV2 / Working with symbol layers
    • QgsSimpleFillSymbolLayerV2 / Working with symbol layers
    • QgsGradientFillSymbolLayerV2 / Working with symbol layers
    • QgsCentroidFillSymbolLayerV2 / Working with symbol layers
    • QgsLinePatternFillSymbolLayer / Working with symbol layers
    • QgsPointPatternFillSymbolLayer / Working with symbol layers
    • QgsSVGFillSymbolLayer / Working with symbol layers

T

  • tolerance value / Editing lines and polygons
  • toolbar actions
    • adjusting / Adjusting the toolbar actions
  • toolbar and menu bar, ForestTrails application
    • zoom in / Designing the ForestTrails application
    • zoom out / Designing the ForestTrails application
    • pan / Designing the ForestTrails application
    • edit / Designing the ForestTrails application
    • add track / Designing the ForestTrails application
    • edit track / Designing the ForestTrails application
    • delete track / Designing the ForestTrails application
    • get info / Designing the ForestTrails application
    • set start point / Designing the ForestTrails application
    • set end point / Designing the ForestTrails application
    • find the shortest path / Designing the ForestTrails application
  • track
    • about / Introducing ForestTrails
    • type / Introducing ForestTrails
    • optional name / Introducing ForestTrails
    • optional direction / Introducing ForestTrails
    • status / Introducing ForestTrails
  • track editing mode, ForestTrails application
    • implementing / Implementing the track editing mode
  • transparency / Combining symbol layers

U

  • ui_mainWindow.py module
    • about / The ui_mainWindow.py module
  • ui_zoomtopoint.py file / Examining a Python plugin
  • unit testing
    • about / Unit testing
  • Unix-like system
    • URL / Installing and running QGIS
  • unload() method / Understanding the QGIS plugin architecture
  • usedAttributes() method / Implementing renderers in Python
  • user interface
    • adding / Adding the user interface

V

  • vector data
    • accessing / Accessing vector data
  • vector layers, qgis.core package
    • about / Maps and map layers, Vector layers
    • Data provider / Vector layers
    • coordinate reference system / Vector layers
    • renderer / Vector layers
    • vector data, displaying / Displaying vector data
    • vector data, accessing / Accessing vector data
    • spatial indexes / Spatial indexes
  • vertex snapping
    • implementing / Vertex snapping

W

  • Web Map Service (WMS) / Understanding QGIS concepts
  • windows / Custom dialogs and windows

Z

  • zoom tool
    • implementing / Implementing the zoom tool
  • zoomtopoint.py file / Examining a Python plugin
  • ZoomToPoint class / Examining a Python plugin
  • zoomtopointdialog.py file / Examining a Python plugin
  • zoomtopointdialog.ui file / Examining a Python plugin