Table of contents |
2 Basic Forms 3 Components of a Typical Coordinate 4 Putting it all Together |
All of the following are valid and acceptable ways to write geographic coordinates:
There are three basic forms of a coordinate.
In it's most simple form a coordinate is just a number of degrees. The tricky part comes in when you need to differentiate North/South latitude or West/East longitude, or make the number more digestable by writing it with minutes and seconds instead of as a decimal number.
The degrees portion of the coordinate is always going to be the easiest to figure out. The degrees is always the left-most whole number. For example:
Latitude
90 N = 90
90 S = -90
The minimal case is that you have only degrees:
Minutes are an optional component, as is implied by the minimal case of degrees. If there is no minutes component, the degrees component contains the entire precision of the coordinate and there must not be a seconds component. Minutes are actually the numerator component of a fraction with denominator 60 of one degree.
With the same examples as above:
To convert, 26 minutes is equal to degrees.
Seconds are also an optional component, and can only exist if the minutes component also exists. Seconds are the numerator component of a fraction with denominator 60 of one minute.
To convert, 41 seconds is equal to minutes.
Given a DMS coordinate such as W87°43'41", it's trivial to convert it to a number of decimal degrees using the following method:
Given a decimal longitudinal coordinate such as -87.728055 it is trivial to convert it to DMS form. It will be necessary to know whether it is a latitudinal or longitudinal coordinate in order to fully convert it. The method is as follows:
The most common programmatical use of these processes is to display a coordinate to an end user in the more common DMS form instead of decimal form. Some example code in the PHP programming language to do this is:
function pretty_coords($latitude, $longitude) {
return sprintf("%s %s, %s %s",
($latitude>0)?"N":"S", pretty_coord($latitude),
($longitude>0)?"E":"W", pretty_coord($longitude));
};Ways of Writing Coordinates
Basic Forms
All forms of coordinates are capable of representing the same amount of data and the same precision. Depending on which type of coordinate you are provided with, and which type you would like to work with, you may have to do some conversion.Components of a Typical Coordinate
Degrees
40:26:46N 40
W87°43'41 87
A sphere is divided into 360 degrees. The number space is divided into two halves, East and West in the case of longitude and North and South in the case of latitude. The maximum ranges are as follows:Longitude
180 W = -180
180 E = 180
Technically you could have latitudes greater than 90 or less than -90, but this is an ambiguous case, since there would be an equivalent coordinate with an inverse longitude. 40.446111 or
40.446111N
Minutes
40:26:46N 26
W87°43'41 43
In the first case, the number of minutes is 26. Seconds
40:26:46N 46
W87°43'41 41
In the second case, the number of minutes is 41. Putting it all Together
Conversion from DMS to Decimal
Conversion from Decimal to DMS
Type Dir. Sign Test
Lat. N + > 0
Lat. S - < 0
Long. E + > 0
Long. W - < 0
A coordinate with at 0°0'0" latitude or longitude is neither North nor South, East nor West. It is simply zero latitude or zero longitude.Programmatical Conversion
function pretty_coord($coord) {
return sprintf("%0.0f° %2.3f",
floor(abs($coord)),
60*(abs($coord)-floor(abs($coord))));
};