I have a shapefile including sightings of birds (points), but the gps points are taken from where the sighting have been made, not where the bird actually are. And in the map I need to show the real location of the birds.

My attribute table includes columns of distance to the bird (m) and the bearing in whitch it have been seen (degrees). Is it possible to move all the points automatically by using these two attributes? So for example 30 m to 90° (the east).

Im using Qgis 2.18.


Maybe a crude but a working solution:

  • make sure your project's CRS is set to any UTM-CRS (you need meters as map unit)
  • in the symbol tab choose single marker
  • next to X,Y offset change the units to map units
  • even further to the right, click the the greyish box with the two triangles and choose edit below variable
  • crack open your 7th grade math/geometry skills and calculate the X,Y offsets using Pythagorean rules, your hypothenuse and your angle
  • Thanks for the tip. I was hoping for something more automated than my math skills...but i could give it a try. – user133916 Jan 7 '19 at 14:46
  • To clarify: You don't have to calculate anything yourself. Just feed the formula you have to create your values. – Erik Jan 7 '19 at 15:18

A little less crude and a little more automated than @Erik's answer: As with Erik's answer, use a UTM CRS in meters (assuming that's the units for your distances).

Export your shapefile as csv. Under Layer Options->Geometry, select AS_XY. Under Layer_Options->Create_CSVT select yes. Then save. Open the resulting csv file in your spreadsheet program of choice (eg, Excel). Using trig as Erik suggests (though it was 10th grade in my high school back in the 60s), compute new X and Y values.

If you don't care about the observation point anymore, move the new X,Y cols over the original XY cols and save.

If you do care about preserving the observation point, you will have to edit the csvt file. This is a simple text file that describes the data type for each column and should be fairly obvious what to enter for your new columns. Set the original observation point columns to type Real.

Now open the csv file in Qgis and make sure it's reading the geometry from the columns you want.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.