kml - 我可以设置高度模式或全局拉伸(仅一次)吗?
问题描述
我想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>
解决方案
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
推荐阅读
- visual-studio - 使用 Visual Studio 在 azure 函数中捆绑命令行工具
- reactjs - 点击时更新输入状态,来自表格列表
- javascript - 无法从多个 html 输入字段中添加或删除图像
- python - Python sqlalchemy“并非所有参数都在字节格式化期间转换”
- swift - 使用togheter,Swift的单击和双击手势识别器
- spring - 默认值对应于杰克逊中的空键
- android - 未调用 ViewPager2 OnApplyWindowInsetsListener
- c++ - 如何解决此问题以在向量中排序列表
- javascript - 谷歌音译建议未显示
- pandas - 从一个df中获取列的子集并从另一个粘贴到一行