Using the __geo_interface__ protocol
The __geo_interface__ is a newer protocol, created by Sean Gillies and targeted mainly at Python, to provide a string representation of geographical data following Python's built-ins protocol. The string representation for geographical data is basically GeoJSON. You can read more about this protocol here:
https://gist.github.com/sgillies/2217756
Two developers, Nathan Woodrow and Martin Laloux, refined a version of this protocol for QGIS Python data objects. This recipe borrows from their examples to provide a code snippet, which you can put at the beginning of your Python scripts to retrofit QGIS feature and geometry objects with a __geo_interface__
method.
Getting ready
This recipe requires no preparation.
How to do it...
We will create two functions: one for features and one for geometry. We'll then use Python's dynamic capability to patch the QGIS objects with a __geo_interface__
built-in method.
- First, we'll need the Python
json
module...