Rak*_*kib 14 android google-maps latitude-longitude
我如何找出一个位置的经度纬度的SPECIFIC E6值.例如,我用谷歌搜索了巴拉圭首都亚松森的长途地区.它回报我:
The latitude and longitude of Asuncion, Paraguay is 25°16' S, 57°40 W
现在我如何将long-lat的这种格式转换为Android知道的long-lat的E6格式?这个E6究竟是什么东西?
[ps我也用Google搜索了亚松森的E6长途......没有运气]
Rak*_*kib 25
步骤1. 从维基百科从DMS转换为十进制度
给定DMS(度,分,秒)坐标(例如87°43'41"W),使用以下方法将其转换为十进制度数是微不足道的:
学位总数
= 87总秒数
= 43'41"=(43*60 + 41*1)= 2621秒.小数部分是总秒数除以
3600 = 2621/3600 = 0.728056将小数度加到整个度数以产生最终结果
= 87 + 0.728056 = 87.728056.由于它是西经度坐标,否定结果.
= -87.728056.
Long-Lat参考:
Lat. North = +
Lat. South = -
Long. East = +
Long. West = -
Run Code Online (Sandbox Code Playgroud)
步骤2.从十进制度转换为MicroDegrees(E6格式) 从SO讨论
MicroDegrees(E6格式)= DecimalDegrees*1e6
--- 如AndroidDevGuide 中所述
从而,
float lat = -23.4456f; //in DecimalDegrees
float lng = 45.44334f; //in DecimalDegrees
GeoPoint gp = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17097 次 |
| 最近记录: |