我正在工作,我的最后一年的计算项目,需要一些建议/帮助,因为我不是最自信的编码器。
该项目将创建一个软件,该软件使用Dijkstra算法的实现来寻找机场之间的最短路径。该软件将允许用户在欧洲空间内的选定国家内输入一个开始机场和一个目的地机场。然后,该软件将绘制一个交互式地图上的最短路径,从一个路径点到目的地机场,此外,该路线将以文本形式打印出来,所有相关的空中导航信息。此外,不能输入任何飞行区域,这样就可以在禁飞区周围绘制路径。
我正在考虑用java来做这件事,但是我不知道该如何去做--例如,如何像google地图一样得到地图,然后如何将机场和航路点作为节点添加到图中。
发布于 2016-11-22 01:23:13
正如您提到的Google,我建议将其作为一个使用HTML/CSS/JavaScript的网站。所有你需要把这类东西拉在一起的东西都已经存在了,而且都是相对直接的。
就您需要采取的步骤而言,大致如下:
1.获取所需的机场信息列表()
查询示例:"JSON机场信息“
你至少需要他们的纬度,经度和机场代码。快速搜索找到了这个漂亮的项目。过滤掉你不想要的机场。将结果保存为JSON,或者直接保存使用一个已经是JSON的。
通过执行ajax请求将这些信息添加到您的网页中--如果您是JavaScript新手,那么大多数人都是为此请使用jQuery。
2.确定要使用的地图
你可以使用Google,但是还有很多其他的很好的选择,比如OpenLayers或者任何基于它的东西,比如MapBox。我将参考OpenLayers,因为它既是免费的,也是一个非常容易开始的项目。将其嵌入到您的站点上,然后将其嵌入了解它的API。这些API很容易理解,它们提供了很多关于如何显示直线和标记的例子(对于实际的机场)。
3.显示您的机场
使用映射的API和JSON数据,将标记放在地图上,无论您想要显示它。这是也是航班的例子。这同样适用于您的禁飞区;这些映射API允许您使用也显示区域。
4.执行Dijkstra路由
用于JavaScript的图库的范围很广。如果你不能使用一个库,你至少可以使用他们的灵感。将机场信息与适合您执行所需搜索的图形库一起使用。找到地图API也可以实现正确的大圆距离。,避免了自己实现它的需要。使用距离作为你的dijkstra重量。
5.添加对禁飞区的支持
问题的这一部分有点模糊,因为这里有很多选择,例如禁飞区有不同的高度和车辆速度会影响路线的规划。例如,这取决于车辆是小型无人机还是商用飞机。一个简单的方法就是移除任何与你的禁飞区相交的路线;一个快速的搜索会让这个答案获得这个部分的帮助。或者,研究如何为你的目标车辆规划路线,并模仿这一点。
https://stackoverflow.com/questions/40732022
复制相似问题