Friday, 3 August 2018

qgis - Create buffer in meters?


I'm very new to the GIS world, so my problem could be very stupid, but I'm going to try anyway.



Given a list of coordinates in longitude/latitude, stored as a .csv file, I want to create a buffer with distance of x km around those coordinates. (In case this is relevant, these coordinates are locations of the societies in the SCCS dataset. These societies scatter all around the world.)



I'm only able to create buffers with distance in radial degrees, but I want to do them in (kilo)meters. I'm aware of the following Q&A's, but following what's suggested therein doesn't seem to solve my problem:






  1. I start QGIS (v2.4), and Add delimited text layer

  2. choose my .csv file and the x/y fields, click OK

  3. select WGS 84 as my CRS (also tried NAD83 but didn't make a difference), click OK

  4. right-click on layer and select Save As..., in the dialog box, choose the following and click OK: enter image description here

  5. add sccs_meter.shp as layer to the current project

  6. Select Vector > Geoprocessing Tools > Buffers > set buffer distance as 10


The result is a buffer with radius of approximately 1068km, which suggests that buffer distance is 10 degrees rather than 10 meters.


What did I do wrong here?




Answer



In step 4, you have to change the CRS from NAD83 to another projection that uses metres as units.


It depends on the extent of your data which one is best. Unfortunately, your data is located all over the world, so you could:



  1. Create a custom CRS using aeqd (or tmerc) for each one, and draw just that one buffer with it. Practically, you only have to create the buffer once, and exchange the CRS information in the .prj and .qpj file. The coordinates of the buffer with respect to its center will always be the same.

  2. Group the data according to the UTM zones, and use the UTM CRS of that zone for those points.

  3. Similar to UTM, group your points into zones of latitude (e.g. every 10 degrees), and create custom Lambert conformal conical 2SP CRS for each group. This will be significantly faster than using all northern and southern UTM zones of the world.

  4. Use pseudo mercator EPSG:3857 for all. The buffers will look like nice circles, but the real size will get smaller and distorted the more to the poles you come.


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...