ofs | hex dump | ascii |
---|
0000 | 23 20 44 61 74 61 62 61 73 65 20 46 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 74 72 61 63 6b 73 0a | #.Database.Functions.for.tracks. |
0020 | 23 0a 23 20 24 4c 6f 67 24 0a 23 20 52 65 76 69 73 69 6f 6e 20 31 2e 31 20 20 32 30 30 35 2f 31 | #.#.$Log$.#.Revision.1.1..2005/1 |
0040 | 30 2f 31 31 20 30 38 3a 32 38 3a 33 35 20 20 74 77 65 65 74 79 0a 23 20 67 70 73 64 72 69 76 65 | 0/11.08:28:35..tweety.#.gpsdrive |
0060 | 3a 0a 23 20 2d 20 61 64 64 20 54 72 61 63 6b 73 28 4d 79 53 71 6c 29 20 64 69 73 70 6c 61 79 69 | :.#.-.add.Tracks(MySql).displayi |
0080 | 6e 67 0a 23 20 2d 20 72 65 69 6e 64 65 6e 74 20 66 69 6c 65 73 20 6d 6f 64 69 66 69 65 64 0a 23 | ng.#.-.reindent.files.modified.# |
00a0 | 20 2d 20 46 69 78 20 73 65 74 74 69 6e 67 20 6f 66 20 43 6f 6c 6f 72 20 66 6f 72 20 47 72 69 64 | .-.Fix.setting.of.Color.for.Grid |
00c0 | 0a 23 20 2d 20 70 6f 69 20 54 65 78 74 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 69 6e 20 73 69 | .#.-.poi.Text.is.different.in.si |
00e0 | 7a 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 4e 75 6d 62 65 72 20 6f 66 20 50 4f 49 73 20 73 | ze.depending.on.Number.of.POIs.s |
0100 | 68 6f 77 6e 20 6f 6e 0a 23 20 20 20 73 63 72 65 65 6e 0a 23 0a 23 20 67 65 6f 69 6e 66 6f 3a 0a | hown.on.#...screen.#.#.geoinfo:. |
0120 | 23 20 20 2d 20 67 65 74 20 50 72 6f 78 79 20 73 65 74 74 69 6e 67 73 20 66 72 6f 6d 20 45 6e 76 | #..-.get.Proxy.settings.from.Env |
0140 | 69 72 6f 6e 6d 65 6e 74 0a 23 20 20 2d 20 63 72 65 61 74 65 20 74 72 61 63 6b 73 20 54 61 62 6c | ironment.#..-.create.tracks.Tabl |
0160 | 65 20 69 6e 20 44 61 74 61 62 61 73 65 20 61 6e 64 20 66 69 6c 6c 20 69 74 0a 23 20 20 20 20 74 | e.in.Database.and.fill.it.#....t |
0180 | 68 69 73 20 73 65 70 61 72 61 74 65 73 20 53 74 72 65 65 74 20 44 61 74 61 20 66 72 6f 6d 20 54 | his.separates.Street.Data.from.T |
01a0 | 72 61 63 6b 20 44 61 74 61 0a 23 20 20 2d 20 6d 61 6b 65 20 67 65 6f 69 6e 66 6f 2e 70 6c 20 64 | rack.Data.#..-.make.geoinfo.pl.d |
01c0 | 6f 77 6e 6c 6f 61 64 20 61 6c 73 6f 20 4f 70 65 6e 67 65 6f 64 62 20 56 65 72 73 69 6f 6e 20 32 | ownload.also.Opengeodb.Version.2 |
01e0 | 0a 23 20 20 2d 20 61 64 64 20 73 6f 6d 65 20 70 6f 69 2d 74 79 70 65 73 0a 23 20 20 2d 20 53 70 | .#..-.add.some.poi-types.#..-.Sp |
0200 | 6c 69 74 20 6f 66 66 20 46 69 6c 6c 69 6e 67 20 44 42 20 77 69 74 68 20 65 78 61 6d 70 6c 65 20 | lit.off.Filling.DB.with.example. |
0220 | 44 61 74 61 0a 23 20 20 2d 20 65 78 74 72 61 63 74 20 73 6f 6d 65 20 6d 6f 72 65 20 46 75 6e 74 | Data.#..-.extract.some.more.Funt |
0240 | 69 6f 6e 61 6c 69 74 79 20 74 6f 20 50 72 6f 63 65 64 75 72 65 73 0a 23 20 20 2d 20 41 64 64 20 | ionality.to.Procedures.#..-.Add. |
0260 | 73 6f 6d 65 20 45 78 61 6d 70 6c 65 20 50 4f 49 20 66 6f 72 20 4b 69 72 63 68 68 65 69 6d 28 4d | some.Example.POI.for.Kirchheim(M |
0280 | 75 6e 69 63 68 29 20 41 72 65 61 0a 23 20 20 2d 20 41 64 6a 75 73 74 20 73 6f 6d 65 20 4f 75 74 | unich).Area.#..-.Adjust.some.Out |
02a0 | 70 75 74 20 66 6f 72 20 77 68 61 74 20 69 73 20 64 6f 6e 65 20 61 74 20 74 68 65 20 6d 6f 6d 65 | put.for.what.is.done.at.the.mome |
02c0 | 6e 74 0a 23 20 20 2d 20 41 64 64 20 6d 6f 72 65 20 64 65 6c 61 79 65 64 20 69 6e 64 65 78 20 67 | nt.#..-.Add.more.delayed.index.g |
02e0 | 65 6e 65 72 61 74 69 6f 6e 73 20 27 64 69 73 61 62 6c 65 2f 65 6e 61 62 6c 65 20 6b 65 79 27 0a | enerations.'disable/enable.key'. |
0300 | 23 20 20 2d 20 49 66 20 4c 41 4e 47 3d 2a 64 65 5f 44 45 2a 20 74 68 65 6e 20 6f 6e 6c 79 20 69 | #..-.If.LANG=*de_DE*.then.only.i |
0320 | 6d 70 65 72 74 20 65 75 72 6f 70 65 20 77 69 74 68 20 2d 2d 61 6c 6c 20 6f 70 74 69 6f 6e 0a 23 | mpert.europe.with.--all.option.# |
0340 | 20 20 2d 20 57 44 42 20 77 69 6c 6c 20 69 6d 70 6f 72 74 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e | ..-.WDB.will.import.more.than.on |
0360 | 65 20 63 6f 75 6e 74 72 79 20 69 66 20 79 6f 75 20 77 69 73 68 0a 23 20 20 2d 20 61 64 64 20 6d | e.country.if.you.wish.#..-.add.m |
0380 | 6f 72 65 20 74 68 69 6e 67 73 20 74 6f 20 62 65 20 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 2d | ore.things.to.be.done.with.the.- |
03a0 | 2d 61 6c 6c 20 6f 70 74 69 6f 6e 0a 23 0a 0a 0a 0a 70 61 63 6b 61 67 65 20 47 65 6f 3a 3a 47 70 | -all.option.#....package.Geo::Gp |
03c0 | 73 64 72 69 76 65 3a 3a 44 42 5f 74 72 61 63 6b 73 3b 0a 0a 75 73 65 20 73 74 72 69 63 74 3b 0a | sdrive::DB_tracks;..use.strict;. |
03e0 | 75 73 65 20 77 61 72 6e 69 6e 67 73 3b 0a 0a 75 73 65 20 50 4f 53 49 58 20 71 77 28 73 74 72 66 | use.warnings;..use.POSIX.qw(strf |
0400 | 74 69 6d 65 29 3b 0a 75 73 65 20 54 69 6d 65 3a 3a 4c 6f 63 61 6c 3b 0a 75 73 65 20 44 42 49 3b | time);.use.Time::Local;.use.DBI; |
0420 | 0a 75 73 65 20 44 61 74 61 3a 3a 44 75 6d 70 65 72 3b 0a 75 73 65 20 49 4f 3a 3a 46 69 6c 65 3b | .use.Data::Dumper;.use.IO::File; |
0440 | 0a 0a 75 73 65 20 47 65 6f 3a 3a 47 70 73 64 72 69 76 65 3a 3a 55 74 69 6c 73 3b 0a 75 73 65 20 | ..use.Geo::Gpsdrive::Utils;.use. |
0460 | 47 65 6f 3a 3a 47 70 73 64 72 69 76 65 3a 3a 44 42 46 75 6e 63 73 3b 0a 0a 24 7c 3d 20 31 3b 20 | Geo::Gpsdrive::DBFuncs;..$|=.1;. |
0480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 41 75 74 6f 66 | .........................#.Autof |
04a0 | 6c 75 73 68 0a 0a 42 45 47 49 4e 20 7b 0a 20 20 20 20 75 73 65 20 45 78 70 6f 72 74 65 72 20 20 | lush..BEGIN.{.....use.Exporter.. |
04c0 | 20 28 29 3b 0a 20 20 20 20 6f 75 72 20 28 24 56 45 52 53 49 4f 4e 2c 20 40 49 53 41 2c 20 40 45 | .();.....our.($VERSION,.@ISA,.@E |
04e0 | 58 50 4f 52 54 29 3b 0a 0a 20 20 20 20 23 20 73 65 74 20 74 68 65 20 76 65 72 73 69 6f 6e 20 66 | XPORT);......#.set.the.version.f |
0500 | 6f 72 20 76 65 72 73 69 6f 6e 20 63 68 65 63 6b 69 6e 67 20 66 6f 72 20 6f 6c 64 20 43 56 53 20 | or.version.checking.for.old.CVS. |
0520 | 56 65 72 73 69 6f 6e 0a 20 20 20 20 23 20 24 56 45 52 53 49 4f 4e 20 3d 20 73 70 72 69 6e 74 66 | Version.....#.$VERSION.=.sprintf |
0540 | 20 22 25 64 2e 25 30 33 64 22 2c 20 71 24 52 65 76 69 73 69 6f 6e 3a 20 31 31 39 30 20 24 20 3d | ."%d.%03d",.q$Revision:.1190.$.= |
0560 | 7e 20 2f 28 5c 64 2b 29 2f 67 3b 0a 0a 20 20 20 20 40 49 53 41 20 20 20 20 20 20 20 20 20 3d 20 | ~./(\d+)/g;......@ISA.........=. |
0580 | 71 77 28 45 78 70 6f 72 74 65 72 29 3b 0a 20 20 20 20 40 45 58 50 4f 52 54 20 3d 20 71 77 28 20 | qw(Exporter);.....@EXPORT.=.qw(. |
05a0 | 26 74 72 61 63 6b 5f 61 64 64 0a 09 09 20 20 26 74 72 61 63 6b 73 5f 61 64 64 0a 09 09 20 20 29 | &track_add.....&tracks_add.....) |
05c0 | 3b 0a 7d 0a 0a 0a 45 4e 44 20 7b 20 7d 20 0a 0a 73 75 62 20 74 72 61 63 6b 5f 61 64 64 28 24 29 | ;.}...END.{.}...sub.track_add($) |
05e0 | 3b 0a 73 75 62 20 74 72 61 63 6b 73 5f 61 64 64 28 24 29 3b 0a 0a 0a 23 23 23 23 23 23 23 23 23 | ;.sub.tracks_add($);...######### |
0600 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
0620 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
0640 | 23 23 23 23 0a 23 20 41 64 64 20 61 20 73 69 6e 67 6c 65 20 74 72 61 63 6b 20 69 6e 74 6f 20 44 | ####.#.Add.a.single.track.into.D |
0660 | 42 0a 73 75 62 20 74 72 61 63 6b 5f 61 64 64 28 24 29 7b 0a 20 20 20 20 6d 79 20 24 74 72 61 63 | B.sub.track_add($){.....my.$trac |
0680 | 6b 5f 73 65 67 6d 65 6e 74 20 3d 20 73 68 69 66 74 3b 0a 20 20 20 20 6d 79 20 24 74 72 61 63 6b | k_segment.=.shift;.....my.$track |
06a0 | 5f 73 65 67 6d 65 6e 74 34 64 62 20 3d 20 7b 7d 3b 0a 20 20 20 20 6d 79 20 40 63 6f 6c 75 6d 6e | _segment4db.=.{};.....my.@column |
06c0 | 73 20 3d 20 63 6f 6c 75 6d 6e 5f 6e 61 6d 65 73 28 22 74 72 61 63 6b 73 22 29 3b 0a 20 20 20 20 | s.=.column_names("tracks");..... |
06e0 | 6d 61 70 20 7b 20 0a 09 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 22 74 72 61 | map.{...$track_segment4db->{"tra |
0700 | 63 6b 73 2e 24 5f 22 7d 20 3d 20 0a 09 20 20 20 20 28 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e | cks.$_"}.=.......(.$track_segmen |
0720 | 74 2d 3e 7b 22 74 72 61 63 6b 73 2e 24 5f 22 7d 20 7c 7c 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 | t->{"tracks.$_"}.||.$track_segme |
0740 | 6e 74 2d 3e 7b 24 5f 7d 20 7c 7c 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 2d 3e 7b 6c 63 28 | nt->{$_}.||.$track_segment->{lc( |
0760 | 24 5f 29 7d 29 20 0a 09 7d 20 40 63 6f 6c 75 6d 6e 73 3b 0a 0a 20 20 20 20 23 20 2d 2d 2d 2d 2d | $_)})...}.@columns;......#.----- |
0780 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 53 4f 55 52 43 45 0a 20 20 20 20 23 70 72 | -----------------.SOURCE.....#pr |
07a0 | 69 6e 74 20 44 75 6d 70 65 72 28 5c 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 29 3b 0a | int.Dumper(\$track_segment4db);. |
07c0 | 20 20 20 20 23 20 54 4f 44 4f 3a 20 70 75 74 20 74 68 69 73 20 6f 75 74 20 68 65 72 65 20 66 6f | ....#.TODO:.put.this.out.here.fo |
07e0 | 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 72 65 61 73 6f 6e 0a 20 20 20 20 69 66 20 28 20 24 74 | r.performance.reason.....if.(.$t |
0800 | 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 22 73 6f 75 72 63 65 2e 6e 61 6d 65 22 7d | rack_segment4db->{"source.name"} |
0820 | 20 26 26 20 21 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 27 74 72 61 63 6b | .&&.!.$track_segment4db->{'track |
0840 | 73 2e 73 6f 75 72 63 65 5f 69 64 27 7d 29 20 7b 0a 09 6d 79 20 24 73 6f 75 72 63 65 5f 69 64 20 | s.source_id'}).{..my.$source_id. |
0860 | 3d 20 73 6f 75 72 63 65 5f 6e 61 6d 65 32 69 64 28 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 | =.source_name2id($track_segment4 |
0880 | 64 62 2d 3e 7b 22 73 6f 75 72 63 65 2e 6e 61 6d 65 22 7d 29 3b 0a 09 23 20 70 72 69 6e 74 20 22 | db->{"source.name"});..#.print." |
08a0 | 53 6f 75 72 63 65 3a 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 27 73 6f 75 | Source:.$track_segment4db->{'sou |
08c0 | 72 63 65 2e 6e 61 6d 65 27 7d 20 2d 3e 20 24 73 6f 75 72 63 65 5f 69 64 5c 6e 22 3b 0a 09 0a 09 | rce.name'}.->.$source_id\n";.... |
08e0 | 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 27 73 6f 75 72 63 65 2e 73 6f 75 72 | $track_segment4db->{'source.sour |
0900 | 63 65 5f 69 64 27 7d 20 3d 20 24 73 6f 75 72 63 65 5f 69 64 3b 0a 09 24 74 72 61 63 6b 5f 73 65 | ce_id'}.=.$source_id;..$track_se |
0920 | 67 6d 65 6e 74 34 64 62 2d 3e 7b 27 74 72 61 63 6b 73 2e 73 6f 75 72 63 65 5f 69 64 27 7d 20 20 | gment4db->{'tracks.source_id'}.. |
0940 | 3d 20 24 73 6f 75 72 63 65 5f 69 64 3b 0a 20 20 20 20 7d 0a 0a 0a 20 20 20 20 23 20 2d 2d 2d 2d | =.$source_id;.....}.......#.---- |
0960 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 41 44 44 52 45 53 53 0a 20 20 20 20 24 | ------------------.ADDRESS.....$ |
0980 | 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 27 74 72 61 63 6b 73 2e 61 64 64 72 65 | track_segment4db->{'tracks.addre |
09a0 | 73 73 5f 69 64 27 7d 20 20 20 20 20 20 7c 7c 3d 20 30 3b 0a 0a 20 20 20 20 23 20 2d 2d 2d 2d 2d | ss_id'}......||=.0;......#.----- |
09c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 54 59 50 45 0a 20 20 20 20 24 74 72 61 63 | -----------------.TYPE.....$trac |
09e0 | 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 27 74 72 61 63 6b 73 2e 74 72 61 63 6b 5f 74 79 70 | k_segment4db->{'tracks.track_typ |
0a00 | 65 5f 69 64 27 7d 20 7c 7c 3d 20 32 3b 20 23 20 4f 6c 64 20 54 72 61 63 6b 0a 0a 20 20 20 20 23 | e_id'}.||=.2;.#.Old.Track......# |
0a20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 44 41 54 45 0a 20 20 20 20 | ----------------------.DATE..... |
0a40 | 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 27 74 72 61 63 6b 73 2e 64 61 74 65 | $track_segment4db->{'tracks.date |
0a60 | 27 7d 20 7c 7c 3d 20 30 3b 0a 0a 20 20 20 20 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | '}.||=.0;......#.--------------- |
0a80 | 2d 2d 2d 2d 2d 2d 2d 20 54 52 41 43 4b 53 0a 20 20 20 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e | -------.TRACKS.....$track_segmen |
0aa0 | 74 34 64 62 2d 3e 7b 27 74 72 61 63 6b 73 2e 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 27 7d 20 20 | t4db->{'tracks.last_modified'}.. |
0ac0 | 20 7c 7c 3d 20 74 69 6d 65 28 29 3b 0a 20 20 20 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 | .||=.time();.....$track_segment4 |
0ae0 | 64 62 2d 3e 7b 27 74 72 61 63 6b 73 2e 73 63 61 6c 65 5f 6d 69 6e 27 7d 20 20 20 20 20 20 20 7c | db->{'tracks.scale_min'}.......| |
0b00 | 7c 3d 20 30 3b 0a 20 20 20 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 2d 3e 7b 27 74 | |=.0;.....$track_segment4db->{'t |
0b20 | 72 61 63 6b 73 2e 73 63 61 6c 65 5f 6d 61 78 27 7d 20 20 20 20 20 20 20 7c 7c 3d 20 39 39 39 39 | racks.scale_max'}.......||=.9999 |
0b40 | 39 39 39 39 39 39 39 39 39 39 3b 0a 20 20 20 20 69 6e 73 65 72 74 5f 68 61 73 68 28 22 74 72 61 | 9999999999;.....insert_hash("tra |
0b60 | 63 6b 73 22 2c 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 29 3b 0a 7d 0a 0a 0a 23 23 23 | cks",$track_segment4db);.}...### |
0b80 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
0ba0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
0bc0 | 23 23 23 23 23 23 23 23 23 23 0a 23 20 41 64 64 20 61 20 74 72 61 63 6b 73 20 74 6f 20 67 65 6f | ##########.#.Add.a.tracks.to.geo |
0be0 | 69 6e 66 6f 2e 74 72 61 63 6b 73 20 0a 23 20 74 68 69 73 20 69 6e 63 6c 75 64 65 73 20 73 70 6c | info.tracks..#.this.includes.spl |
0c00 | 69 74 74 69 6e 67 20 61 6e 64 20 63 61 74 65 67 6f 72 69 7a 69 6e 67 0a 23 20 0a 73 75 62 20 74 | itting.and.categorizing.#..sub.t |
0c20 | 72 61 63 6b 73 5f 61 64 64 28 24 29 7b 0a 20 20 20 20 6d 79 20 24 64 61 74 61 20 3d 20 73 68 69 | racks_add($){.....my.$data.=.shi |
0c40 | 66 74 3b 0a 0a 20 20 20 20 75 6e 6c 65 73 73 20 28 20 35 20 3c 20 40 7b 24 64 61 74 61 2d 3e 7b | ft;......unless.(.5.<.@{$data->{ |
0c60 | 73 65 67 6d 65 6e 74 73 7d 7d 20 29 7b 0a 09 70 72 69 6e 74 20 22 45 52 52 4f 52 3a 20 74 72 61 | segments}}.){..print."ERROR:.tra |
0c80 | 63 6b 73 5f 61 64 64 28 22 2e 73 63 61 6c 61 72 28 40 7b 24 64 61 74 61 2d 3e 7b 73 65 67 6d 65 | cks_add(".scalar(@{$data->{segme |
0ca0 | 6e 74 73 7d 7d 29 2e 22 20 53 65 67 6d 65 6e 74 73 29 3a 20 4e 6f 74 20 65 6e 6f 75 67 68 20 53 | nts}}).".Segments):.Not.enough.S |
0cc0 | 65 67 6d 65 6e 74 73 5c 6e 22 3b 20 23 2e 20 44 75 6d 70 65 72 28 24 64 61 74 61 29 3b 0a 09 72 | egments\n";.#..Dumper($data);..r |
0ce0 | 65 74 75 72 6e 3b 0a 20 20 20 20 7d 09 20 20 20 20 0a 20 20 20 20 6d 79 20 24 77 72 6f 74 65 5f | eturn;.....}..........my.$wrote_ |
0d00 | 74 72 61 63 6b 73 3d 30 3b 0a 20 20 20 20 6d 79 20 24 73 74 72 65 65 74 5f 6e 72 3d 30 3b 0a 20 | tracks=0;.....my.$street_nr=0;.. |
0d20 | 20 20 20 6d 79 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 73 5f 69 6e 5f 73 74 72 65 65 74 3d | ...my.$track_segments_in_street= |
0d40 | 30 3b 0a 0a 20 20 20 20 6d 79 20 24 74 72 61 63 6b 73 20 3d 20 7b 7d 3b 0a 0a 20 20 20 20 6d 79 | 0;......my.$tracks.=.{};......my |
0d60 | 20 40 63 6f 6c 75 6d 6e 73 20 3d 20 63 6f 6c 75 6d 6e 5f 6e 61 6d 65 73 28 22 74 72 61 63 6b 73 | .@columns.=.column_names("tracks |
0d80 | 22 29 3b 0a 20 20 20 20 6d 61 70 20 7b 20 0a 09 24 74 72 61 63 6b 73 2d 3e 7b 22 74 72 61 63 6b | ");.....map.{...$tracks->{"track |
0da0 | 73 2e 24 5f 22 7d 20 3d 20 0a 09 20 20 20 20 28 20 24 64 61 74 61 2d 3e 7b 22 74 72 61 63 6b 73 | s.$_"}.=.......(.$data->{"tracks |
0dc0 | 2e 24 5f 22 7d 20 7c 7c 20 24 64 61 74 61 2d 3e 7b 24 5f 7d 20 7c 7c 20 24 64 61 74 61 2d 3e 7b | .$_"}.||.$data->{$_}.||.$data->{ |
0de0 | 6c 63 28 24 5f 29 7d 29 20 0a 09 7d 20 40 63 6f 6c 75 6d 6e 73 3b 0a 0a 20 20 20 20 24 74 72 61 | lc($_)})...}.@columns;......$tra |
0e00 | 63 6b 73 2d 3e 7b 27 74 72 61 63 6b 73 2e 74 72 61 63 6b 5f 74 79 70 65 5f 69 64 27 7d 20 7c 7c | cks->{'tracks.track_type_id'}.|| |
0e20 | 3d 20 31 30 3b 0a 20 20 20 20 23 70 72 69 6e 74 20 22 74 72 61 63 6b 73 5f 61 64 64 20 64 61 74 | =.10;.....#print."tracks_add.dat |
0e40 | 61 3a 22 2e 44 75 6d 70 65 72 28 5c 24 64 61 74 61 29 3b 0a 20 20 20 20 23 70 72 69 6e 74 20 22 | a:".Dumper(\$data);.....#print." |
0e60 | 74 72 61 63 6b 73 5f 61 64 64 20 69 6e 69 74 3a 22 2e 44 75 6d 70 65 72 28 5c 24 74 72 61 63 6b | tracks_add.init:".Dumper(\$track |
0e80 | 73 29 3b 0a 20 20 20 20 6d 79 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 5f 63 6f 75 6e 74 20 | s);.....my.$track_segment_count. |
0ea0 | 3d 20 73 63 61 6c 61 72 28 40 7b 24 64 61 74 61 2d 3e 7b 73 65 67 6d 65 6e 74 73 7d 7d 29 3b 0a | =.scalar(@{$data->{segments}});. |
0ec0 | 20 20 20 20 64 65 62 75 67 28 22 74 72 61 63 6b 73 5f 61 64 64 28 20 24 74 72 61 63 6b 5f 73 65 | ....debug("tracks_add(.$track_se |
0ee0 | 67 6d 65 6e 74 5f 63 6f 75 6e 74 20 53 65 67 6d 65 6e 74 73 20 29 22 29 3b 0a 0a 20 20 20 20 6d | gment_count.Segments.)");......m |
0f00 | 79 20 24 6d 61 78 5f 73 70 65 65 64 3d 30 3b 0a 0a 20 20 20 20 6d 79 20 28 24 6c 61 74 32 2c 24 | y.$max_speed=0;......my.($lat2,$ |
0f20 | 6c 6f 6e 32 2c 24 61 6c 74 32 2c 24 74 69 6d 65 32 2c 24 68 65 61 64 69 6e 67 32 29 20 3d 20 28 | lon2,$alt2,$time2,$heading2).=.( |
0f40 | 31 30 30 31 2e 30 2c 31 30 30 31 2e 30 2c 30 2c 30 2c 2d 39 39 39 29 3b 0a 20 20 20 20 6d 79 20 | 1001.0,1001.0,0,0,-999);.....my. |
0f60 | 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 5f 6e 75 6d 62 65 72 3d 30 3b 0a 0a 20 20 20 20 6d 79 | $track_segment_number=0;......my |
0f80 | 20 24 73 74 61 74 69 73 74 69 63 3d 7b 7d 3b 0a 20 20 20 20 6d 79 20 40 73 75 62 5f 73 65 67 6d | .$statistic={};.....my.@sub_segm |
0fa0 | 65 6e 74 3b 0a 0a 20 20 20 20 66 6f 72 20 6d 79 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 20 | ent;......for.my.$track_segment. |
0fc0 | 28 20 40 7b 24 64 61 74 61 2d 3e 7b 73 65 67 6d 65 6e 74 73 7d 7d 0a 09 09 09 20 20 20 20 2c 7b | (.@{$data->{segments}}........,{ |
0fe0 | 6c 61 74 3d 3e 31 30 30 31 2c 6c 6f 6e 3d 3e 31 30 30 31 2c 61 6c 74 3d 3e 31 30 30 31 7d 20 0a | lat=>1001,lon=>1001,alt=>1001}.. |
1000 | 09 09 09 20 20 20 20 29 7b 0a 09 6d 79 20 28 24 6c 61 74 31 2c 24 6c 6f 6e 31 2c 24 61 6c 74 31 | .......){..my.($lat1,$lon1,$alt1 |
1020 | 2c 24 74 69 6d 65 31 2c 24 68 65 61 64 69 6e 67 31 29 20 3d 20 20 28 24 6c 61 74 32 2c 24 6c 6f | ,$time1,$heading1).=..($lat2,$lo |
1040 | 6e 32 2c 24 61 6c 74 32 2c 24 74 69 6d 65 32 2c 24 68 65 61 64 69 6e 67 32 29 3b 0a 0a 09 69 66 | n2,$alt2,$time2,$heading2);...if |
1060 | 20 28 20 72 65 66 28 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 29 20 65 71 20 22 41 52 52 41 59 | .(.ref($track_segment).eq."ARRAY |
1080 | 22 20 29 20 7b 0a 09 20 20 20 20 24 6c 61 74 32 20 20 3d 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 | ".).{......$lat2..=.$track_segme |
10a0 | 6e 74 2d 3e 5b 30 5d 3b 0a 09 20 20 20 20 24 6c 6f 6e 32 20 20 3d 20 24 74 72 61 63 6b 5f 73 65 | nt->[0];......$lon2..=.$track_se |
10c0 | 67 6d 65 6e 74 2d 3e 5b 31 5d 3b 0a 09 20 20 20 20 24 61 6c 74 32 20 20 3d 20 24 74 72 61 63 6b | gment->[1];......$alt2..=.$track |
10e0 | 5f 73 65 67 6d 65 6e 74 2d 3e 5b 32 5d 3b 0a 09 20 20 20 20 24 74 69 6d 65 32 20 3d 20 24 74 72 | _segment->[2];......$time2.=.$tr |
1100 | 61 63 6b 5f 73 65 67 6d 65 6e 74 2d 3e 5b 33 5d 3b 0a 09 7d 20 65 6c 73 65 20 7b 0a 09 20 20 20 | ack_segment->[3];..}.else.{..... |
1120 | 20 24 6c 61 74 32 20 20 3d 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 2d 3e 7b 27 6c 61 74 27 | .$lat2..=.$track_segment->{'lat' |
1140 | 7d 3b 0a 09 20 20 20 20 24 6c 6f 6e 32 20 20 3d 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 2d | };......$lon2..=.$track_segment- |
1160 | 3e 7b 27 6c 6f 6e 27 7d 3b 0a 09 20 20 20 20 24 61 6c 74 32 20 20 3d 20 24 74 72 61 63 6b 5f 73 | >{'lon'};......$alt2..=.$track_s |
1180 | 65 67 6d 65 6e 74 2d 3e 7b 27 61 6c 74 27 7d 3b 0a 09 20 20 20 20 24 74 69 6d 65 32 20 3d 20 24 | egment->{'alt'};......$time2.=.$ |
11a0 | 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 2d 3e 7b 27 74 69 6d 65 27 7d 3b 0a 09 20 20 20 20 24 68 | track_segment->{'time'};......$h |
11c0 | 65 61 64 69 6e 67 32 20 3d 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 2d 3e 7b 27 68 65 61 64 | eading2.=.$track_segment->{'head |
11e0 | 69 6e 67 27 7d 3b 0a 09 7d 3b 0a 0a 09 23 64 65 62 75 67 28 22 24 6c 61 74 32 2c 24 6c 6f 6e 32 | ing'};..};...#debug("$lat2,$lon2 |
1200 | 2c 24 61 6c 74 32 22 29 3b 0a 09 6e 65 78 74 20 75 6e 6c 65 73 73 20 24 74 72 61 63 6b 5f 73 65 | ,$alt2");..next.unless.$track_se |
1220 | 67 6d 65 6e 74 5f 6e 75 6d 62 65 72 2b 2b 3b 0a 0a 09 6d 79 20 24 76 61 6c 69 64 3d 30 3b 0a 0a | gment_number++;...my.$valid=0;.. |
1240 | 09 69 66 20 28 20 64 65 66 69 6e 65 64 20 24 6c 61 74 31 20 26 26 0a 09 20 20 20 20 20 64 65 66 | .if.(.defined.$lat1.&&.......def |
1260 | 69 6e 65 64 20 24 6c 6f 6e 31 20 26 26 0a 09 20 20 20 20 20 64 65 66 69 6e 65 64 20 24 6c 61 74 | ined.$lon1.&&.......defined.$lat |
1280 | 32 20 26 26 0a 09 20 20 20 20 20 64 65 66 69 6e 65 64 20 24 6c 6f 6e 32 29 20 7b 0a 09 20 20 20 | 2.&&.......defined.$lon2).{..... |
12a0 | 20 24 76 61 6c 69 64 3d 31 3b 0a 09 7d 0a 0a 09 69 66 20 28 20 61 62 73 28 24 6c 61 74 31 29 20 | .$valid=1;..}...if.(.abs($lat1). |
12c0 | 3e 20 35 30 30 20 7c 7c 0a 09 20 20 20 20 20 61 62 73 28 24 6c 6f 6e 31 29 20 3e 20 35 30 30 20 | >.500.||.......abs($lon1).>.500. |
12e0 | 7c 7c 0a 09 20 20 20 20 20 61 62 73 28 24 6c 61 74 32 29 20 3e 20 35 30 30 20 7c 7c 0a 09 20 20 | ||.......abs($lat2).>.500.||.... |
1300 | 20 20 20 61 62 73 28 24 6c 6f 6e 32 29 20 3e 20 35 30 30 20 0a 09 20 20 20 20 20 29 20 7b 0a 09 | ...abs($lon2).>.500........).{.. |
1320 | 20 20 20 20 24 76 61 6c 69 64 20 3d 20 30 3b 0a 09 7d 0a 0a 09 6d 79 20 24 73 70 65 65 64 3d 30 | ....$valid.=.0;..}...my.$speed=0 |
1340 | 3b 0a 09 6d 79 20 24 64 69 73 74 3d 30 3b 0a 09 6d 79 20 24 74 69 6d 65 5f 64 65 6c 74 61 3d 30 | ;..my.$dist=0;..my.$time_delta=0 |
1360 | 3b 0a 09 6d 79 20 24 73 70 6c 69 74 3d 22 22 3b 0a 09 69 66 20 28 20 24 76 61 6c 69 64 20 29 20 | ;..my.$split="";..if.(.$valid.). |
1380 | 7b 0a 09 20 20 20 20 24 64 69 73 74 20 3d 20 47 65 6f 3a 3a 47 70 73 64 72 69 76 65 3a 3a 47 70 | {......$dist.=.Geo::Gpsdrive::Gp |
13a0 | 73 3a 3a 65 61 72 74 68 5f 64 69 73 74 61 6e 63 65 28 24 6c 61 74 31 2c 24 6c 6f 6e 31 2c 24 6c | s::earth_distance($lat1,$lon1,$l |
13c0 | 61 74 32 2c 24 6c 6f 6e 32 29 3b 0a 09 20 20 20 20 69 66 20 28 64 65 66 69 6e 65 64 28 24 74 69 | at2,$lon2);......if.(defined($ti |
13e0 | 6d 65 31 29 20 26 26 20 64 65 66 69 6e 65 64 28 24 74 69 6d 65 32 29 20 29 20 7b 0a 09 09 6d 79 | me1).&&.defined($time2).).{...my |
1400 | 20 24 74 69 6d 65 5f 64 65 6c 74 61 20 3d 20 24 74 69 6d 65 32 20 2d 20 24 74 69 6d 65 31 3b 0a | .$time_delta.=.$time2.-.$time1;. |
1420 | 09 20 20 20 20 7d 0a 09 20 20 20 20 69 66 20 28 20 72 65 66 28 24 74 72 61 63 6b 5f 73 65 67 6d | .....}......if.(.ref($track_segm |
1440 | 65 6e 74 29 20 65 71 20 22 48 41 53 48 22 20 29 20 7b 0a 09 09 24 73 70 65 65 64 20 3d 20 24 74 | ent).eq."HASH".).{...$speed.=.$t |
1460 | 72 61 63 6b 5f 73 65 67 6d 65 6e 74 2d 3e 7b 73 70 65 65 64 7d 3b 0a 09 20 20 20 20 7d 0a 09 20 | rack_segment->{speed};......}... |
1480 | 20 20 20 6d 79 20 24 63 61 6c 63 5f 73 70 65 65 64 20 3d 20 28 20 24 74 69 6d 65 5f 64 65 6c 74 | ...my.$calc_speed.=.(.$time_delt |
14a0 | 61 20 3f 20 28 24 64 69 73 74 20 2f 20 24 74 69 6d 65 5f 64 65 6c 74 61 20 2a 20 33 2e 36 30 30 | a.?.($dist./.$time_delta.*.3.600 |
14c0 | 29 20 3a 20 2d 31 29 3b 0a 09 20 20 20 20 24 73 70 65 65 64 20 7c 7c 3d 20 24 63 61 6c 63 5f 73 | ).:.-1);......$speed.||=.$calc_s |
14e0 | 70 65 65 64 3b 0a 23 09 20 20 20 20 64 65 62 75 67 28 73 70 72 69 6e 74 66 20 22 44 69 73 74 3a | peed;.#.....debug(sprintf."Dist: |
1500 | 20 25 2e 34 66 2f 25 2e 32 66 20 3d 3e 20 20 25 2e 32 66 20 4b 6d 2f 68 22 2c 24 64 69 73 74 2c | .%.4f/%.2f.=>..%.2f.Km/h",$dist, |
1520 | 24 74 69 6d 65 5f 64 65 6c 74 61 2c 24 73 70 65 65 64 29 3b 0a 0a 09 20 20 20 20 69 66 20 28 20 | $time_delta,$speed);.......if.(. |
1540 | 24 74 69 6d 65 5f 64 65 6c 74 61 20 3e 20 31 35 20 29 20 7b 0a 09 09 24 73 70 6c 69 74 20 2e 3d | $time_delta.>.15.).{...$split..= |
1560 | 20 22 74 69 6d 65 22 3b 0a 09 09 24 76 61 6c 69 64 20 3d 20 30 3b 0a 09 20 20 20 20 7d 0a 0a 09 | ."time";...$valid.=.0;......}... |
1580 | 20 20 20 20 69 66 20 28 20 24 73 70 65 65 64 20 3e 20 32 30 30 20 29 20 7b 0a 09 09 24 73 70 6c | ....if.(.$speed.>.200.).{...$spl |
15a0 | 69 74 20 2e 3d 20 22 73 70 65 65 64 22 3b 0a 09 09 24 76 61 6c 69 64 20 3d 20 30 3b 0a 09 20 20 | it..=."speed";...$valid.=.0;.... |
15c0 | 20 20 7d 0a 0a 09 20 20 20 20 69 66 20 28 20 24 76 61 6c 69 64 20 26 26 20 24 73 70 65 65 64 20 | ..}.......if.(.$valid.&&.$speed. |
15e0 | 3c 20 30 2e 30 30 31 20 29 20 7b 0a 09 09 23 70 72 69 6e 74 66 20 22 74 72 61 63 6b 73 5f 61 64 | <.0.001.).{...#printf."tracks_ad |
1600 | 64 28 53 65 67 3a 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 5f 6e 75 6d 62 65 72 29 3a 20 4c 6f | d(Seg:$track_segment_number):.Lo |
1620 | 77 20 53 70 65 65 64 20 3d 20 25 2e 36 66 3b 09 44 69 73 74 3d 25 2e 36 66 5c 6e 22 2c 24 73 70 | w.Speed.=.%.6f;.Dist=%.6f\n",$sp |
1640 | 65 65 64 2c 24 64 69 73 74 3b 0a 09 09 23 24 76 61 6c 69 64 20 3d 20 30 3b 0a 09 20 20 20 20 7d | eed,$dist;...#$valid.=.0;......} |
1660 | 0a 0a 09 20 20 20 20 69 66 20 28 20 24 76 61 6c 69 64 20 26 26 20 24 64 69 73 74 20 3e 20 38 30 | .......if.(.$valid.&&.$dist.>.80 |
1680 | 30 20 20 29 20 7b 0a 09 09 24 73 70 6c 69 74 20 2e 3d 20 22 64 69 73 74 22 3b 0a 09 09 24 76 61 | 0..).{...$split..=."dist";...$va |
16a0 | 6c 69 64 20 3d 20 30 3b 0a 09 20 20 20 20 7d 0a 0a 09 20 20 20 20 69 66 20 28 20 24 73 70 6c 69 | lid.=.0;......}.......if.(.$spli |
16c0 | 74 20 29 20 7b 0a 09 09 70 72 69 6e 74 66 20 22 74 72 61 63 6b 73 5f 61 64 64 28 53 65 67 3a 24 | t.).{...printf."tracks_add(Seg:$ |
16e0 | 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 5f 6e 75 6d 62 65 72 29 3a 20 22 3b 0a 09 09 69 66 20 28 | track_segment_number):.";...if.( |
1700 | 24 64 69 73 74 20 3e 20 31 30 30 30 29 20 7b 0a 09 09 20 20 20 20 70 72 69 6e 74 66 20 22 5c 74 | $dist.>.1000).{.......printf."\t |
1720 | 64 69 73 74 3a 20 25 36 2e 32 66 20 4b 6d 2c 20 22 2c 24 64 69 73 74 2f 31 30 30 30 3b 0a 09 09 | dist:.%6.2f.Km,.",$dist/1000;... |
1740 | 7d 20 65 6c 73 65 20 7b 0a 09 09 20 20 20 20 70 72 69 6e 74 66 20 22 5c 74 64 69 73 74 3a 20 25 | }.else.{.......printf."\tdist:.% |
1760 | 36 2e 32 66 20 6d 2c 20 22 2c 24 64 69 73 74 3b 0a 09 09 7d 0a 09 09 70 72 69 6e 74 66 20 22 5c | 6.2f.m,.",$dist;...}...printf."\ |
1780 | 74 73 70 65 65 64 20 25 36 2e 32 66 28 25 36 2e 32 66 29 20 4b 6d 2f 68 20 22 2c 24 73 70 65 65 | tspeed.%6.2f(%6.2f).Km/h.",$spee |
17a0 | 64 2c 24 63 61 6c 63 5f 73 70 65 65 64 3b 0a 09 09 70 72 69 6e 74 66 20 22 5c 74 54 69 6d 65 20 | d,$calc_speed;...printf."\tTime. |
17c0 | 64 69 66 66 20 3d 20 22 3b 0a 09 09 69 66 20 28 24 74 69 6d 65 5f 64 65 6c 74 61 20 3e 20 33 36 | diff.=.";...if.($time_delta.>.36 |
17e0 | 30 30 29 20 7b 0a 09 09 20 20 20 20 70 72 69 6e 74 66 20 22 20 25 35 2e 32 66 20 68 6f 75 72 73 | 00).{.......printf.".%5.2f.hours |
1800 | 22 2c 24 74 69 6d 65 5f 64 65 6c 74 61 2f 33 36 30 30 3b 0a 09 09 7d 20 65 6c 73 69 66 20 28 20 | ",$time_delta/3600;...}.elsif.(. |
1820 | 24 74 69 6d 65 5f 64 65 6c 74 61 20 3e 20 36 30 20 29 20 7b 0a 09 09 20 20 20 20 70 72 69 6e 74 | $time_delta.>.60.).{.......print |
1840 | 66 20 22 20 25 35 2e 32 66 20 6d 69 6e 22 2c 24 74 69 6d 65 5f 64 65 6c 74 61 2f 36 30 3b 0a 09 | f.".%5.2f.min",$time_delta/60;.. |
1860 | 09 7d 20 65 6c 73 65 20 7b 0a 09 09 20 20 20 20 70 72 69 6e 74 66 20 22 20 25 35 2e 32 66 20 73 | .}.else.{.......printf.".%5.2f.s |
1880 | 65 63 22 2c 24 74 69 6d 65 5f 64 65 6c 74 61 3b 0a 09 09 7d 0a 09 09 70 72 69 6e 74 66 20 22 5c | ec",$time_delta;...}...printf."\ |
18a0 | 74 73 70 6c 69 74 3a 20 24 73 70 6c 69 74 5c 6e 22 3b 0a 09 20 20 20 20 7d 0a 09 7d 20 23 20 6f | tsplit:.$split\n";......}..}.#.o |
18c0 | 66 20 69 66 20 24 76 61 6c 69 64 0a 0a 0a 09 69 66 20 28 20 24 76 61 6c 69 64 20 29 20 7b 0a 09 | f.if.$valid....if.(.$valid.).{.. |
18e0 | 20 20 20 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 73 5f 69 6e 5f 73 74 72 65 65 74 2b 2b 3b | ....$track_segments_in_street++; |
1900 | 0a 09 20 20 20 20 70 75 73 68 28 20 40 73 75 62 5f 73 65 67 6d 65 6e 74 2c 0a 09 20 20 20 20 20 | ......push(.@sub_segment,....... |
1920 | 20 7b 20 27 74 72 61 63 6b 73 2e 6c 61 74 31 27 20 3d 3e 20 24 6c 61 74 31 2c 0a 09 09 27 74 72 | .{.'tracks.lat1'.=>.$lat1,...'tr |
1940 | 61 63 6b 73 2e 6c 6f 6e 31 27 20 3d 3e 20 24 6c 6f 6e 31 2c 0a 09 09 27 74 72 61 63 6b 73 2e 61 | acks.lon1'.=>.$lon1,...'tracks.a |
1960 | 6c 74 31 27 20 3d 3e 20 24 61 6c 74 31 2c 0a 09 09 27 74 72 61 63 6b 73 2e 6c 61 74 32 27 20 3d | lt1'.=>.$alt1,...'tracks.lat2'.= |
1980 | 3e 20 24 6c 61 74 32 2c 0a 09 09 27 74 72 61 63 6b 73 2e 6c 6f 6e 32 27 20 3d 3e 20 24 6c 6f 6e | >.$lat2,...'tracks.lon2'.=>.$lon |
19a0 | 32 2c 0a 09 09 27 74 72 61 63 6b 73 2e 61 6c 74 32 00 27 20 3d 3e 20 24 61 6c 74 32 0a 09 09 7d | 2,...'tracks.alt2.'.=>.$alt2...} |
19c0 | 29 3b 0a 09 7d 20 65 6c 73 65 20 7b 0a 09 20 20 20 20 6d 79 20 24 74 72 61 63 6b 5f 73 65 67 6d | );..}.else.{......my.$track_segm |
19e0 | 65 6e 74 5f 63 6f 75 6e 74 20 3d 20 73 63 61 6c 61 72 20 28 40 73 75 62 5f 73 65 67 6d 65 6e 74 | ent_count.=.scalar.(@sub_segment |
1a00 | 29 3b 0a 09 20 20 20 20 69 66 20 28 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 5f 63 6f 75 6e | );......if.(.$track_segment_coun |
1a20 | 74 20 29 20 7b 0a 09 09 24 74 72 61 63 6b 73 2d 3e 7b 27 74 72 61 63 6b 73 2e 63 6f 6d 6d 65 6e | t.).{...$tracks->{'tracks.commen |
1a40 | 74 27 7d 20 3d 20 22 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 5f 63 6f 75 6e 74 20 73 65 67 | t'}.=.".$track_segment_count.seg |
1a60 | 5c 74 22 3b 0a 0a 23 09 09 24 74 72 61 63 6b 73 2d 3e 7b 27 74 72 61 63 6b 73 2e 63 6f 6d 6d 65 | \t";..#..$tracks->{'tracks.comme |
1a80 | 6e 74 27 7d 20 2e 3d 20 73 70 72 69 6e 74 66 28 20 22 73 74 61 72 74 3a 20 25 73 5c 74 22 2c 73 | nt'}..=.sprintf(."start:.%s\t",s |
1aa0 | 63 61 6c 61 72 20 6c 6f 63 61 6c 74 69 6d 65 28 24 73 74 61 74 69 73 74 69 63 2d 3e 7b 74 69 6d | calar.localtime($statistic->{tim |
1ac0 | 65 7d 2d 3e 7b 6d 69 6e 7d 29 29 3b 0a 23 09 09 24 74 72 61 63 6b 73 2d 3e 7b 27 74 72 61 63 6b | e}->{min}));.#..$tracks->{'track |
1ae0 | 73 2e 63 6f 6d 6d 65 6e 74 27 7d 20 2e 3d 20 73 70 72 69 6e 74 66 28 20 22 65 6e 64 3a 20 25 73 | s.comment'}..=.sprintf(."end:.%s |
1b00 | 5c 74 22 2c 73 63 61 6c 61 72 20 6c 6f 63 61 6c 74 69 6d 65 28 24 73 74 61 74 69 73 74 69 63 2d | \t",scalar.localtime($statistic- |
1b20 | 3e 7b 74 69 6d 65 7d 2d 3e 7b 6d 61 78 7d 29 29 3b 0a 09 09 0a 09 09 66 6f 72 20 6d 79 20 24 73 | >{time}->{max}));......for.my.$s |
1b40 | 65 67 6d 65 6e 74 20 28 20 40 73 75 62 5f 73 65 67 6d 65 6e 74 20 29 7b 0a 09 09 20 20 20 20 6d | egment.(.@sub_segment.){.......m |
1b60 | 79 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 3b 0a 09 09 20 20 20 20 28 25 7b 24 74 | y.$track_segment4db;.......(%{$t |
1b80 | 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 7d 29 20 3d 20 28 25 7b 24 74 72 61 63 6b 73 7d 2c | rack_segment4db}).=.(%{$tracks}, |
1ba0 | 25 7b 24 73 65 67 6d 65 6e 74 7d 29 3b 0a 09 09 20 20 20 20 23 70 72 69 6e 74 20 22 74 72 61 63 | %{$segment});.......#print."trac |
1bc0 | 6b 73 3a 20 22 2e 44 75 6d 70 65 72 28 5c 25 7b 24 74 72 61 63 6b 73 7d 29 3b 0a 09 09 20 20 20 | ks:.".Dumper(\%{$tracks});...... |
1be0 | 20 23 70 72 69 6e 74 20 22 73 65 67 6d 65 6e 74 3a 20 22 2e 44 75 6d 70 65 72 28 5c 25 7b 24 73 | .#print."segment:.".Dumper(\%{$s |
1c00 | 65 67 6d 65 6e 74 7d 29 3b 0a 09 09 20 20 20 20 23 70 72 69 6e 74 20 22 74 72 61 63 6b 5f 73 65 | egment});.......#print."track_se |
1c20 | 67 6d 65 6e 74 34 64 62 3a 20 22 2e 44 75 6d 70 65 72 28 5c 25 7b 24 74 72 61 63 6b 5f 73 65 67 | gment4db:.".Dumper(\%{$track_seg |
1c40 | 6d 65 6e 74 34 64 62 7d 29 3b 0a 09 09 20 20 20 20 69 6e 73 65 72 74 5f 68 61 73 68 28 22 74 72 | ment4db});.......insert_hash("tr |
1c60 | 61 63 6b 73 22 2c 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 34 64 62 29 3b 0a 09 09 7d 0a 09 09 | acks",$track_segment4db);...}... |
1c80 | 23 73 65 67 6d 65 6e 74 73 5f 61 64 64 28 24 74 72 61 63 6b 73 29 3b 0a 09 09 24 77 72 6f 74 65 | #segments_add($tracks);...$wrote |
1ca0 | 5f 74 72 61 63 6b 73 2b 2b 3b 0a 09 09 24 6d 61 78 5f 73 70 65 65 64 3d 30 3b 0a 09 20 20 20 20 | _tracks++;...$max_speed=0;...... |
1cc0 | 7d 0a 09 20 20 20 20 24 74 72 61 63 6b 73 2d 3e 7b 73 65 67 6d 65 6e 74 73 7d 3d 5b 5d 3b 0a 09 | }......$tracks->{segments}=[];.. |
1ce0 | 7d 0a 20 20 20 20 7d 0a 20 20 20 20 70 72 69 6e 74 20 22 74 72 61 63 6b 73 5f 61 64 64 20 77 72 | }.....}.....print."tracks_add.wr |
1d00 | 6f 74 65 20 24 77 72 6f 74 65 5f 74 72 61 63 6b 73 20 53 75 62 2d 54 72 61 63 6b 73 20 66 6f 72 | ote.$wrote_tracks.Sub-Tracks.for |
1d20 | 20 24 74 72 61 63 6b 5f 73 65 67 6d 65 6e 74 5f 63 6f 75 6e 74 20 53 65 67 6d 65 6e 74 73 5c 6e | .$track_segment_count.Segments\n |
1d40 | 22 0a 09 69 66 20 24 64 65 62 75 67 3b 0a 20 20 20 20 0a 7d 0a 0a 31 3b 0a | "..if.$debug;......}..1;. |