Position from the latitude and longitude of nearby places

How can I calculate the latitude-longitude of a place, when the latitude-longitude information of its 3 nearby places, and the distances to the place are given?

Eg, A,B and C are three places with latitude-longitude (x1,y1), (x2,y2) and (x3,y3). Let D be at distance k1, k2 and k3-km from A, B and C respectively. How can one determine the latitude-longitude of D.

In case, all these points, A,B,C and D are on a plane, then this can be calculated, by determining the point of intersection of the three circles, from A, B and C with radius k1, k2 and k3, respectively. However, how to determine the position, when the points are on a sphere and not on a circle?


Starting with a plane, here is an alternative method to your suggested 3 circles:

  • Since you know the coordinates of A,B and C, you can calculate the length of AB,AC and BC.
  • Lets mark by X the point point we want to find.
  • we know that AX=k1, BX=k2 and CX=k3
  • Now draw the 3 triangles: ABX, ACX, EDX. We know the length of all their edges, therefore we can calculate the angles.
  • Knowing all coordinates, lengths and angles we can calculate the coordinates of X.
  • For a sphere- almost the same idea can be used. However:

  • Coordinates should be in Lat/Lon radians
  • Distances should be calculated using great circle distance formula. See Aviation Formulary.
  • Total angles in a triangle is not 180 - It is between 180 and 540.
  • Knowing the edges lenghts, angles can be calculated using the spherical law of cosines
  • Now, coordinates of X can be calculated.
  • It takes some time to get used to working with spherical trigonometry, however this is the right tool for such problems.


    I'll assume k1, k2, k3 are distances on the sphere.

    You may be able to solve this most precisely by using a special case of the Vincenty formula. With your three sets of values for x, y, and k, you can set up a system of equations to solve for the latitude and longitude of the fourth point. Solving this system would probably be extremely tricky due to its complexity, but there may be computational tools that could perform such a solve.

    链接地址: http://www.djcxy.com/p/84900.html

    上一篇: 在C中使用两组坐标(经度和纬度)

    下一篇: 来自附近地点的经纬度的位置