在KML Google Earth中使用clampToGround填充多边形

时间:2017-11-29 16:59:26

标签: polygon kml google-earth

我正试图在地面上放置一个填充的多边形,但是到目前为止,我的试验都没有成功。我总是得到一个填充多边形悬停在某个特定高度(有时切割通过地形表面,取决于该高度)或仅仅是多边形的轮廓而没有任何填充。我试过了

  • 将高度信息设置为0(坐标为标记altitude),
  • altitudeMode设置为clampToGround(和clampToSeaFloor),
  • 使用命名空间扩展gx,但都无济于事。
  • 使用标记tessellate(0和1),
  • 使用标记extrude(0和1甚至更高的值),
  • 转动多边形点的顺序(从顺时针切换到逆时针),

但没有任何效果。

这是一个我认为正确但不起作用的例子(这个例子显示没有填充多边形,只是轮廓):

<?xml version="1.0" encoding="UTF-8"?>
<kml>
  <Placemark>
    <name>Filled Polygon Example</name>
    <visibility>1</visibility>
    <Style>
      <LineStyle>
        <color>FF00FFFF</color>
        <width>1</width>
      </LineStyle>
      <PolyStyle>
        <fill>1</fill>
        <outline>1</outline>
        <color>FF0000FF</color>
      </PolyStyle>
    </Style>
    <Polygon>
      <extrude>1</extrude>
      <altitudeMode>clampToGround</altitudeMode>
      <tessellate>1</tessellate>
      <outerBoundaryIs>
        <LinearRing>
          <coordinates>
            13.213,52.793,0
            13.202,52.803,0
            13.218,52.829,0
            13.226,52.807,0
            13.213,52.793,0
          </coordinates>
        </LinearRing>
      </outerBoundaryIs>
    </Polygon>
  </Placemark>
</kml>

如果用e替换clampToGround。 G。 relativeToGround,你可以得到多边形的填充,但它不是跟随表面而是通过它切平。

我在Ubuntu 16.04上使用Google Earth版本7.1.8。

奇怪的是,我发现了一些(相当古老的)论坛帖子,表明这个工作一次(2006年左右),遗憾的是没有一个完整的例子。这是一个被删除的功能吗?

如果有人能提供一个KML示例,我会很高兴在Google地球的地球表面显示填充的多边形。

1 个答案:

答案 0 :(得分:0)

正如@ jasonm1在评论中指出的那样,Windows版本中不存在该问题。我试过切换图形选项,但没有任何帮助。然后我在模拟器(Wine)中尝试了Windows版本。上面的代码和我的真实代码没有问题。使用clampToGround覆盖填充多边形也按预期工作。一般来说,Google地球似乎得到了Wine的很好支持,所以现在这解决了我的问题。

在Linux上拥有一个不错的原生Google地球会更好。