【问题标题】:Google Maps coordinates in KMLKML 中的 Google 地图坐标
【发布时间】:2011-10-05 03:03:26
【问题描述】:

我正在尝试使用 kml 在谷歌地图中呈现地理坐标。 不幸的是,我在坐标方面遇到了一些问题:当我从谷歌地图插入 KML 坐标,然后将此 KML 文件传递​​给谷歌地图服务时,地标指向地球上的另一个地方。

也许我猜不出 KML 地标位置的格式?

【问题讨论】:

  • 也许您调换了经度和纬度?顺序应该是经度,然后是纬度。

标签: maps kml


【解决方案1】:

在 KML 文件中,我的 LatLng 是向后的。

KML => -.709448,54.009222,0
gmaps => 54.009222,-.709448

【讨论】:

    【解决方案2】:
    1. 使用 pandas 将 cvs 读入 df
    2. 然后使用 simplekml 将其导出到 lml 注意:坐标是 (lon,lat,height) # lon, lat, 可选高度

    示例:

    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)
    

    【讨论】:

      【解决方案3】:

      有时,Google 地图会以“度、分、秒”(DMS) 表示法报告坐标,如下所示:37°48'21.0"N 122°27'57.6"W

      KML 需要采用“十进制度” (DD) 表示法的坐标,如下所示:-122.466001, 37.805828。请注意,KML 还需要经度、纬度的顺序,这与许多其他地方不同,后者显示纬度然后经度。

      所以...如果您以某种方式以 DMS 表示法获取坐标,那么您需要转换为 DD 表示法,并确保 Lon,Lat 顺序正确。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-25
        • 2013-09-16
        • 2011-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多