将 23mb kml 文件拆分为 3 个偶数部分

Posted

技术标签:

【中文标题】将 23mb kml 文件拆分为 3 个偶数部分【英文标题】:Split 23mb kml file into 3 even pieces 【发布时间】:2013-08-25 10:00:57 【问题描述】:

我已查看此处,但尚未找到任何符合我的问题的解决方案。 我查看了我使用的函数,发现它没有任何意义,因为它没有考虑文件的大小或其他任何东西。 您能否让我知道使用什么算法或方法来拆分大型 kml 文件。或者,我想知道是否可以从后端提供一个大的 kml 文件? 在此先感谢:-)

【问题讨论】:

结束了使用记事本编辑并使用 google earth 生成 kmz,比我预期的更快更容易。但我希望看到一种程序化的方法来解决这个问题,所以请分享你通常是如何解决这个问题的 【参考方案1】:

您在评论中确定了正确的第一步,因为您应该生成 KMZ。我还寻找以下位置来保存我的 KML 文件中的字符:

    检查坐标的精度。 5 位小数可以让您获得约 1 米的精度。如果你盲目地返回更多(13 左右精确到头发的宽度),这可以显着减小尺寸。 删除空白 - 可以提供惊人的帮助,但如果您同时使用 KMZ 压缩,这里的任何收益都会丢失。 选择缩短的元素、样式和其他名称,如果经常重复这也可以节省整体大小,但也可以通过使用 KMZ 轻松缓解。

如果您需要将其拆分,只需在脚本中解析整个文档并为每个输出文件输出 x 个地标(在每个输出 KML 文件中具有相同的父节点)。我会看看这个库来解析/创建你的 KML:https://github.com/earelin/php-libkml

【讨论】:

谢谢,我不知道 libkml php 的实现 @Ego_I 没问题。大多数语言都有一个库,它们让生活变得更好。

以上是关于将 23mb kml 文件拆分为 3 个偶数部分的主要内容,如果未能解决你的问题,请参考以下文章

计算要拆分的字符串的最大偶数长度

在地图上绘制 10 万个经纬度位置

在 Google 地球中打开 KML 文件的最大大小/

如何将一个巨大的zip文件拆分成多个卷?

将文件夹压缩成相同大小的部分

将一个数组拆分为两个数组,一个为奇数数组,一个为偶数数组