我想在我的点上使用挤出/高度 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中的一个位置设置AltitudeMode或挤出并在所有几何形状上共享它,而是需要在每个几何标签中应用它(点,Linestring(,多边形等(。
如果您在支持它的文本编辑器中手工编辑的kml文件,则是一种相对较快的方法,就是使用查找和替换所有工具。例如,您可以使用:
查找:<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 Earth会忽略大多数此类问题,并且仍然显示KML文件,但是最好按照模式中的标签顺序遵循异常错误。您可以在KML参考中找到正确的订单,例如:
placemark:https://developers.google.com/kml/documentation/kmlreference#placemark
和点:https://developers.google.com/kml/documentation/kmlreference#point
属性extrude
和altitudeMode
仅在给定的几何形状的上下文中定义,kml dos not 提供了可以在全球定义并继承的全局设置。<<<<<<<<<<<<<<<<<<<<<<<<<<<<<</p>
使kml文件大小较小的一个选项是将kml文件添加到kmz文件中,以便将文件压缩。
kml具有继承和重用以消除冗余元素的概念:
1。共享样式
kml具有共享样式的概念,可以定义一次并在muiltiple placemark中重复使用。样式是全局的,它可以通过其" ID"在kml文件中的任何地方引用。
2。继承
为了方便构建KML特征层次结构,以下四个元素的值均由特征层次结构的所有PlaceMark,文件夹和文档成员继承。有关更多详细信息,请参见KML 2.2标准(第9.6.2节(。
- 原子:作者
- 原子:链接
- kml:区域
- kml:Abstract Time -PrimitiveGroup(例如,时间板或时间戳(
例如,如果文档或文件夹具有区域元素,则该区域适用于所有儿童文档,文件夹和placemarks,除非孩子明确定义其自己的区域。