2011-01-07 55 views
1

Re,无法在Google地球中显示曲目,但在Google地图中效果不错 - 为什么?

我有这个奇怪的问题...一个轨道拒绝在Google地球中显示。它显示距离,高程,一切,但没有明显的轨迹线。将其导入Google地图可以正常工作。

基本上,我有超过350k点的文件。汇编时,我按日期分隔轨道,现在正试图将它们合并在一起(手动编辑KML文件)。看起来,当我尝试将地标与数千个坐标合并时,它们停止在Google地球中显示;就好像对地标(线串)可以包含多少个坐标有限制一样。

这里的文件:http://www.upl.co/upload/s4Co0Gc2Q

在此先感谢。

+0

沉默......任何人? :) – MarkL 2011-01-07 16:43:06

回答

1

您需要在线串上使用<tessellate>元素。这指定是否允许LineString跟随地形。要启用曲面细分,高度模式必须为clampToGround或clampToSeaFloor。非常大的LineStrings应该启用曲面细分,以便它们跟随地球的曲率(否则,它们可能会进入地下并被隐藏)。其他选项是使用<gx:altitudeOffset>元素。这是Google扩展程序名称空间中的KML扩展程序,用于修改高程值的渲染方式。此偏移量允许您将整个LineString作为一个整体向上或向下移动,而无需修改组成LineString的所有单个坐标值。 (虽然LineString是使用海拔偏移值显示的​​,但原始海拔高度值将保存在KML文件中。)单位为米。

这样的事情应该工作。

<LineString id="ID"> 
    <extrude>1</extrude>      
    <tessellate>1</tessellate>     
    <altitudeMode>clampToGround</altitudeMode> 
    <coordinates><!-- lon,lat[,alt] --></coordinates>    
</LineString> 
1

我有大约96000坐标的线段形式,看看我可以加载KML在谷歌实,和看到的一切是正确的,除了线段形式(线没有显示),就好像同样的效果我已经执行了一定的限制。 坐标没有高度。我尝试了和没有tesselation和alitudeMode clampToGround。

对我来说,解决方案是将LineString与MultiGeometry分开,将它分成两半就足够了(每个LineString的坐标都小于64000k)。

相关问题