我在一段时间内定期使用仪器输出来生成数百个项目的<gx:track>
信息。当我生成KML时,所有项目都具有完全相同的<when>
...值数组,并且所有值都是简单且可预测的-但因为我需要<when>
...在每个Track上,我的文件最终都是数十GB,这太大了,无法渲染,并且在回放数据时也无法通过Internet进行传输-即使我要切换到流式传输数据的方法。>
根据文档,<when>
...值的数量必须完全等于坐标的数量。
https://developers.google.com/kml/documentation/kmlreference#gxtrack
我当然愿意接受想法,但是我现在所拥有的是:
Time<X>
对象,该对象允许我将<when>
指定为开始时间,停止时间和间隔<gx:track>
<WhenCollection
starttime="2019-01-01T00:00:00.000Z"
stoptime="2019-01-01T12:00:00.000Z"
interval_ms="1000" />
<gx:coord>...</gx:coord>
...
</gx:track>
OR
<when>
,然后在所有<gx:track>
中引用它<gx:WhenCollection id="masterTimeline">
<when>...</when>
...
</gx:WhenCollection>
...
<gx:track>
<when ref="#masterTimeline" />
<gx:coord>A...</gx:coord>
...
</gx:track>
<gx:track>
<when ref="#masterTimeline" />
<gx:coord>B...</gx:coord>
...
</gx:track>
OR
<when>
,然后在每次需要时将其输入到KML流中//save the <when>
String w = input.when;
//loop through items and build each track on the client side
while(...) {
String track = generateTrack(input.next(), w);
output.write(track);
}
通过重用<when>
...值或以其他方式压缩它们(通过ZIP或间隔定义),我可以一口气将文件大小/传输数据大致减半。
感谢您的见解和专业知识。