将Google Earth kml转换为Google地图kml - 使用图片叠加层

时间:2013-03-06 21:48:17

标签: kml google-earth

我使用Google地球创建了一个kml文件,可以使用外部图像创建叠加层。它运作良好,我想找到一种转换kml的合理方便的方法,以便谷歌地图可以读取它并以类似的方式显示它。

Google地图无法处理Google地球坐标,因此我尝试自行转换它们。例如,我更换了地球坐标:

<gx:LatLonQuad>
<coordinates>
-80.34344837780532,33.1105864538138,0 
-80.31934785561177,33.09410014458361,0 
-80.30034967982111,33.11373571527255,0 
-80.32473786478347,33.13044135685429,0 
</coordinates>
</gx:LatLonQuad>

使用等效的地图坐标:

<LatLonBox>
<north>33.13044135685429</north>
<south>33.11373571527255</south>
<east>-80.31934785561177</east>
<west>-80.34344837780532</west>
</LatLonBox>

不幸的是,这并不完全“等同”。地图叠加略微偏离并且旋转不正确。

以下是两人的图片:

地球示例

enter image description here

地图示例

enter image description here

我可以看出为什么它不起作用,但我对另一种解决方案感到茫然。任何人都知道在涉及图像叠加时将Google Earth kml转换为Google Maps kml的简单方法吗?

1 个答案:

答案 0 :(得分:1)

根据KML reference<LatLonBox>也有一个轮换。不确定Google地图是否支持此功能,但它应该解决您遇到的问题。 <gx:LatLonQuad>允许您指定一个旋转的框(这是您正在做的),这是指定的内容:

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/GoogleEarthPolygon.kml

根据KML reference for Google Maps,支持LatLonBox,旋转不是:

 KML Element    Supported in Google Maps? 
 <LatLonBox>    yes
 <rotation>     no

因此,您需要在北/东/西边界(非旋转的LatLonBox)上进行叠加对齐,以便在Google地图上工作。

您的计算机LatLonBox(小蓝框)有问题,您想要绿色框:

http://www.geocodezip.com/v3_GoogleEx_layer-kml_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/GoogleEarthPolygonA.kml

我认为解决此问题的唯一方法是将原始图像旋转并保存在北/东/西边界上对齐的图像,这些图像适合较大的框。

要么以某种方式制作支持旋转的自定义叠加层。