5

I am studying bird movements and have tracked their locations, ie from flower 1 to flower 2 to flower 3 etc. Each point is mapped out. I am trying to work out the relative direction for each movement of the bird. in the picture below the angles are A1 and A2. so A1 is the relative direction of the bird travelling from N2 to N3 based on the original direction of N1 to N2. I have over 1000 movements which are copletely random with up to 50 flowers per map. is there a way to run the movements with the outcome relative angle?

At this point the bird movements are stored in a spreadsheet. I am unsure of how to incorporate them for this purpose.

P.S. im relatively new to gis so knowledge is limited enter image description here

  • 3
    Probably you need to add more details to your request. I don't understand which kind of data do you have as a start and how you manage them when a new position is reached. I mean, do you refresh a point layer by adding a new field storing a new position (coordinates?) every time an animal moves off from the previous position? And then, which is the result expected? A point with new fields, a line containing all the positions, or something else? – mgri Feb 12 '17 at 9:51
  • 1
    Could you please update your question with an example of your desired output? – Aaron Feb 15 '17 at 4:46
1

This is relatively easy if you store the data as a Point layer in sequential order.

  • Assume your layer name is bird_move
  • Create a new field azimuth which represents the azimuth between points.
  • Create a new field angle (difference between consecutive azimuth values).

Start the Field Calculator and give expressions as below:

azimuth

degrees(azimuth(geometry(get_feature_by_id('bird_move', $id-1)), $geometry))

angle

abs("azimuth"- attribute(get_feature_by_id('bird_move', $id+1), 'azimuth') )

Then you will obtain:

enter image description here

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.