Sunday 24 December 2017

coordinate system - Buffering in meters/km using WGS84 layers using QGIS


I am using QGIS 1.7.4-Wroclaw and working with an SHP layer in WGS84. I want to buffer out to a certain number of kilometers from this layer using the ftools buffer tool.


I understand that the buffer tool always uses the layer units, which for WGS84 are decimal degrees. We all know that degrees don't convert consistently to meters, so how should I go about making my buffers?



Is it necessary for me to convert the shapefiles to a different CRS that natively uses meters?


If so, how do I choose one?



Answer



For this application, I would use an Azimuthal Equidistant projection centered in the middle of your source points. This projection has the nice feature of all radial distances around the center of the projection being accurate.


That particular projection is not part of QGIS standard projections. You can define your own using Settings/Custom CRS with the command string +proj=aeqd +lat_0=24.5 +lon_0=121.5, but unfortunately, custom projections can't be used by the fTools Reprojection tool. Instead, you can transform your dataset on the command line using the command


ogr2ogr points_reprojected.shp points.shp -t_srs "+proj=aeqd +lat_0=24.5 +lon_0=121.5"

Then you can do the buffering in QGIS using the points_reprojected.shp shapefile.


A 2000km buffer around a point in north Taiwan looks like a circle in an orthographic projection centered on the point:




... and squashed in WGS84:



No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...