# SystemOfTrace
一个轨迹相似度分析系统-计算轨迹或图形的形状相似度
## 开发及测试环境:
GIS:百度地图
主开发环境:MyEclipse2015
JDK配置:JDK1.8
数据库:MySQLServer 5.0
服务器:apache-tomcat-8.0.32
测试浏览器:FireFox 47.0
# 核心算法的具体实现:
分析:在本系统中,由于轨迹点的绝对位置是要参与比较的,因此,针对针对每条轨迹的归一化是不需要的。
步骤:
1.首先针对两个点,计算其转化距离,这里用空间位置上的欧几里得距离来代表,而对于带有时间的轨迹点求转化距离还需要带有时间跨度的计算,最后设置欧几里得距离和时间跨度的权值来获得两个点的转化距离
![步骤1](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%872.png)
2.对于两条轨迹的比较,这里采用LCSS算法来求得两条轨迹的编辑距离,其中两条轨迹的长度是可以不同的,即所包含的轨迹点是不需要相同,而其中元素的转化惩罚值即为轨迹点的转化距离
![步骤2](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%873.png)
3.最后,对于获得的两条轨迹的编辑距离,这里采用指数函数的方法,将最终的相似度作为编辑距离的底小于1的指数函数,满足当编辑距离为1时,相似度为1,即100%,而当编辑距离增大时,相似度减小,且减小的趋势越来越不明显,并且最终趋近于0,恰好符合相似度求解的要求。
![步骤3](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%874.png)
# 数据库表设计:
数据表总体分为两组,存放轨迹点数据的数据点表和存放各轨迹之间相似度的相似度表而每组又分为带时间和不带时间的数据表(下面均以带时间为例介绍):
![数据表](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%878.png)
点表:lon,lat分别表示点的经纬度点,time代表时间,sort_id表示每个点的主键,而id代表该店所属于的轨迹的id
![点表](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%879.png)
相似度表:id1和id2分别代表比较的两条轨迹,且两者组成组合主键,dist代表两条轨迹的编辑距离,之后可通过公式获得对应的相似度
![相似度表](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%8710.png)
# 界面设计:
界面模块:
1.标题栏:
包含标题按钮-“轨迹相似度分析系统”和隐藏按钮
2.菜单栏:
包含三个一级菜单-计算,查询,自定义轨迹和一个上传文件按钮
3.地图显示界面:
该主界面主要用于轨迹路径的显示和自定义轨迹的绘制
![主界面](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%871.png)
### 功能实现-计算:
功能概述: 给定任意两条同类型(带时间或不带时间)的轨迹,计算出两者之间的相似度
功能实现效果:点击按钮后跳转至显示网页得到选定两条轨迹的相似度
![计算](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%875.png)
### 功能实现-查询:
功能概述: 对于给定的一个对象轨迹,查找与其相似的所有轨迹,按照相似度从高到低进行排序。
功能实现效果:点击按钮后跳转至显示网页得到相似轨迹的列表,通过链接可以在地图上显示该相似轨迹
![查询](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%877.png)
### 功能实现-自定义绘制轨迹:
该功能允许通过鼠标点击直接在地图界面上创建不带时间的轨迹路径,并且自动将轨迹保存于数据库中,之后可以将自定义绘制的轨迹以数据库中已有的轨迹进行相似度的计算,并且查询出数据库中与之较为相似的轨迹,按照相似度从高到底排列
![自定义](https://raw.githubusercontent.com/qzq2514/ImageForGithubMakdown/master/SystemOfTrace/%E5%9B%BE%E7%89%876.png)
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java 实现的轨迹相似度分析系统-计算轨迹或图形的形状相似度
共95个文件
jar:16个
class:15个
java:15个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 178 浏览量
2024-05-16
18:21:15
上传
评论 1
收藏 4.42MB ZIP 举报
温馨提示
【作品名称】:基于Java 实现的轨迹相似度分析系统-计算轨迹或图形的形状相似度 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:轨迹相似度分析系统-计算轨迹或图形的形状相似度 开发及测试环境: GIS:百度地图 主开发环境:MyEclipse2015 JDK配置:JDK1.8 数据库:MySQLServer 5.0 服务器:apache-tomcat-8.0.32 测试浏览器:FireFox 47.0 核心算法的具体实现: 分析:在本系统中,由于轨迹点的绝对位置是要参与比较的,因此,针对针对每条轨迹的归一化是不需要的。 步骤: 1.首先针对两个点,计算其转化距离,这里用空间位置上的欧几里得距离来代表,而对于带有时间的轨迹点求转化距离还需要带有时间跨度的计算,最后设置欧几里得距离和时间跨度的权值来获得两个点的转化距离 2.对于两条轨迹的比较,这里采用LCSS算法来求得两条轨迹的编辑距离,其中两条轨迹的长度是可以不同的,即所包含的轨迹点是不需要相同,而其中元素的转化惩罚值即为轨迹点的转化距离
资源推荐
资源详情
资源评论
收起资源包目录
SystemOfTrace-master.zip (95个子文件)
SystemOfTrace-master
.tern-project 37B
.DS_Store 6KB
.classpath 1KB
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 357B
com.genuitec.eclipse.j2eedt.ui.prefs 1007B
.jsdtscope 510B
org.eclipse.wst.common.component 543B
org.eclipse.wst.common.project.facet.core.xml 390B
org.eclipse.wst.jsdt.ui.superType.container 49B
src
.DS_Store 6KB
config.properties 96B
com
APES
Utils
DBUtils.java 10KB
JDBCUtils.java 2KB
IOUtils.java 788B
Algorithm
Algorithm.java 3KB
Model
Point.java 583B
Trace.java 563B
QuerySimilarity.java 529B
UI
initServlet.java 2KB
initMyDraw.java 1KB
MYQueryTraceServlet.java 2KB
CalculateSimilarityServlet.java 2KB
fileuploadServlet.java 3KB
MYCalculateSimilarityServlet.java 2KB
QueryTraceServlet.java 2KB
DrawTraceServlet.java 1KB
WebRoot
WEB-INF
classes
config.properties 96B
com
APES
Utils
JDBCUtils.class 2KB
IOUtils.class 1KB
DBUtils.class 11KB
Algorithm
Algorithm.class 4KB
Model
Point.class 1KB
Trace.class 1KB
QuerySimilarity.class 840B
UI
initServlet.class 2KB
fileuploadServlet.class 4KB
QueryTraceServlet.class 4KB
MYQueryTraceServlet.class 4KB
DrawTraceServlet.class 2KB
initMyDraw.class 1KB
CalculateSimilarityServlet.class 3KB
MYCalculateSimilarityServlet.class 3KB
lib
c3p0-0.9.1.2.jar 596KB
ognl-2.6.11.jar 164KB
commons-io-1.3.2.jar 86KB
commons-logging-1.1.jar 52KB
commons-lang-2.5.jar 273KB
mysql-connector-java-5.0.8-bin.jar 528KB
spring-test-2.5.6.jar 177KB
commons-beanutils-1.8.0.jar 226KB
javacsv.jar 13KB
json-lib-2.1-jdk15.jar 293KB
junit-3.8.1.jar 118KB
commons-collections-3.1.jar 546KB
gson-2.2.4.jar 186KB
ezmorph-1.0.3.jar 76KB
commons-fileupload-1.2.1.jar 56KB
commons-io-1.4.jar 106KB
web.xml 3KB
Success.jsp 3KB
front
index.jsp 8KB
assets
font-awesome
fonts
fontawesome-webfontd41d.eot 37KB
fontawesome-webfontba72.ttf 79KB
fontawesome-webfontba72.woff 43KB
fontawesome-webfontba72.eot 37KB
fontawesome-webfontba72.svg 197KB
js
Lightweight-Chart
cssCharts.css 10KB
README.md 1KB
bootstrap.min.js 35KB
jquery.metisMenu.js 1KB
jquery-1.10.2.js 276KB
custom-scripts.js 6KB
css
font-awesome.css 21KB
bootstrap.css 115KB
bootstrap-theme.min.css 19KB
custom-styles.css 12KB
fonts
glyphicons-halflings-regular.svg 61KB
glyphicons-halflings-regular.ttf 40KB
glyphicons-halflings-regular.woff 23KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regulard41d.eot 20KB
mapJS
drawTraceWithoutTime.js 859B
createMap.js 634B
drawTraceWithTime.js 1KB
myDraw.js 2KB
images
back.jpg 312KB
6179.jpg 75KB
queryListShow.jsp 4KB
images
back.jpg 312KB
6179.jpg 75KB
META-INF
MANIFEST.MF 36B
Failure.jsp 2KB
.project 1KB
README.md 4KB
共 95 条
- 1
资源评论
- zhangxiangjunn2024-09-02资源使用价值高,内容详实,给了我很多新想法,感谢大佬分享~
- thjdrtj2024-06-07非常有用的资源,可以直接使用,对我很有用,果断支持!
MarcoPage
- 粉丝: 4247
- 资源: 8839
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功