# Measuring Distance by Lat & long in Arduino

**URL:** <https://forum.arduino.cc/t/measuring-distance-by-lat-long-in-arduino/1184585>\
**Category:** Robotics\
**Created:** [November 1, 2023, 6:42pm UTC](https://forum.arduino.cc/t/measuring-distance-by-lat-long-in-arduino/1184585 "2023-11-01T18:42:45Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![eng76em](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/eng76em/32/1013044_2.png) [@eng76em](https://forum.arduino.cc/u/eng76em)\
**Post date:** [November 1, 2023, 6:42pm UTC](https://forum.arduino.cc/t/measuring-distance-by-lat-long-in-arduino/1184585/1 "2023-11-01T18:42:45Z")

</div>

Hi everyone  
I have a project that I need to measuring distance by 2 different gps locations

Assume that there are tow Lats and two Longs like this:  
float Lat1=30.240455  
float Long1=-97.817710  
float Lat2=30.236640  
float Long2=-97.821456

how can i measure distance between them in Arduino?

---

<div class="post-metadata">

**Author:** ![Benjamin269](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/benjamin269/32/1007881_2.png) [@Benjamin269](https://forum.arduino.cc/u/Benjamin269)\
**Post date:** [November 1, 2023, 6:55pm UTC](https://forum.arduino.cc/t/measuring-distance-by-lat-long-in-arduino/1184585/2 "2023-11-01T18:55:46Z")

</div>

You would want to use the spherical law of cosines, like this:

```arduino
=ACOS( SIN(lat1)*SIN(lat2) + COS(lat1)*COS(lat2)*COS(lon2-lon1) ) * 6371000

```

6371000 is the radius of the earth in meters.

This is also known as the Haversine formula, which is already implemented in Arduino:

[https://hutscape.com/tutorials/haversine](https://hutscape.com/tutorials/haversine)

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [November 1, 2023, 6:56pm UTC](https://forum.arduino.cc/t/measuring-distance-by-lat-long-in-arduino/1184585/3 "2023-11-01T18:56:13Z")

</div>

How would you calculate the distance between them without using and Arduino ?

Can "Mr. Google" help, I wonder ?

---

<div class="post-metadata">

**Author:** ![eng76em](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/eng76em/32/1013044_2.png) [@eng76em](https://forum.arduino.cc/u/eng76em)\
**Post date:** [November 1, 2023, 7:24pm UTC](https://forum.arduino.cc/t/measuring-distance-by-lat-long-in-arduino/1184585/4 "2023-11-01T19:24:22Z")

</div>

Thanks for your favor it solved my issue

---

<div class="post-metadata">

**Author:** ![srnet](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/srnet/32/238868_2.png) [@srnet](https://forum.arduino.cc/u/srnet)\
**Post date:** [November 1, 2023, 7:26pm UTC](https://forum.arduino.cc/t/measuring-distance-by-lat-long-in-arduino/1184585/5 "2023-11-01T19:26:02Z")

</div>

> [@eng76em](#):
>
> how can i measure distance between them in Arduino?

Use the TinyGPSplus library, that provides very easy to use functions for calculating distance and direction between two sets of co-ordinates, for instance;

`distance = TinyGPSPlus::distanceBetween(Lat1, Lon1, Lat2, Lon2);`

The caclulation from TinyGPSplus is accurate to within a metre or so on the checks I have done. I did run a real World test using standard GPS reference points (positions know to sub cm level) to see if the library calculations were good enough.

There are other mathematical methods but I have not checked their real world accuracy, maybe others have.

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [April 29, 2024, 7:26pm UTC](https://forum.arduino.cc/t/measuring-distance-by-lat-long-in-arduino/1184585/6 "2024-04-29T19:26:21Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
