Building a custom selection tool
In this recipe, we will build a custom tool that both draws a shape on the map and interacts with other features on the map. These two basic functions are the basis for almost any map tool you would want to build in a standalone QGIS application such as this one or by extending the QGIS desktop application with a plugin.
Getting ready
We will use the application framework from the Adding standard map tools to the canvas recipe, so complete that recipe. We will extend that application with a new tool. The complete version of this application is available in the code samples provided with this book. It will also be beneficial to study the other two tool-related recipes, Using a map tool to draw polygons or lines on the canvas and Using a map tool to draw points on the canvas, as this recipe builds on them as well.
You will also need the following zipped shapefile from https://github.com/GeospatialPython/Learn/raw/master/NYC_MUSEUMS_GEO.zip.
Download and extract...