The QGIS Python console allows you to interactively control QGIS. You can test out ideas or just do some quick automation. The console is the simplest way to use the QGIS Python API.
In the following steps, we'll open the QGIS Python console, create a vector layer in memory, and display it on the map:
layer = QgsVectorLayer('Point?crs=epsg:4326', 'MyPoint' , 'memory') pr = layer.dataProvider() pt = QgsFeature() point1 = QgsPoint(20,20) pt.setGeometry(QgsGeometry.fromPoint(point1)) pr.addFeatures([pt]) layer.updateExtents() QgsMapLayerRegistry.instance().addMapLayers([layer])
This example uses a memory
layer to avoid interacting with any data on disk or a network to keep things simple. Notice that when we declare the layer type, we add the parameter for the Coordinate Reference System (CRS) as EPSG:4326. Without this declaration, QGIS will prompt you to choose one. There are three parts or levels of abstraction to create even a single point on the map canvas, as shown here:
The layer type is memory
, meaning that you can define the geometry and the attributes inline in the code rather than in an external data source. In this recipe, we just define the geometry and skip the defining of any attributes.