如何将这些坐标转换为谷歌地图可读的坐标?
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 中的函数会更好:)以上是关于如何将这些坐标转换为谷歌地图可读的坐标?的主要内容,如果未能解决你的问题,请参考以下文章