KML中的Google地图坐标

时间:2011-07-14 07:53:31

标签: maps kml

我尝试使用kml在Google地图中渲染地理坐标。 不幸的是,我有一些坐标问题:当我从谷歌地图插入KML坐标,然后将这个KML文件传递给谷歌地图服务时,地标指向地球的另一个地方。

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

KML需要“十进制度数”(DD)表示法中的坐标,如下所示:-122.466001, 37.805828。请注意,KML还需要Longitude,Latitude这个与其他许多地方不同的地方,它们显示纬度,然后是经度。

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

答案 2 :(得分:0)

  1. 使用pandas将cvs读入df
  2. 然后使用simplekml将其导出到lml中 注意:坐标是(lon,lat,height)#lon,lat,可选高度
  3. 示例:

    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)