Book Image

QGIS Python Programming Cookbook

Book Image

QGIS Python Programming Cookbook

Overview of this book

Table of Contents (16 chapters)
QGIS Python Programming Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using SVG for layer symbols


Scalable Vector Graphics (SVG) are an XML standard that defines vector graphics that can be scaled at any resolution. QGIS can use SVG files as markers for points. In this recipe, we'll use Python to apply one of the SVG symbols included with QGIS to a point layer.

Getting ready

For this recipe, download the following zipped point shapefile layer from https://geospatialpython.googlecode.com/files/NYC_MUSEUMS_GEO.zip.

Extract it to your qgis_data directory.

How to do it...

In the following steps, we'll load the vector layer, build a symbol layer and renderer, and add it to the layer, as follows:

  1. First, we'll define the path to the shapefile:

    src = "/Users/joellawhead/qgis_data/NYC_MUSEUMS_GEO/NYC_MUSEUMS_GEO.shp"
    
  2. Next, we'll load the layer:

    lyr = QgsVectorLayer(src, "Museums", "ogr")
    
  3. Now, we define the properties of the symbol, including the location of the SVG file as a Python dictionary:

    svgStyle = {}
    svgStyle['fill'] = '#0000ff'
    svgStyle['name'] = 'landmark/tourism...