Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages

Shopping Cart
Shopping Cart


Free Newsletter


Privacy Policy

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


 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

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

Rate this function:  

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

Vaughan Bromfield, Vaughan Bromfield Design

Calculates the distance between any two points on Earth.

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

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


Based on "Aviation Formulary v1.42" by Ed Williams <>.

Calculates the distance between two points on Earth (assuming earth's radius is 6366.71 km) based on the second "Great Circle Distance Between Points" 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 "Implementation Notes". 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 "radians", "nm", "km" and "miles". Empty latitude, longitude variables, or unrecognised units entries cause the function to return "?".

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

This is my Custom Function and I want to edit it


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:
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 1 + 8 =
Search for Custom Functions:

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

Newest Custom Functions:

1. HexUUIDToNum_cf (_uuid)
  (Sat, Jun 16, 1:55pm)
2. httpResponseCode ( responseHeaders )
  (Tue, Jun 12, 10:40pm)
3. FindDuplicateCharacters ( string )
  (Fri, Jun 08, 5:01pm)
4. FieldRepetitionLast ( field ; maxRepetition )
  (Wed, Jun 06, 6:05pm)
5. CountModifiedRecords ( NameTimestampField ; StartTimestamp ; EndTimestamp )
  (Mon, May 28, 8:23am)
6. JSONArrayLength ( JSONArrayStr )
  (Fri, May 25, 7:46am)
7. interpolation (y1; y2; y3; x1; x2; x3; x1y1; x2y1; x1y2; x2y2; rnd)
  (Sat, May 19, 3:55am)
8. @JSONFormatElements ( json )
  (Tue, May 15, 3:31am)

RSS Feed of Custom Functions