作为我的第四年软件工程学位的一部分,我正在做一个项目,我正在为几个路径查找算法(针对多个代理)提供可视化。 我项目的第一部分是构建一个可调整大小的网格环境,并实现2-3种不同的路径查找算法。
第二部分涉及地理地图。我希望能够向用户显示真实的地理地图,例如道路地图,并为算法提供道路数据作为输入,以便算法将对此数据起作用(我相信它在矢量地图中称为图层)和产生一条路径作为输入。 因此,最终我将能够根据计算出的路径显示代理在地图上的移动。
我们实现的算法在它们可以使用的状态和数据中是非常通用的,所以我最大的问题是弄清楚如何将地图文件显示为应用程序的一部分以及从何处获取算法的输入数据。
一开始我想到了像GoogleMaps API这样的东西,但我不确定它是什么,因为Google地图是针对网络的,我不确定它们是否可以访问道路图层。
所以我认为我需要的是某种开源GIS,我可以轻松地集成到java应用程序中,我还需要样本数据,即背景图像(我认为是栅格图)和道路图层它将用作我的算法的输入(例如A *)。
我之前从未使用过这样的系统所以如果有人能给我一些指示并向我推荐一个我可以在我的项目中使用的好的GIS库(它必须是开源的),它真的会帮助我
答案 0 :(得分:4)
使用Java API
查看NASA Worldwind,它在很多方面类似于Google Earth答案 1 :(得分:2)
要了解这一点,您可以访问OpenStreetMap,然后您可以将一些“原始”数据下载为XML。
答案 2 :(得分:0)
您可以使用Google Static Maps API将地图显示为图片。它要求您执行HTTP请求(使用其他参数)并返回一个可以显示的图像。
或者,您可以使用OpenJUMP(完全用Java编写)。
答案 3 :(得分:0)
OpenMap是一个开源映射项目,支持用Java编写的各种映射格式。