需要Java兼容的GIS库/数据

时间:2010-09-20 15:54:34

标签: java web-applications gis

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

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

This question建议GeoServer + OpenLayers,但需要一个开源解决方案(我没有)。偶然看一下这些网站似乎是一个合理的努力来实现这一目标,而且我不清楚GeoServer实际上是否带有地图数据。这是关键,我没有自己的地图数据。我想要一个提供基本地图数据的库。我不需要详细的街道信息,只需要基本的地理位置,政治边界和主要城市就足够了。

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

6 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

我在内部项目中开展了一项工作,提供了几乎所有的子弹功能,但我们使用GeoExt作为UI和geoserver作为我们的服务器。 GeoExt使用Ext和OpenLayers提供了非常丰富的UI。我们的一些数据也来自Open street Maps。

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

答案 2 :(得分:1)

如果不确切知道你在服务器端做了什么,我想你可能会发现GeoServer可用。我最近阅读了GeoServer的许可证,我的理解是你可以将它用作未发布软件的服务,而不会出现软件的意图。如果更改GeoServer代码并重新分发,则必须提交更改。

在您描述的情况下使用的GeoServer与ExtJS这样的场景不同,它是应用程序的一部分。再次查看许可,并寻找解释解释的场景,让您放心。我工作的公司使用开源GIS软件,这就是我们解释它的方式。顺便说一句,我与其中一位贡献者合作。

答案 3 :(得分:0)

+1 for OpenLayers& GeoServer的。还有其他可行的开源选项。

如果您愿意spend money,请至少考虑商业GIS解决方案,例如ArcGIS Server。它们非常成功,而且由于市场营销的影响,它不仅仅是 。这笔交易是你为他们付钱的,sometimes serious money,但你节省了开发时间 - 当然是also money

答案 4 :(得分:0)

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

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

我知道有些人已经开始研究与你提到的类似的东西了。在foss4g上甚至还有一个关于使用Geomajas展示足球比赛的演讲(演示文稿应该在线,但此时看来,foss4g网站似乎已经失效)。

答案 5 :(得分:0)

尝试使用基于Java的免费GPS跟踪的开源项目http://www.opengts.com/