【发布时间】:2010-11-24 01:06:20
【问题描述】:
我完全看到了 JSON 的好处,将一个轻量级的数据数组放入我的 Google 地图中(并通过模板显示点列表)。我听说过很多关于 KML 的讨论。
将点提取到 Google 地图中的首选方式是 JSON || KML?我主要关心的是性能,还有可能改进地图的功能的广度。
【问题讨论】:
标签: json google-maps kml
我完全看到了 JSON 的好处,将一个轻量级的数据数组放入我的 Google 地图中(并通过模板显示点列表)。我听说过很多关于 KML 的讨论。
将点提取到 Google 地图中的首选方式是 JSON || KML?我主要关心的是性能,还有可能改进地图的功能的广度。
【问题讨论】:
标签: json google-maps kml
我个人使用 json 是因为 kml 生成的功能不如您通过解析 json 创建的功能灵活。例如,您不能将悬停事件从 kml 添加到多边形。
【讨论】:
作为 XML,KML 与 JSON 相比是非常重量级的,并且不仅会在网络传输方面受到性能损失,而且在解析时间方面也会受到影响。当然,这就是 JSON 的缺点,您不仅受限于潜在的表达能力(取决于 Google 地图组件可以通过 JSON 还是 KML 使用的内容),而且受限于哪些客户端可以使用您的数据。如果您以 KML 形式提供数据,则读取 KML 的任何内容都可以使用您的数据,例如 Google 地球。它就像地理数据的 RSS,如果您想要或需要它。
【讨论】:
我想为 KML 提供一个案例,特别是在 Google 地图的背景下:
【讨论】:
您可以在 KMZ、KML 和 GeoJSON 之间进行转换:
KMZ 只是 KML 文件的 ZIP 存档。所以至少 KMZ -> KML 很简单。
# GeoJSON -> KML
$ ogr2ogr -f 'KML' -a_srs EPSG:4326 output.kml input.geojson
# KML -> GeoJSON
$ ogr2ogr -preserve_fid -f GeoJSON -a_srs EPSG:4326 output.geojson input.kml
还有
# KML -> GeoJSON
$ pip3 install kml2geojson --user
$ k2g input.kml output_directory
如果上传速度是一个问题,我会选择压缩文件。我的猜测:对于小数据,GeoJSON 会更小,如果你的功能变得更复杂,KMZ 会更小。但我很乐意看到一些基准/数字/示例。
【讨论】: