Solved

Distance Between 2 Points of Latitude and Longitude

Posted on 2013-01-24
2
1,022 Views
Last Modified: 2013-01-24
How can I measure the distance between 2 customers. For example, One customer is at Point A with Latitude  of 42.91 and Longitude of -77.70 and the other is at Point B with Latitude of 42.09 and Longitude of -80.12.

I am using SqlServer 2012.


The data resides in my table in the following manner:

Customer    Lat (float)    Long (float)
1                   42.91             -77.70
2                   42.09              -80.12
0
Comment
Question by:nirajkrishna
2 Comments
 
LVL 73

Accepted Solution

by:
sdstuber earned 500 total points
ID: 38817209
DECLARE @a geography = geography::Point(42.91, -77.70, 4326)
DECLARE @b geography = geography::Point(42.09, -80.12, 4326)

SELECT @a.STDistance(@b)



SRID of 4326 will cause the results to be returned in meters

218773.342240962



or, in the form of a query...


select geography::Point(a.lat, a.long, 4326).STDistance(geography::Point(b.lat,b.long,4326))  from yourtable a, yourtable b
where a.customer = 1
and b.customer = 2;
0
 

Author Closing Comment

by:nirajkrishna
ID: 38817264
Awesome answer! And very nice job including the TSql. I am a bit of a newb and your answer was perfect!
0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
MS SQL with ODBC 5 36
sql server tables from access 18 18
Can > be used for a Text field 6 40
Sql server get data from a usp to use in a usp 5 16
I'm trying, I really am. But I've seen so many wrong approaches involving date(time) boundaries I despair about my inability to explain it. I've seen quite a few recently that define a non-leap year as 364 days, or 366 days and the list goes on. …
Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question