2011-04-04 52 views
3

作为我的第四年软件工程学位的一部分,我正在做一个项目,在该项目中,我正在给几个路径查找算法(针对多个代理)提供可视化。 我的项目的第一部分是构建一个可调整大小的网格环境并实现2-3种不同的路径查找算法。将地图集成到Java应用程序

第二部分涉及地理地图。我希望能够向用户显示真实的地理地图,例如道路地图,并将算法的道路数据作为输入,以便算法能够处理这些数据(我相信它被称为矢量地图中的图层)以及产生一条路径作为输入。 因此,最终我将能够根据计算出的路径在地图上显示代理的移动。

我们实现的算法在状态和数据中都可以使用,所以我最大的问题是如何显示地图文件作为应用程序的一部分以及如何获取我的算法的输入数据。

一开始我想到了GoogleMaps API之类的东西,但我不确定它是什么,因为Google地图是针对网络的,我不确定它们是否允许访问道路图层。

所以我认为我需要的是某种开源GIS,我可以很容易地将其集成到一个Java应用程序中,并且我还需要示例数据,这是背景图像(我认为是栅格地图)和道路图层将被用作我算法的输入(例如A *)。

我从来没有这样的系统工作之前,所以这将真正帮助我,如果有人能够给我一些方向,并建议我一个很好的GIS库,我可以在我的项目中使用(它是开源的)

+0

GLG地图服务器工具包(Java支持,但它不是免费的)http://www.genlogic.com/map_server.html。为了补充你的图形路径寻找算法,你可以使用JUNG 2.0 Framework。在将数据转换为实际地图之前,此框架可用于GUI和非GUI模式的数据处理输出。 http://jung.sourceforge.net/ – eee 2011-04-05 02:43:37

回答

4

退房NASA世界风,它类似于谷歌地球在很多方面,与Java API

http://worldwind.arc.nasa.gov/java/

+0

是免费的吗?它支持哪些类型的栅格和矢量地图文件? – 2011-04-04 15:46:24

+0

它是免费的/开源的。您必须查看文档以确定支持哪种格式 – JohnnyO 2011-04-05 14:42:36

0

可以使用Google Static Maps API显示在地图为图像。它要求您执行HTTP请求(使用其他参数),并返回可以显示的图像。

或者,您可以使用OpenJUMP(它完全用Java编写)。

+0

我希望通过从栅格和矢量地图文件读取来离线工作。 – 2011-04-04 15:45:03

2

要实现此目的,您可以访问OpenStreetMap,您可以将一些“原始”数据下载为XML。

+0

我发现免费矢量地图,包括整个世界的路线图。矢量地图格式为.shp哪个库可以支持这种格式? – 2011-04-04 15:45:54

+0

Wikipedia指向一个php lib:http://en.wikipedia.org/wiki/Shapefile这里是Java中的一些东西http://openmap.bbn.com/doc/api/com/bbn/openmap/layer/shape /ShapeFile.html ... – PeterMmm 2011-04-04 17:14:19

+0

...也许这也是:http://www.java2s。COM /开源/ Java的文件/ GIS/openjump /组织/ geotools/shape文件/ Shapefile.java.htm – PeterMmm 2011-04-04 17:17:41

0

OpenMap是一个开源的映射项目,支持用Java编写的各种映射格式。

相关问题