-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.cpp
126 lines (105 loc) · 3.69 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#include <iostream>
#include "distance.h"
#include "utils.h"
#include "experiment.h"
using namespace std;
int main() {
// 数据处理
// file2paths(R"(E:\project\work\Xian_data\gps_20161001)", R"(E:\project\work\Xian_data\trajectory\tra_20161001)", 666);
// 生成训练集
// auto paths = readfile(datasource);
// vector<int> querys;
// for (int i = 0; i < 1; ++i) {
// for (int j = 0; j < 10; ++j) {
// querys.push_back(i * 10 + j);
// }
// cout << i << endl;
// findMultiMostSimilar(paths, querys, "efficientAlgorithm", filepath, 1);
// findMultiMostSimilar(paths, querys, "pss", filepath, 1);
// findMultiMostSimilar(paths, querys, "pos", filepath, 1);
// querys.clear();
// }
// auto paths = readfile(R"(E:\project\work\xian_data\trajectory\tra_20161001)");
// path p1 = paths[8];
// int i = 0;
//// path p2 = paths[8];
// for (auto & p2 : paths) {
// if (p2.size() < 10) continue;
// cout << i++ << " " << p1.size() << " " << p2.size() << endl;
// showResult("efficientAlgorithm", p1, p2);
// showResult("exactS", p1, p2);
//// showResult("pos", p1, p2);
//// showResult("pss", p1, p2);
// }
// char targetString[1024];
// vector<string> datas{"xian"};
// for (const auto &item : datas) {
// dataType = item;
// cout << item << endl;
// snprintf(targetString, sizeof targetString, datasource, item.c_str());
// string tmp(targetString);
// dataLengthFilter(targetString, 200, 300, 2000);
// dataLengthFilter(targetString, 300, 400, 2000);
// dataLengthFilter(targetString, 400, 500, 2000);
// dataLengthFilter(targetString, 500, 600, 2000);
// dataLengthFilter(targetString, 600, 700, 2000);
// cout << endl;
// cout << endl;
// }
// varyLength(4, 8, "porto");
// varyLength(8, 12, "porto");
// varyLength(12, 16, "porto");
// varyLength(16, 20, "porto");
// varyLength(20, 40, "chengdu");
// varyLength(40, 60, "chengdu");
// varyLength(60, 80, "chengdu");
// varyLength(80, 100, "chengdu");
// varyLength(100, 120, "chengdu");
// varyLength(80, 100, "xian");
// varyLength(100, 120, "xian");
// varyLength(120, 140, "xian");
// varyLength(140, 160, "xian");
// varyLength(160, 180, "xian");
// varyQuerySize(20);
// varyQuerySize(40);
// varyQuerySize(60);
// varyQuerySize(80);
// varyQuerySize(100);
// varyQuerySize(120);
// varyQuerySize(140);
// varyQuerySize(160);
// varyQuerySize(180);
// varyQuerySize(200);
// varyDataSize(20000);
// varyDataSize(30000);
// varyDataSize(40000);
// varyDataSize(50000);
// varyDataSize(60000);
// varyDataSize(70000);
// varyDataLength(200, 300);
// varyDataLength(300, 400);
// varyDataLength(400, 500);
// varyDataLength(500, 600);
// varyDataLength(600, 700);
// varyGridSize();
// varyKeyNum();
// varyRate();
// auto paths = readfile(R"(E:\project\work\xian_data\trajectory\tra_20161001)");
// vector<int> querys{649};
// findMultiMostSimilar(paths, querys, "efficientAlgorithm", filepath, 1);
// findMostSimilar(paths, 649, "efficientAlgorithm", filepath, 2);
//
string s1 = "8945128451248657";
string s2 = "94816278876894512845124865745647628965130";
auto p1 = str2path(s1);
auto p2 = str2path(s2);
// showResult("efficientAlgorithm", p1, p2);
showResult("exactS", p1, p2);
showResult("efficientAlgorithm", p1, p2);
// string s1 = "bbaacbabc";
// string s2 = "bacaabacc";
// auto p1 = str2path(s1);
// auto p2 = str2path(s2);
// cout << dtwDistance(p1, p2, 0, p2.size());
return 0;
}