java:学期projet总结,大图可视化
2016-01-08 03:52
471 查看
今天下午学期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文件有六万五千条线,柏林和旧金山的数据类似。
根据数据画出来的地图如下:
巴黎:
巴黎实际地图对比(取自谷歌地图):
柏林:
柏林实际地图对比(取自谷歌地图):
旧金山:
旧金山实际地图对比(取自谷歌地图):
初略地看还是很像的,特别是巴黎地图上那条蜿蜒的塞纳河。
菜单栏和工具栏的图标显示了这个软件的所有功能。
菜单栏的文件夹图标表示打开文件和保存文件的功能。
工具栏从左到有依次是:
1. 放大地图,
2. 缩小地图,
3. 颜色修改面板:改背景色,点的颜色,线的颜色
4. size面板:改点的大小或线的粗细
5. 选点按钮
6. 选线按钮
7. 选路径按钮 :选出一条路径后可以把路径的信息保存成csv文件
8. 选矩形区域按钮:拖拽鼠标在地图上选出一块矩形区域,矩形区域内的点和线全被选中,并且可以把这块区域导出,保存成jpg或pdf文件
9. 一键还原按钮:当对地图做了一些更改,例如放大,改颜色,点击一下这个按钮可以还原到初始状态(这个功能是我自己加的)
今天下午答辩时来了一个搞地图的公司的人,我的导师是这家公司的技术顾问,这家公司主要是搞骑行路线设计的,这大概是这个技术的应用方向。
做这个projet时用到了一些java相关技术,主要有:
读csv文件,写csv文件
经纬度转换成屏幕坐标
软件外观设计,主要是java swing的知识
保存jpg,pdf文件
鼠标响应函数
如何判断一个点是不是在一条线上,判断一个点或一条线是不是在一个矩形区域内
地图放大,缩小功能
java的屏幕截取功能
这些功能是如何一一实现的,我会再写文章详细记录。
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文件有六万五千条线,柏林和旧金山的数据类似。
根据数据画出来的地图如下:
巴黎:
巴黎实际地图对比(取自谷歌地图):
柏林:
柏林实际地图对比(取自谷歌地图):
旧金山:
旧金山实际地图对比(取自谷歌地图):
初略地看还是很像的,特别是巴黎地图上那条蜿蜒的塞纳河。
菜单栏和工具栏的图标显示了这个软件的所有功能。
菜单栏的文件夹图标表示打开文件和保存文件的功能。
工具栏从左到有依次是:
1. 放大地图,
2. 缩小地图,
3. 颜色修改面板:改背景色,点的颜色,线的颜色
4. size面板:改点的大小或线的粗细
5. 选点按钮
6. 选线按钮
7. 选路径按钮 :选出一条路径后可以把路径的信息保存成csv文件
8. 选矩形区域按钮:拖拽鼠标在地图上选出一块矩形区域,矩形区域内的点和线全被选中,并且可以把这块区域导出,保存成jpg或pdf文件
9. 一键还原按钮:当对地图做了一些更改,例如放大,改颜色,点击一下这个按钮可以还原到初始状态(这个功能是我自己加的)
今天下午答辩时来了一个搞地图的公司的人,我的导师是这家公司的技术顾问,这家公司主要是搞骑行路线设计的,这大概是这个技术的应用方向。
做这个projet时用到了一些java相关技术,主要有:
读csv文件,写csv文件
经纬度转换成屏幕坐标
软件外观设计,主要是java swing的知识
保存jpg,pdf文件
鼠标响应函数
如何判断一个点是不是在一条线上,判断一个点或一条线是不是在一个矩形区域内
地图放大,缩小功能
java的屏幕截取功能
这些功能是如何一一实现的,我会再写文章详细记录。
相关文章推荐
- java web验证码实现
- 如何在MyEclipse中添加插件
- javamail 发送邮件
- mac OS X配置jdk环境变量
- eclipse 创建 maven web 项目教程
- <代码整洁之道>、<java与模式>、<head first设计模式>读书笔记集合
- IO_对象处理流_序列化反序列化_关闭流jdk1.7try-with-resourceJAVA159-160
- 异常java.lang.IllegalArgumentException: No configs match configSpec 的问题
- struts2对action指定方法进行校验(人工编码)
- spring mvc web应用程序框架的搭建
- Spring MVC--拦截器实现和用户登陆例子
- Java文件上传大文件,在windows中没有问题,在线上环境中出错解决
- Eclipse 利用Git插件 上传自己的Maven项目 总结
- Java中的泛型
- Struts入门(一)
- Spring的两种常见的注入
- Spring中的集合的注入方式
- java设计模式——单例模式
- Head First Java 阅读笔记
- java文件cmd窗口编译后,运行class文件时报找不到类的错误。