I have pairs of coordinates which signify the start and end of a transect line. I am trying to adjust the end point such that it is x meters from the starting point.

What I have:

  • Coordinates of Points A and B.

What I want to accomplish:

  • Create a point C such that it is x meters from point A in the direction of B; or
  • Move point B such that it is x meters from point A in the same direction.

Of course I could do this manually since I have just more than a dozen points, but I am trying to be a bit more accurate.

1 Answer 1


I figured out a solution in QGIS. I think there are several other ways to do it, but hopefully I can help.

  1. First you have to define which points are linked together". It means, PointA and PointB need to have the same ID/Attribute (e.g. '1'). All the points are stored in one shapefile. Let's call it POINTS. I cannot give you an exact approach because I don't know how your points are stored.

  2. Create a connection (line) between two linked Points (e.g. between all Points containing ID 1 --> PointA to PointB) using either the SAGA module Shapes - Lines - "Convert points to lines" or the QGIS Plugin "Points2One". Call the output LINES

  3. Create a buffer with your desired distance (e.g. 1000m using a projected coordinate system). The output will be a polygon surrounding your POINTS with a certain bufferdistance. Call it BUFFER.

  4. Create a line as intersection of the POINT to the BUFFER border in the direction of the LINE by using the QGIS Tool "Intersection" (Vector overlay tools - Intersection). Call it INTERSECTION.

  5. At the end we have to determine the end of the newly created INTERSECTIONline by a point (POINTC) using the SAGA tool "Convert lines to points" (Shapes - Points) without any Additional Points. Your Result is a file, containing 2 Points for each segment, POINT A and POINT C.

  • 1
    I was able to do it with the help of plug-ins: "Cadtools" for determining the direction (azimuth) and "Azimuth and Distance Plugin" for drawing them. Anyway, thank you for answering so quickly. I thought I'd come back after an hour. I should have looked sooner. Thank you for this answer and I will definitely try this. Thanks!
    – paleonoob
    Jun 15, 2014 at 19:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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