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

Converting a map coordinate to a pixel location


When you receive a map coordinate as user input or from some other source, you must be able to convert it back to the appropriate pixel location on a raster.

Getting ready

We will use the SatImage raster available at:

https://geospatialpython.googlecode.com/files/SatImage.zip

Place this raster in your /qgis_data/rasters directory.

How to do it...

Similar to the previous recipe, we will define a function, extract the GDAL GeoTransform object from our raster, and use it for the conversion.

  1. Start QGIS.

  2. From the Plugins menu select Python Console

  3. We need to import the gdal module:

    from osgeo import gdal
    
  4. Then, we need to define the reusable function that does the coordinate to pixel conversion. We get the GDAL GeoTransform object containing the raster georeferencing information and the map x,y coordinates:

    def world2Pixel(geoMatrix, x, y):
      ulX = geoMatrix[0]
      ulY = geoMatrix[3]
      xDist = geoMatrix[1]
      yDist = geoMatrix[5]
      rtnX = geoMatrix[2]
      rtnY...