Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6896419
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T07:02:23+00:00 2026-05-27T07:02:23+00:00

I have N GPS coordinates with N distances given to an unknown position which

  • 0

I have N GPS coordinates with N distances given to an unknown position which I wish to determine.

My first approach was to use just three points and trilateration, exactly as described here. This approach was already quite accurate (best error~5km), but I would like to improve this and increase the robustness.
Because the given distances are not very accurate to begin with, I thought about using multiple measurements and multilateration.
However, it turned out that this approach is by far less accurate (best error~100km) although I provide more than 3 points/distances (tested with up to 6) and now I am asking, if someone has an idea what I could have done wrong.

In short, my approach for multilateration is as follows:

  1. Convert all coordinates into ECEF
  2. Build a matrix as described in Eq.7 at wikipedia
  3. Use SVD to find the minimizer
  4. As the solution is only up to scale, I use a root-finding approach to determine a normalization so that the coordinates converted back into LLA result in a height of 0 (my initial assumption is that all coordinates are at zero height)
  5. Convert back into LLA

LLA/ECEF conversion is double-checked and correct. Step 2 and 3 I’ve checked with euclidean coordinates (and exact distances) and appear correct. I came up with step 4 by myself, I have no clue if this is a good approach at all, so suggestions are welcome.

+++UPDATE

I’ve put together sample code in python to illustrate the problem
with some ground truth. Trilateration gets as close as 400m, while
Multilateration ranges at 10-130km here.
Because of length, I’ve put it at ideone

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T07:02:24+00:00Added an answer on May 27, 2026 at 7:02 am

    Eventually, I figured it out myself – or at least improve the accuracy significantly.

    The approach described at wikipedia (Eq.7) is apparently not very suited for this application, but in this case it is already a lot easier.

    Considering Eq. 6 from wikipedia, we can simplify it a lot: R_0 can be guessed as the earth radius, as the origin of ECEF coordinates lies in the center of earth. Therefore, there is no need to shift everything to make one Point the origin and we can use all N equations.

    In python, with P an array of ECEF coordinates and dists the distances to these points, it all boils down to

    R = 6378137 # Earth radius in meters
    A = []
    for m in range(0,len(P)):
        x = P[m][0]
        y = P[m][1]
        z = P[m][2]
        Am = -2*x
        Bm = -2*y
        Cm = -2*z
        Dm = R*R + (pow(x,2)+pow(y,2)+pow(z,2)) - pow(dists[m],2)
        A += [[Am,Bm,Cm,Dm]]
    # Solve using SVD
    A = numpy.array(A)
    (_,_,v) = numpy.linalg.svd(A)
    # Get the minimizer
    w = v[3,:]
    w /= w[3] # Resulting position in ECEF
    

    With this approach, what I described as Step 4 is no longer necessary. In fact, it even makes the solution worse.

    Now, accuracy ranges between 2km and 275m — in most cases better than the “optimal” trilateration with an error of 464m.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have here a device which can give me GPS coordinates. The time interval
I have a HTML file having GPS coordinates which I want to extract, I
I have used Core location framework to receive my GPS coordinates in my IPOD.First
I have a GPS class which returns the current GPS coordinates to the calling
I have a PHP photo gallery that reads the GPS coordinates from images. I'd
I have a number of tracks recorded by a GPS, which more formally can
I have to build up a system which listens for requests from a GPS
So I have 2 tables : route(#id) step(#id,route_id,lat,lng,sequence_order) And 2 GPS coordinates : M1(lat1,
I have GPS coordinates on all of my photos. I want to include tags/IPTC
Lets say that I have gps coordinates for 1000 stores and a short text

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.