代码之家  ›  专栏  ›  技术社区  ›  Chaddeus

哪个数据源更适合Google地图、KML或JSON?

  •  10
  • Chaddeus  · 技术社区  · 14 年前

    我完全看到了JSON的好处,把一个轻量级的数据数组放到我的Google地图中(以及显示点列表的模板)。我听过很多关于国民党的讨论。

    哪种方法更适合将点拉入Google地图JSON | | KML?我主要关心的是性能,但也包括可能改进地图的功能范围。

    5 回复  |  直到 14 年前
        1
  •  10
  •   Martin Thoma    6 年前

    我个人使用JSON,因为KML生成的特性比解析JSON创建的功能更不灵活。例如,不能从kml向多边形添加悬停事件。

        2
  •  7
  •   Wyatt Anderson    14 年前

    KML是XML,是 非常 与JSON相比,如果您只是加载更简单的数据,那么不仅在网络传输方面,而且在解析时间方面都会受到性能损失。当然,JSON的缺点是,您不仅在潜在的表达能力上受到限制(取决于Google Maps组件通过JSON和KML可以使用什么),而且在哪些客户机可以使用您的数据上也受到限制。如果您以KML格式提供数据,任何读取KML的内容都可以使用您的数据,比如Google Earth。这就像地理数据的RSS,如果你想或者需要的话。

        3
  •  7
  •   Corey Farwell    14 年前

    在过去的几个月里我做了很多工作 OpenLayers 非常享受。这个库是开源的,包含了大量现成的格式,包括 GeoJSON KML . Here's 一个演示Google地图集成的例子。 Here's 其余的例子。组合OpenLayers和 ExtJS 结果是 GeoExt ( examples 在这里)。

        4
  •  3
  •   heltonbiker    8 年前

    我想为KML做一个案例,特别是在谷歌地图的背景下:

    1. KML是一个 official standard 策展人 OGC ;
    2. 谷歌本身 创建 首先是KML,并保持 extensive documentation 关于它。它甚至有一个 library 对于KML;
    3. Google maps API对 KML Layers (虽然它也有很好的 support for GeoJSON );
    4. 许多其他Google地图应用程序(Google Earth、Google My Maps、Google Maps Routing)以本地方式导出KML,或者提供下载/将数据保存为KML。据我所知,这种导入/导出功能至少到2016年还没有为GeoJSON开发。
        5
  •  0
  •   Martin Thoma    6 年前

    您可以在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就要小得多。但我很高兴看到一些基准/数字/例子。