【发布时间】:2011-10-05 03:03:26
【问题描述】:
我正在尝试使用 kml 在谷歌地图中呈现地理坐标。 不幸的是,我在坐标方面遇到了一些问题:当我从谷歌地图插入 KML 坐标,然后将此 KML 文件传递给谷歌地图服务时,地标指向地球上的另一个地方。
也许我猜不出 KML 地标位置的格式?
【问题讨论】:
-
也许您调换了经度和纬度?顺序应该是经度,然后是纬度。
我正在尝试使用 kml 在谷歌地图中呈现地理坐标。 不幸的是,我在坐标方面遇到了一些问题:当我从谷歌地图插入 KML 坐标,然后将此 KML 文件传递给谷歌地图服务时,地标指向地球上的另一个地方。
也许我猜不出 KML 地标位置的格式?
【问题讨论】:
在 KML 文件中,我的 LatLng 是向后的。
KML => -.709448,54.009222,0
gmaps => 54.009222,-.709448
【讨论】:
示例:
import simplekml
snet_kml='test.kml'
kml = simplekml.Kml()
for name,lat,lon,height in zip(snet[NAMES[0]], snet[NAMES[1]], snet[NAMES[2]], snet[NAMES[3]]):
kml.newpoint(name=name, coords=[(lon,lat,height)]) # lon, lat, optional height
print("*** Created {}".format(snet_kml))
print(kml.kml())
kml.save(snet_kml)
【讨论】:
有时,Google 地图会以“度、分、秒”(DMS) 表示法报告坐标,如下所示:37°48'21.0"N 122°27'57.6"W。
KML 需要采用“十进制度” (DD) 表示法的坐标,如下所示:-122.466001, 37.805828。请注意,KML 还需要经度、纬度的顺序,这与许多其他地方不同,后者显示纬度然后经度。
所以...如果您以某种方式以 DMS 表示法获取坐标,那么您需要转换为 DD 表示法,并确保 Lon,Lat 顺序正确。
【讨论】: