首页 > 解决方案 > 我可以设置高度模式或全局拉伸(仅一次)吗?

问题描述

我想absolute在我的点上使用拉伸/高度。我可以按如下方式执行此操作,但随后我必须对每个点重复此操作(更大的 kml 文件)。

想知道我是否可以在全局范围内仅设置一次?作为 的一种默认值<Point>

<Placemark><Point><altitudeMode>absolute</altitudeMode><extrude>1</extrude><coordinates>9.38916000,49.83081000,8457.590000</coordinates></Point><name>1: 18:53:29.477 </name> .... </Placemark>

标签: kmlgoogle-earth

解决方案


Jason 是正确的,无法在 KML 中的一个位置设置高度模式或拉伸并在所有几何图形中共享它,而是需要在每个几何标签(点、线串、多边形等)中应用它。

如果您在支持它的文本编辑器中手动编辑 KML 文件,一种相对快速的方法是使用 Find and Replace-All 工具。例如,您可以使用:

寻找:<Point>

用。。。来代替:<Point><extrude>1</extrude><altitudeMode>absolute</altitudeMode>

如果已经设置了另一个高度模式(例如:clampToGround),那么您可以做一些更简单的事情,例如:

寻找:<altitudeMode>clampToGround</altitudeMode>

用。。。来代替:<extrude>1</extrude><altitudeMode>absolute</altitudeMode>

另外,请注意,在您的示例 KML 中,根据 KML 模式,您有多个标签顺序错误。<name>标签应该在第一个之后,<Placemark>并且<extrude>应该在之前<altitudeMode>。Google 地球将忽略此类大多数问题,仍会显示 KML 文件,但最好遵循架构中的标记顺序以避免异常错误。您可以在 KML 参考中找到正确的顺序,例如:

地标:https ://developers.google.com/kml/documentation/kmlreference#placemark

和点:https ://developers.google.com/kml/documentation/kmlreference#point


推荐阅读