如何将这些坐标转换为谷歌地图可读的坐标?

Posted

技术标签:

【中文标题】如何将这些坐标转换为谷歌地图可读的坐标?【英文标题】:How do I convert these coordinates to coordinates readable by Google Maps? 【发布时间】:2009-06-15 12:02:13 【问题描述】:

查看page 上的地图坐标。这是从 Wikipedia 链接的,并且坐标通过查询字符串传递。我不确定这个的实际条款,但我如何转换坐标?它们看起来像这样:

37° 14′ 6″ N,115° 48′ 40″ W

我希望它们看起来像这样:

37.235, -115.811111

,这是一种谷歌地图可读的格式,见this example。

我如何在 php 中做到这一点,这两种不同类型的坐标叫什么?

【问题讨论】:

【参考方案1】:

原始格式为小时、分钟、秒格式。要转换为十进制,请执行以下操作:

D = H + M/60 + s/3600

所以在你的例子中,37,14,6 变成了

37 + 14/60 + 6/3600 = 37.235,如上所述。

如果纬度为 N,则结果为正,如果为 S,则为负。 如果经度为 E,则结果为正。如果西,结果是否定的。

【讨论】:

【参考方案2】:

Here 是执行您所说的功能的 javascript 函数。

此实用程序允许用户转换纬度和经度 在十进制度和度、分和秒之间。为了 方便,包含国家大地测量局的链接 NADCON 程序,允许在 NAD83 / WGS84 之间进行转换 坐标系和旧的 NAD27 坐标系。 NAD27 坐标目前用于广播授权和 应用程序。

此实用程序需要启用 Javascript 才能执行 计算。

【讨论】:

【参考方案3】:

我的 PHP 代码来自这篇文章,谢谢!

function GetLatLon_FromExif($GPS)
$Lat_Ref = $GPS['GPSLatitudeRef'];
if($Lat_Ref == "S")  $Lat_Neg = "-"; 
$Lat_H = explode("/" ,$GPS['GPSLatitude']['0'])[0];
$Lat_M = explode("/" ,$GPS['GPSLatitude']['1'])[0];
$Lat_S = explode("/" ,$GPS['GPSLatitude']['2'])[0];
$Lat_S2 = explode("/" ,$GPS['GPSLatitude']['2'])[1];

$Lon_Ref = $GPS['GPSLongitudeRef'];
if($Lon_Ref == "W")  $Lon_Neg = "-"; 
$Lon_H = explode("/" ,$GPS['GPSLongitude']['0'])[0];
$Lon_M = explode("/" ,$GPS['GPSLongitude']['1'])[0];
$Lon_S = explode("/" ,$GPS['GPSLongitude']['2'])[0];
$Lon_S2 = explode("/" ,$GPS['GPSLongitude']['2'])[1];

$Lat = $Lat_H+($Lat_M/60)+(($Lat_S/$Lat_S2)/3600);
$Lon = $Lon_H+($Lon_M/60)+(($Lon_S/$Lon_S2)/3600);

return $Lat_Neg.$Lat.",".$Lon_Neg.$Lon;


JSON(来自 IMAGE EXIF):

"GPS": 
  "GPSLatitudeRef": "N",
  "GPSLatitude": [
    "22/1",
    "15/1",
    "1708/100"
  ],
  "GPSLongitudeRef": "W",
  "GPSLongitude": [
    "97/1",
    "52/1",
    "1882/100"
  ],
  "GPSAltitudeRef": "\u0000",
  "GPSAltitude": "9364/369",
  "GPSSpeedRef": "K",
  "GPSSpeed": "2203/12629",
  "GPSImgDirectionRef": "T",
  "GPSImgDirection": "52751/159",
  "GPSDestBearingRef": "T",
  "GPSDestBearing": "52751/159",
  "UndefinedTag:0x001F": "6625/828"

【讨论】:

【参考方案4】:

嗯,您提到的页面已经为您提供了 WGS84 和纬度经度格式的坐标

【讨论】:

是的,我知道,但我只想要一个公式来从坐标中获取纬度和经度 - 正如你所说的格式 WGS84。或者 PHP 中的函数会更好:)

以上是关于如何将这些坐标转换为谷歌地图可读的坐标?的主要内容,如果未能解决你的问题,请参考以下文章

将坐标转换为谷歌地图

将经纬度转换为谷歌地图经纬度

如何将坐标转换为谷歌友好坐标

如何将地址转换为谷歌地图链接(不是地图)

谷歌地图高清卫星地图转CGCS2000坐标系

将任何图像转换为谷歌地图之类的?