Shopping Cart

Search:

Free Newsletter
Signup

Contact

FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.

# FileMaker Pro Custom Functions

DistanceBetweenPoints ( Lat1; Lon1; Lat2; Lon2; Units )

Rate this function:

Average rating: 4.1  (49 votes)
Discuss this Custom Function

Vaughan Bromfield, Vaughan Bromfield Design
http://www.google.com.au/

Calculates the distance between any two points on Earth.

Sample Input:
 DistanceBetweenPoints ( 0.592539; 2.066470; 0.709186; 1.287762; "nm" )
Sample Output:
 2144

Then copy & paste into FileMaker Advanced's Edit Custom Function window.

## Description:

Based on &quot;Aviation Formulary v1.42&quot; by Ed Williams &lt;http://williams.best.vwh.net/avform.htm&gt;.

Calculates the distance between two points on Earth (assuming earth's radius is 6366.71 km) based on the second &quot;Great Circle Distance Between Points&quot; formula that proports to give less rounding error for short distances.

Since FMP's formula dictionary does not contain asin, the distance formula is modified to use atan as described in the &quot;Implementation Notes&quot;. The format of the custom function below attempts to make these original formulae explicit.

Latitude and Longitude are entered in decimal degrees.

The Units variable accepts &quot;radians&quot;, &quot;nm&quot;, &quot;km&quot; and &quot;miles&quot;. Empty latitude, longitude variables, or unrecognised units entries cause the function to return &quot;?&quot;.

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it

## Discuss:

How do I use this correctly?

I have copied into Custom Functions but get an error "The specified parameter cannot be found" Lat1 is highlighted.

Any ideas?

NA, Oz
March 22, 2009 12:08am

It works for me...

All I can suggest is that you make sure you add "Lat1" and the other parameters to the second panel in the custom function dialog.

Vaughan Bromfield, Sydney Australia
June 03, 2009 12:11am

I can't get the sample input to give me the sample output. What is the order of the parameters in the function definition?

Eric, Billings, MO
June 09, 2009 9:13am

The sample input should be:

DistanceBetweenPoints ( 0.592539; 2.066470; 0.709186; 1.287762; "nm" )

Vaughan Bromfield, Sydney Australia
June 21, 2009 6:15pm

My bad, the data in the sample is incorrect. I have quoted lats and lons in radians and it should be in decimal degrees.

Enter this data into the CF:

Lat1 = 33 + (57/60) ;
Lon1 = 118 + (24/60) ;
Lat2 = 40 + (38/60) ;
Lon2 = 73 + (47/60) ;

... and the result is 2143.7261012545210023.

Vaughan Bromfield, Sydney Australia
June 21, 2009 6:55pm

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

 Your Name: City/Location: Comment: characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted. Answer 3 + 8 =
 Search for Custom Functions:

 Download the Custom Function Dashboard Widget for OS X Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

 1. PreviousMonthEndDate ( myDate ) (Wed, Mar 07, 3:35am) 2. PreviousMonthName (myDate) (Wed, Mar 07, 3:33am) 3. FmTableFields ( tableName ; fieldsInclude ; fieldsExclude ; classExclude ; typeExclude ; prefixExclude ) (Fri, Mar 02, 6:32am) 4. sql.getTable ( fullyQualifiedFieldObject ) (Thu, Feb 22, 8:36am) 5. sql.getField ( fullyQualifiedFieldObject ) (Thu, Feb 22, 8:34am) 6. FilterOut ( ListA ; ListB ) (Wed, Feb 21, 6:11pm) 7. Char0 ( ) (Sun, Feb 18, 2:35am) 8. CreateVCardFile ( FirstName ; LastName ; CompanyName ; Phone ; Email ; WEB ; hAddress1 ; hAddress2 ; hZip ; hCity ; hCountry ; wAddress1 ; wAddress2 ; wZip ; wCity%2 (Sun, Feb 18, 1:50am)