问题
How long can latitude and longitude be?
I am getting very long lengths sent by a Windows Phone device:
Latitude=-63572375290155
Longitude=106744840359415
This is exceeding my table column size and I am getting errors.
回答1:
The valid range of latitude in degrees is -90 and +90 for the southern and northern hemisphere respectively. Longitude is in the range -180 and +180 specifying coordinates west and east of the Prime Meridian, respectively.
For reference, the Equator has a latitude of 0°, the North pole has a latitude of 90° north (written 90° N or +90°), and the South pole has a latitude of -90°.
The Prime Meridian has a longitude of 0° that goes through Greenwich, England. The International Date Line (IDL) roughly follows the 180° longitude. A longitude with a positive value falls in the eastern hemisphere and negative value falls in the western hemisphere.
Decimal degrees precision
Six (6) decimal places precision in coordinates using decimal degrees notation is at a 10 cm (or 0.1 meter) resolution. Each .000001 difference in coordinate decimal degree is approximately 10 cm in length. For example, the imagery of Google Earth and Google Maps is typically at the 1 meter resolution, and some places have a higher resolution of 1 inch per pixel. One meter resolution can be represented using 5 decimal places so more than 6 decimal places is extraneous for that resolution. The distance between longitudes at the equator is the same as latitude, but the distance between longitudes reaches zero at the poles as the lines of meridian converge at that point.
If Latitude value is reported as -6.3572375290155 or -63.572375290155 then you could round-off and store up to 6 decimal places for 10 cm (or 0.1 meter) precision.
For millimeter (mm) precision then represent lat/lon with 8 decimal places in decimal degrees format. Since most applications don't need that level of precision 6 decimal places is sufficient for most cases.
In the other direction, whole decimal degrees represents a distance of ~111 km (or 60 nautical miles) and a 0.1 decimal degree difference represents a ~11 sq. Km area.
Here is a table of # decimal places difference in latitude with the delta degrees and the estimated distance in meters using 0,0 as the starting point.
decimal decimal distance
places degrees (in meters)
------- --------- -----------
1 0.1000000 11,057.43 11 km
2 0.0100000 1,105.74 1 km
3 0.0010000 110.57
4 0.0001000 11.06
5 0.0000100 1.11
6 0.0000010 0.11 11 cm
7 0.0000001 0.01 1 cm
Degrees-minute-second (DMS) representation
For DMS notation 1 arc second = 1/60/60 degree = ~30 meter length and 0.1 arc sec delta is ~3 meters.
Example:
- 0° 0' 0" W, 0° 0' 0" N -> 0° 0' 0" W, 0° 0' 1" N => 30.715 meters
- 0° 0' 0" W, 0° 0' 0" N -> 0° 0' 0" W, 0° 0' 0.1" N => 3.0715 meters
1 arc minute = 1/60 degree = ~2000m (2km)
UPDATE: Here is an amusing blog post about coordinate precision.
回答2:
Latitude : max/min
+90to-90Longitude : max/min
+180to-180
回答3:
Valid longitudes are from -180 to 180 degrees.
Latitudes are supposed to be from -90 degrees to 90 degrees, but areas very near to the poles are not indexable.
So exact limits, as specified by EPSG:900913 / EPSG:3785 / OSGEO:41001 are the following:
- Valid longitudes are from -180 to 180 degrees.
- Valid latitudes are from -85.05112878 to 85.05112878 degrees.
回答4:
Latitude maximum in total is: 9 (12.3456789), longitude 10 (123.4567890), they both have maximum 7 decimals chars (At least is what i can find in Google Maps),
For example, both columns in Rails and Postgresql looks something like this:
t.decimal :latitude, precision: 9, scale: 7
t.decimal :longitude, precision: 10, scale: 7
回答5:
The ideal datatype for storing Lat Long values in SQL Server is decimal(9,6)
As others have said, this is at approximately 10cm precision, whilst only using 5 bytes of storage.
e.g. CAST(123.456789 as decimal(9,6)) as [LatOrLong]
回答6:
Please check the UTM coordinate system https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system.
These values must be in meters for a specific map projection. For example, the peak of Mount Assiniboine (at 50°52′10″N 115°39′03″W) in UTM Zone 11 is represented by 11U 594934.108296 5636174.091274 where (594934.108296, 5636174.091274) are in meters.
来源:https://stackoverflow.com/questions/15965166/what-is-the-maximum-length-of-latitude-and-longitude