【问题标题】:Need a Java compatible GIS library/data需要与 Java 兼容的 GIS 库/数据
【发布时间】:2010-09-20 15:54:33
【问题描述】:

我正在构建一个 web 应用程序,它需要提供一些覆盖在某些地图上的实时跟踪信息。我的要求很简单:

  • 我需要获取一系列纬度/经度坐标,并在这些位置用少量相关文本信息覆盖简单标记(即,标记处只是一个标签和/或工具提示)
  • 允许用户缩放/平移
  • 使用开放客户端技术(例如,AJAX,而不是 flash/active-x)
  • 允许他们配置自动刷新间隔的客户端控件会很好(但不是必需的)
  • 可部署在像 Tomcat 这样的标准 servlet 容器中
  • 可部署在专用网络中(即,无法访问 Internet 上的 Web 服务来获取数据)
  • 提供基本地图数据(我自己没有)
  • 商业或开源都可以

This question 建议使用GeoServer + OpenLayers,但需要开源解决方案(我不需要)。随便看看这些站点似乎需要付出合理的努力才能做到这一点,而且我不清楚 GeoServer 是否真的带有地图数据。这是关键,我没有自己的地图数据。我想要一个提供基本地图数据的库。我不需要详细的街道信息,只需要基本的地理、政治边界和主要城市就足够了。

我发现 Dundas Maps 看起来可以很好地满足我的需求,但是它适用于 ASP.NET,所以它不是一个选项。

【问题讨论】:

标签: java web-applications gis


【解决方案1】:

Geoserver 不附带地图数据,但没有地图服务器。根据您需要数据的世界地区,您可以检查例如Openstreetmap、自然地球数据和地方当局。您必须从您自己的服务器提供数据(= 背景地图)以满足您的“通过可部署在专用网络中”的要求。

使用 OpenLayers 前端设置 Geoserver 非常简单。标记和自定义标记很简单(Geoserver 使用标准 SLD)。 Geoserver 默认提供的“预览”页面是开发网站的良好基础,Tomcat 是 Geoserver afaik 的推荐容器。

【讨论】:

  • 我还没有接触过 Natural Earth Data,它看起来很不错,应该可以满足我的需求。我刚刚意识到 Geoserver 是 GPL,所以我将无法使用它。
  • 为什么,你打算破解它?
  • 不,但我会将它作为更大系统的一部分部署给客户。在 GPL 下,这意味着我必须在 GPL 下发布我的系统的源代码,这与我们的业务合同相冲突。基本上,这是我无法控制的公司决策。
【解决方案2】:

我从事过一个内部项目,该项目提供了几乎所有项目符号中的功能,但我们使用 GeoExt 作为 UI 和 geoserver 作为我们的服务器。 GeoExt 使用 Ext 和 OpenLayers 提供了非常丰富的 UI。我们的一些数据也来自 Open street Maps。

另一个选择是 Mapguide,一个开源 GIS 平台。

【讨论】:

    【解决方案3】:

    在不确切知道您在服务器端做什么的情况下,我认为您可能会发现 GeoServer 可用。我最近通读了 GeoServer 的许可,我的理解是,您可以将其用作未发布软件的服务,而不会出现软件预期的问题。如果您更改 GeoServer 代码并重新分发,您将不​​得不贡献您的更改。

    您所描述的案例中使用的 GeoServer 与 ExtJS 之类的场景不同,后者是应用程序的一部分。再次查看许可并寻找解释解释的场景,让您放心。我工作的公司大量使用开源 GIS 软件,这就是我们对它的解释。顺便说一句,我与其中一位贡献者一起工作。

    【讨论】:

      【解决方案4】:

      +1 用于 OpenLayers 和 GeoServer。还有其他可行的开源选项。

      如果您愿意spend money,请至少考虑像ArcGIS Server 这样的商业GIS 解决方案。他们非常成功,这不仅仅是由于营销实力。交易是你付钱给他们sometimes serious money,但你可以节省开发人员的时间——当然是also money

      【讨论】:

        【解决方案5】:

        您应该看看 Geomajas (http://geomajas.org/)。这是一个全 Java 的解决方案,并集成了前端 (GWT) 和后端(使用 Spring、Geotools、JTS 等)。它是开源的 (AGPL),但也提供其他许可证(来自 Geosparc)。

        我认为它可以满足您的所有需求(尽管对于地图数据,您确实需要 OpenStreetMap、Natural Earth 或类似的东西)。

        我知道有些人的工作与您提到的类似。甚至在 foss4g 上讨论了使用 Geomajas 显示足球比赛(演示应该在线,但 foss4g 网站目前似乎已关闭)。

        【讨论】:

          【解决方案6】:

          试试http://www.opengts.com/ 一个基于 Java 构建的免费 G​​PS 跟踪开源项目

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-03-18
            • 2012-07-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-12-15
            • 1970-01-01
            相关资源
            最近更新 更多