【问题标题】:Save Data to Shapefile with OpenLayers使用 OpenLayers 将数据保存到 Shapefile
【发布时间】:2010-11-16 17:53:56
【问题描述】:

我正在使用 OpenLayers 创建一个 Web 应用程序。我已经实现了这样的功能,用户可以将点或多边形添加到使用 JavaScript 显示的地图中。我现在需要将此数据保存到 shapefile。有什么想法吗?

【问题讨论】:

    标签: javascript kml openlayers shapefile


    【解决方案1】:

    我知道这是一个旧线程,但是在我自己用谷歌搜索了一下是否有任何东西后,我带着同样的问题来到这里。我得出的结论是没有但可能有,所以我写了它:

    https://code.google.com/p/js2shapefile/

    这是我第一次在 Javascript 中按照这些思路做任何事情,所以我相信你会发现我的代码有各种各样的奇怪之处......但是,它适用于 ESRI Javascript API 图形和谷歌地图标记,无论如何。它也可以很容易地扩展为将 OpenLayers 向量作为输入,但我还没有这样做。

    【讨论】:

      【解决方案2】:

      您可能必须在服务器上执行此操作,除非有 shapelib 的 javascript 实现。

      实际上,您希望网络用户获取要保存的 shapefile 还是要将其保存在服务器上?

      根据您选择的服务器语言,有很多方法可以在服务器上执行此操作。在 python 中,您只需导入 ogr 库并编写它...您需要从客户端构造一个包含数据的 Web 请求...

      也许 geoscript 可以提供帮助:

      http://geoscriptblog.blogspot.com/2010/06/merging-shapefiles-with-javascript.html

      【讨论】:

      • 我一直在尝试使用 JavaScript 和 OpenLayers API。我想我也许可以使用提交功能,但我不确定具体如何。完全不熟悉 Python,因此无法使用该选项。还有其他想法吗?
      • 也许我需要转换为 KML 文件?
      • 再一次,这个 shapefile 去哪儿了?保存在 Web 服务器上,还是在 Web 客户端返回给用户?你的 [网络] 技能是什么?
      • 我认为它应该在服务器上。我的网络技能不是很好。
      • 你最好买一些!您将需要一些身份验证,以便随机用户无法在您的服务器上转储东西(除非您希望他们这样做)。而且您需要一种制作网络请求的方法(理想情况下通过表单 POST)将数据发送到服务器,然后服务器可以在某个地方创建文件。它看起来并不容易......
      【解决方案3】:

      关于这个问题here 有一个很好的概述。对于仅使用客户端 javascipt 转换为形状,您可以基于 JavaScript Shapefile to GeoJSON library 工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-27
        • 2017-07-02
        • 2022-06-27
        • 2018-12-11
        • 2016-03-19
        • 1970-01-01
        • 1970-01-01
        • 2013-02-28
        相关资源
        最近更新 更多