我看到使用两种格式,如: 41.45063 N和(N 40°48'27.34“)。
我假设:
如果我使用第一种格式,那么我只需要2个列:十进制,方向
如果我使用第二种格式,那么我需要4个列:度,分,秒,方向
用于存储数据库的格式以及如何将1种格式转换为另一种格式。我们也只存储坐标甚至是N,S,E,W这样的方向?
我在MySQL中使用cordinates for local places。
答案 0 :(得分:4)
您可以将第二种格式转换为第一种格式。学位课程有60分钟,一分钟有60分钟。在你40°48'27.34的例子中,它是 40 +( 48 ∙60 + 27.34 )/3600≈40.807594°。
所以你需要两列,一列用于经度,一列用于纬度(你知道,你只需将方向编码为数字的符号)。
答案 1 :(得分:1)
40°48'27.34
只是一个浮点数,它已被格式化以方便人类消费。除非您的数据表包含“度”,“分钟”和“秒”的字段,否则您无法直接存储该“人”格式。但是,将其存储为41.45063
的单个浮点值可让您按需将其重新格式化为人性化格式。
不需要方向字段。您可以假设正数表示北和西,负数表示南/东。
答案 2 :(得分:0)
RayHT
您所指的格式称为十进制格式和DMS(度,分,秒)。有一个直接转换后向前的功能。只需谷歌'度数到十进制转换'为您使用的语言(PHP,Javascript等)。
存储十进制格式时,值的符号表示方向。对于纬度,正值为北,负值为南。对于经度,正值是东,负值是西。
以下是在线转换器的链接以及您可能会发现有用的基础知识的描述。
http://www.csgnetwork.com/gpscoordconv.html
安德鲁 “OpenGeoCode.Org”团队的一部分