# Triangulation of a position from three known points

• ### Question

• Let's say I have three records in a database table with a known location in a geography column.

For ease of explanation let's say they're Houston, Seattle and New York.

Within the table is a field which has an integer distance value and the distance is miles from, say, Las Vegas.

Las Vegas isn't a known point in the database.  Is there a way I can triangulate the coordinate of Las Vegas from the three known coordinates and their distance values?

Friday, October 10, 2014 10:01 PM

• Your description of the problem defines it as trilateration (http://en.wikipedia.org/wiki/Trilateration ) rather than triangulation. Based on that description/diagram, you should be able to accomplish this by:

1. Using STBuffer or BufferWithCurves to buffer each point using its appropriate distance in meters.
2. Use STIntersection to find the intersection of the buffers (A/B, B/C, A/C).
3. Find the intersection of the three geography instances described in step 2.
4. Use EnvelopeCenter to get a "center" point of the geography instance from step 3.

Don't forget, when you use buffer against a geography type (step 1), the distance need to be specified in meters, not miles. Meters is the unit of measure unless you're using a strange SRID (consult sys.spatial_reference_systems for your SRID).

Hope this helps, Bob

Monday, October 13, 2014 9:48 PM

### All replies

• Let's say I have three records in a database table with a known location in a geography column.

For ease of explanation let's say they're Houston, Seattle and New York.

Within the table is a field which has an integer distance value and the distance is miles from, say, Las Vegas.

Las Vegas isn't a known point in the database.  Is there a way I can triangulate the coordinate of Las Vegas from the three known coordinates and their distance values?

Friday, October 10, 2014 9:48 PM
• I don't think the LasVegas's coordinate  can be reached from the three known coordinates and their distance values.
Monday, October 13, 2014 12:44 PM
• Your description of the problem defines it as trilateration (http://en.wikipedia.org/wiki/Trilateration ) rather than triangulation. Based on that description/diagram, you should be able to accomplish this by:

1. Using STBuffer or BufferWithCurves to buffer each point using its appropriate distance in meters.
2. Use STIntersection to find the intersection of the buffers (A/B, B/C, A/C).
3. Find the intersection of the three geography instances described in step 2.
4. Use EnvelopeCenter to get a "center" point of the geography instance from step 3.

Don't forget, when you use buffer against a geography type (step 1), the distance need to be specified in meters, not miles. Meters is the unit of measure unless you're using a strange SRID (consult sys.spatial_reference_systems for your SRID).

Hope this helps, Bob

Monday, October 13, 2014 9:48 PM
• Bob,

This has been very useful.  Many thanks.

Wednesday, October 15, 2014 3:42 PM