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:
First, we'll define the path to the shapefile:
src = "/Users/joellawhead/qgis_data/NYC_MUSEUMS_GEO/NYC_MUSEUMS_GEO.shp"
Next, we'll load the layer:
lyr = QgsVectorLayer(src, "Museums", "ogr")
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...