# [R] calculate spatial distance

Charles C. Berry cberry at tajo.ucsd.edu
Tue Oct 30 20:35:20 CET 2007

```
RSiteSearch("longitude distance")

pops up a bunch of results that seem pertinent. e.g.

R: Distance Between Geographic Coordinates (score: 4)

R: Distance Along Great Circle Arc (score: 2)

??

On Tue, 30 Oct 2007, Sarah Goslee wrote:

> I don't know of such a function, but you have several options:
>
> 1. Assume that Euclidean distance is "good enough" - probably
> reasonable over a limited geographic region (and commonly done).
> 2. Use your GIS software to do the calculations since it already
> "understands" projections and distances on a sphere.
> 3. Write a function to do this yourself and make it available to
> other researchers who need this capability. Assuming that
> great circle distances on a perfect sphere are good enough, it
> isn't that hard to do.
>
> Eh, I talked myself into it (runs, but otherwise untested):
>
> geogdist <- function(lat1, lon1, lat2, lon2)
> {
> # takes latitude and longitue for points 1 and 2
> # returns great circle distances in km
> # south and west are negative
>
> rad <- function(x) { (x/360) * 2 * pi }
> deg <- function(x) { (x/(2 * pi)) * 360 }
>
>
> gd <- deg(acos(gd))
>
> 111.23 * gd
>
> }
>
>
>
> On Oct 30, 2007 11:49 AM,  <robert.ptacnik at niva.no> wrote:
>> Hi,
>> I have a set of locations defined by longitude and latitude (in degrees),
>> and want to calculate the spatial (or geographic) distance among all
>> locations.
>> I did not find such a function in the spatial-related packages. (I *cannot*
>> use 'dist', as I have geographic, not cartesian coordinates).
>> thanks!
>> Robert
>>
>
>
> --
> Sarah Goslee
> http://www.functionaldiversity.org
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help