RE,
我有这个奇怪的问题......一首曲目拒绝在Google地球中显示。它显示距离,高度,一切,但没有可见的轨迹线。将其导入Google地图可以正常使用。
基本上,我有一个超过350k点的文件。在组装时,我按日期分隔了曲目,现在我尝试将它们合并在一起(手动,通过编辑KML文件)。看来,当我尝试将地标与数千个坐标合并时,它们会停止在Google地球中显示;就好像地标(线串)可以包含的坐标数量有限制。
这是文件:http://www.upl.co/upload/s4Co0Gc2Q
提前致谢。
答案 0 :(得分: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 :(得分:1)
我有一个大约96000坐标的LineString,并且看到了我可以在google-earth中加载KML的相同效果,看到一切正确,除了LineString(没有显示行),好像我已经过了一个一定的限制。 坐标没有高度。我尝试了没有tesselation和alitudeMode clampToGround。
我的解决方案是使用MultiGeometry分割LineString,将其分成两半就足够了(每个LineString现在的坐标少于64000k)。