今天下午学期projet答辩,从十月份拿到题目到十二月份因为课很多,考试也不断,肯本没有动它,直到答辩时间安排出来之后才开始写,大部分代码都是在圣诞加元旦这两周的假期里完成的。今天答辩结束,不管如何,写下总结吧。

projet的题目法语叫:Outil pour la visualisation de grand graphes,翻译过来姑且叫“大图可视化”吧,主要任务就是根据老师给的数据画出城市地图,然后对地图做一些基本的操作,例如:放大,缩小,选点,选线,选路径。

老师提供了三个城市的数据,巴黎,柏林和旧金山,数据分为两类,点的数据和线的数据。数据格式为.csv。点的数据由三部分组成:ID,经度,纬度;线的数据由四部分组成:起点,终点,距离,危险系数。
点数据示例(巴黎的):
“0 2.3584 48.832”
“1 2.35897 48.8529”
“2 2.36764 48.8322”
“3 2.37574 48.8533”
“4 2.22305 48.8682”
“5 2.3727 48.8346”
“6 2.38618 48.8346”
“7 2.38435 48.8143”
线的数据示例(巴黎的):
“1703 1704 143 286”
“1703 2087 110 440”
“1703 10748 105 420”
“1704 1703 143 286”
“1704 2702 147 588”
“1704 10747 102 408”
“1704 14814 5 10”
“1817 6208 126 252”
“1817 6241 106 212”

每份数据文件都有上万条数据,巴黎的noeuds.csv文件有近三万个点,arc.csv文件有六万五千条线,柏林和旧金山的数据类似。

根据数据画出来的地图如下:

巴黎:

java第三方地图插件 java 地图可视化_java

巴黎实际地图对比(取自谷歌地图):

java第三方地图插件 java 地图可视化_java第三方地图插件_02

柏林:

java第三方地图插件 java 地图可视化_java第三方地图插件_03

柏林实际地图对比(取自谷歌地图):

java第三方地图插件 java 地图可视化_可视化_04

旧金山:

java第三方地图插件 java 地图可视化_可视化_05

旧金山实际地图对比(取自谷歌地图):

java第三方地图插件 java 地图可视化_可视化_06

初略地看还是很像的,特别是巴黎地图上那条蜿蜒的塞纳河。

菜单栏和工具栏的图标显示了这个软件的所有功能。

java第三方地图插件 java 地图可视化_可视化_07

菜单栏的文件夹图标表示打开文件和保存文件的功能。
工具栏从左到有依次是:
1. 放大地图,
2. 缩小地图,
3. 颜色修改面板:改背景色,点的颜色,线的颜色
4. size面板:改点的大小或线的粗细
5. 选点按钮
6. 选线按钮
7. 选路径按钮 :选出一条路径后可以把路径的信息保存成csv文件
8. 选矩形区域按钮:拖拽鼠标在地图上选出一块矩形区域,矩形区域内的点和线全被选中,并且可以把这块区域导出,保存成jpg或pdf文件
9. 一键还原按钮:当对地图做了一些更改,例如放大,改颜色,点击一下这个按钮可以还原到初始状态(这个功能是我自己加的)

今天下午答辩时来了一个搞地图的公司的人,我的导师是这家公司的技术顾问,这家公司主要是搞骑行路线设计的,这大概是这个技术的应用方向。