java:学期projet总结,大图可视化

今天下午学期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相关技术,主要有:

  1. 读csv文件,写csv文件
  2. 经纬度转换成屏幕坐标
  3. 软件外观设计,主要是java swing的知识
  4. 保存jpg,pdf文件
  5. 鼠标响应函数
  6. 如何判断一个点是不是在一条线上,判断一个点或一条线是不是在一个矩形区域内
  7. 地图放大,缩小功能
  8. java的屏幕截取功能

    这些功能是如何一一实现的,我会再写文章详细记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值