mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2026-10-27 02:27:18 +00:00
Compare commits
76
Commits
a921d4b9cd
..
l10n
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6dedc13be3 | ||
|
|
3b53787cae | ||
|
|
38de08b929 | ||
|
|
044b23b178 | ||
|
|
164dc4f409 | ||
|
|
c7f8544689 | ||
|
|
e8325e0c68 | ||
|
|
a4737edc7f | ||
|
|
b70d0a05e5 | ||
|
|
9872f18cfa | ||
|
|
6a66a6bd34 | ||
|
|
a7e998e501 | ||
|
|
7495a619ee | ||
|
|
0441947612 | ||
|
|
529abf0435 | ||
|
|
17c7b21984 | ||
|
|
2b9c30583f | ||
|
|
0582feb6f8 | ||
|
|
fe97cac9a4 | ||
|
|
d579ccaeaf | ||
|
|
66264eb6c6 | ||
|
|
da956cccd6 | ||
|
|
91ecffb2e8 | ||
|
|
543057ba9d | ||
|
|
2740c1c7ff | ||
|
|
55f28b7c4e | ||
|
|
2975648484 | ||
|
|
29e420a794 | ||
|
|
254d98004d | ||
|
|
f78bb14ea9 | ||
|
|
c76360630b | ||
|
|
99890fe6da | ||
|
|
8a4721f7fc | ||
|
|
c29733091b | ||
|
|
b06800e2fe | ||
|
|
deaf5e0926 | ||
|
|
8e5beaabe9 | ||
|
|
8a38627467 | ||
|
|
ceadc7d1b5 | ||
|
|
383d21a4a1 | ||
|
|
153ecb9765 | ||
|
|
d911761e17 | ||
|
|
7540565d79 | ||
|
|
01332e7a03 | ||
|
|
1aabfb4584 | ||
|
|
44d76966e2 | ||
|
|
1722520d23 | ||
|
|
8e99ed2689 | ||
|
|
4f88fe179a | ||
|
|
b13602b33e | ||
|
|
8138fe780b | ||
|
|
f4d6cd9cc3 | ||
|
|
902107c36b | ||
|
|
ea8e8bc1e3 | ||
|
|
c89a6148f2 | ||
|
|
fa732b0343 | ||
|
|
142ee61484 | ||
|
|
873059cfcc | ||
|
|
9e380e597e | ||
|
|
f4dc516fe5 | ||
|
|
bca6c32193 | ||
|
|
9f52d4d60d | ||
|
|
a1475ab7ba | ||
|
|
0987c6a72e | ||
|
|
a02de61d0a | ||
|
|
75e477ba52 | ||
|
|
b72cebc186 | ||
|
|
5dd53cd9eb | ||
|
|
2c82444832 | ||
|
|
93ac92969d | ||
|
|
2e8b2d6f30 | ||
|
|
5259d007c9 | ||
|
|
cb36725a46 | ||
|
|
deef1bab47 | ||
|
|
108880f8cd | ||
|
|
37a659831b |
No files matched your search
@@ -1,2 +0,0 @@
|
|||||||
target/
|
|
||||||
pkg/
|
|
||||||
Generated
-379
@@ -1,379 +0,0 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
version = 4
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "android_system_properties"
|
|
||||||
version = "0.1.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "autocfg"
|
|
||||||
version = "1.5.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bumpalo"
|
|
||||||
version = "3.20.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cc"
|
|
||||||
version = "1.4.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a3eb0f42d6c360dc3f8a821f6bf2fdea7f72bfd36b3076eb0e6d1e9e0752fff4"
|
|
||||||
dependencies = [
|
|
||||||
"find-msvc-tools",
|
|
||||||
"shlex",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cfg-if"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "chrono"
|
|
||||||
version = "0.4.45"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
|
|
||||||
dependencies = [
|
|
||||||
"iana-time-zone",
|
|
||||||
"js-sys",
|
|
||||||
"num-traits",
|
|
||||||
"wasm-bindgen",
|
|
||||||
"windows-link",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "core-foundation-sys"
|
|
||||||
version = "0.8.7"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "find-msvc-tools"
|
|
||||||
version = "0.1.12"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-core"
|
|
||||||
version = "0.3.34"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-task"
|
|
||||||
version = "0.3.34"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "futures-util"
|
|
||||||
version = "0.3.34"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc"
|
|
||||||
dependencies = [
|
|
||||||
"futures-core",
|
|
||||||
"futures-task",
|
|
||||||
"pin-project-lite",
|
|
||||||
"slab",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "getrandom"
|
|
||||||
version = "0.4.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"libc",
|
|
||||||
"r-efi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gpx-rs"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"chrono",
|
|
||||||
"js-sys",
|
|
||||||
"quick-xml",
|
|
||||||
"uuid",
|
|
||||||
"wasm-bindgen",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "iana-time-zone"
|
|
||||||
version = "0.1.65"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
|
|
||||||
dependencies = [
|
|
||||||
"android_system_properties",
|
|
||||||
"core-foundation-sys",
|
|
||||||
"iana-time-zone-haiku",
|
|
||||||
"js-sys",
|
|
||||||
"log",
|
|
||||||
"wasm-bindgen",
|
|
||||||
"windows-core",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "iana-time-zone-haiku"
|
|
||||||
version = "0.1.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
|
|
||||||
dependencies = [
|
|
||||||
"cc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "js-sys"
|
|
||||||
version = "0.3.106"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"futures-util",
|
|
||||||
"wasm-bindgen",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "libc"
|
|
||||||
version = "0.2.189"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "log"
|
|
||||||
version = "0.4.34"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memchr"
|
|
||||||
version = "2.8.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "num-traits"
|
|
||||||
version = "0.2.19"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
||||||
dependencies = [
|
|
||||||
"autocfg",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "once_cell"
|
|
||||||
version = "1.21.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pin-project-lite"
|
|
||||||
version = "0.2.17"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro2"
|
|
||||||
version = "1.0.106"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
|
||||||
dependencies = [
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "quick-xml"
|
|
||||||
version = "0.42.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b"
|
|
||||||
dependencies = [
|
|
||||||
"memchr",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "quote"
|
|
||||||
version = "1.0.46"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "r-efi"
|
|
||||||
version = "6.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rustversion"
|
|
||||||
version = "1.0.23"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "shlex"
|
|
||||||
version = "2.0.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "slab"
|
|
||||||
version = "0.4.12"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "2.0.118"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "3.0.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unicode-ident"
|
|
||||||
version = "1.0.24"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "uuid"
|
|
||||||
version = "1.26.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce"
|
|
||||||
dependencies = [
|
|
||||||
"getrandom",
|
|
||||||
"js-sys",
|
|
||||||
"wasm-bindgen",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-bindgen"
|
|
||||||
version = "0.2.129"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"once_cell",
|
|
||||||
"rustversion",
|
|
||||||
"wasm-bindgen-macro",
|
|
||||||
"wasm-bindgen-shared",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-bindgen-macro"
|
|
||||||
version = "0.2.129"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535"
|
|
||||||
dependencies = [
|
|
||||||
"quote",
|
|
||||||
"wasm-bindgen-macro-support",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-bindgen-macro-support"
|
|
||||||
version = "0.2.129"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7"
|
|
||||||
dependencies = [
|
|
||||||
"bumpalo",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 3.0.6",
|
|
||||||
"wasm-bindgen-shared",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-bindgen-shared"
|
|
||||||
version = "0.2.129"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6"
|
|
||||||
dependencies = [
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-core"
|
|
||||||
version = "0.62.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
|
|
||||||
dependencies = [
|
|
||||||
"windows-implement",
|
|
||||||
"windows-interface",
|
|
||||||
"windows-link",
|
|
||||||
"windows-result",
|
|
||||||
"windows-strings",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-implement"
|
|
||||||
version = "0.60.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.118",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-interface"
|
|
||||||
version = "0.59.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.118",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-link"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-result"
|
|
||||||
version = "0.4.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
|
|
||||||
dependencies = [
|
|
||||||
"windows-link",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-strings"
|
|
||||||
version = "0.5.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
|
|
||||||
dependencies = [
|
|
||||||
"windows-link",
|
|
||||||
]
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "gpx-rs"
|
|
||||||
version = "0.1.0"
|
|
||||||
edition = "2024"
|
|
||||||
|
|
||||||
[lib]
|
|
||||||
crate-type = ["cdylib"]
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
chrono = "0.4.45"
|
|
||||||
js-sys = "0.3.106"
|
|
||||||
quick-xml = "0.42.0"
|
|
||||||
uuid = {version = "1.26.1", features = ["v4", "js"]}
|
|
||||||
wasm-bindgen = "0.2"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
```
|
|
||||||
wasm-pack build --target bundler
|
|
||||||
```
|
|
||||||
@@ -1,274 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1"
|
|
||||||
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd
|
|
||||||
http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd
|
|
||||||
http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd
|
|
||||||
http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1"
|
|
||||||
creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>simple</name>
|
|
||||||
<desc>description</desc>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio">
|
|
||||||
<text>link text</text>
|
|
||||||
</link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>track name</name>
|
|
||||||
<cmt>track comment</cmt>
|
|
||||||
<desc>track description</desc>
|
|
||||||
<src>track source</src>
|
|
||||||
<link href="https://gpx.studio">
|
|
||||||
<text>track link text</text>
|
|
||||||
</link>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,660 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_cad</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_cad</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>80</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:cad>90</gpxtpx:cad>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,660 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_hr</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_hr</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>150</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:hr>160</gpxtpx:hr>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,500 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_power</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_power</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>200</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<power>210</power>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,665 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1"
|
|
||||||
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd
|
|
||||||
http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd
|
|
||||||
http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd
|
|
||||||
http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxpx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1"
|
|
||||||
creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_power</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_power</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxpx:PowerExtension>
|
|
||||||
<gpxpx:PowerInWatts>210</gpxpx:PowerInWatts>
|
|
||||||
</gpxpx:PowerExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,253 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_routes</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<rte>
|
|
||||||
<name>route 1</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<rtept lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
</rtept>
|
|
||||||
</rte>
|
|
||||||
<rte>
|
|
||||||
<name>route 2</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<rtept lat="50.782212" lon="4.406377">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</rtept>
|
|
||||||
<rtept lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
</rtept>
|
|
||||||
</rte>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,253 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_segments</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_segments</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.782212" lon="4.406377">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,267 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_style</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_style</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<extensions>
|
|
||||||
<gpx_style:line>
|
|
||||||
<gpx_style:color>2d3ee9</gpx_style:color>
|
|
||||||
<gpx_style:opacity>0.5</gpx_style:opacity>
|
|
||||||
<gpx_style:width>6</gpx_style:width>
|
|
||||||
</gpx_style:line>
|
|
||||||
</extensions>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,820 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_surface</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_surface</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>asphalt</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:Extensions>
|
|
||||||
<surface>cobblestone</surface>
|
|
||||||
</gpxtpx:Extensions>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,660 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_temp</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_temp</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>21</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
<extensions>
|
|
||||||
<gpxtpx:TrackPointExtension>
|
|
||||||
<gpxtpx:atemp>22</gpxtpx:atemp>
|
|
||||||
</gpxtpx:TrackPointExtension>
|
|
||||||
</extensions>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,340 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_time</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>with_time</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<time>2023-12-31T23:00:00.000Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<time>2023-12-31T23:00:03.180Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<time>2023-12-31T23:00:11.254Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<time>2023-12-31T23:00:14.795Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<time>2023-12-31T23:00:17.957Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<time>2023-12-31T23:00:21.759Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
<time>2023-12-31T23:00:29.948Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
<time>2023-12-31T23:00:36.098Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<time>2023-12-31T23:00:42.396Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
<time>2023-12-31T23:00:45.636Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<time>2023-12-31T23:00:48.827Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
<time>2023-12-31T23:00:55.249Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<time>2023-12-31T23:01:00.794Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<time>2023-12-31T23:01:03.708Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<time>2023-12-31T23:01:06.542Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
<time>2023-12-31T23:01:11.014Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<time>2023-12-31T23:01:14.108Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<time>2023-12-31T23:01:17.026Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<time>2023-12-31T23:01:19.742Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<time>2023-12-31T23:01:28.110Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<time>2023-12-31T23:01:31.328Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<time>2023-12-31T23:01:35.306Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<time>2023-12-31T23:01:36.830Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
<time>2023-12-31T23:01:38.701Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<time>2023-12-31T23:01:40.022Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<time>2023-12-31T23:01:41.920Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<time>2023-12-31T23:01:48.333Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
<time>2023-12-31T23:01:52.195Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<time>2023-12-31T23:01:55.766Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<time>2023-12-31T23:01:58.740Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
<time>2023-12-31T23:02:04.091Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
<time>2023-12-31T23:02:12.713Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
<time>2023-12-31T23:02:14.875Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<time>2023-12-31T23:02:16.638Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
<time>2023-12-31T23:02:18.384Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
<time>2023-12-31T23:02:25.735Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<time>2023-12-31T23:02:27.404Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
<time>2023-12-31T23:02:29.642Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
<time>2023-12-31T23:02:31.271Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
<time>2023-12-31T23:02:32.974Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
<time>2023-12-31T23:02:34.725Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<time>2023-12-31T23:02:36.057Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<time>2023-12-31T23:02:37.639Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<time>2023-12-31T23:02:39.280Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
<time>2023-12-31T23:02:41.205Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<time>2023-12-31T23:02:43.731Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
<time>2023-12-31T23:02:54.830Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<time>2023-12-31T23:02:59.232Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
<time>2023-12-31T23:03:01.951Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<time>2023-12-31T23:03:03.598Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<time>2023-12-31T23:03:05.119Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
<time>2023-12-31T23:03:07.291Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<time>2023-12-31T23:03:11.741Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<time>2023-12-31T23:03:17.114Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
<time>2023-12-31T23:03:28.573Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
<time>2023-12-31T23:03:32.796Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
<time>2023-12-31T23:03:38.750Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<time>2023-12-31T23:03:41.922Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
<time>2023-12-31T23:03:45.133Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
<time>2023-12-31T23:03:48.867Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
<time>2023-12-31T23:03:56.536Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
<time>2023-12-31T23:04:00.561Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
<time>2023-12-31T23:04:03.346Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
<time>2023-12-31T23:04:06.761Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
<time>2023-12-31T23:04:14.339Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
<time>2023-12-31T23:04:23.699Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<time>2023-12-31T23:04:27.973Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
<time>2023-12-31T23:04:32.307Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
<time>2023-12-31T23:04:44.408Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
<time>2023-12-31T23:04:48.146Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
<time>2023-12-31T23:05:00.532Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
<time>2023-12-31T23:05:11.852Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
<time>2023-12-31T23:05:23.300Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<time>2023-12-31T23:05:41.944Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<time>2023-12-31T23:05:49.538Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<time>2023-12-31T23:05:57.109Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<time>2023-12-31T23:06:03.116Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
<time>2023-12-31T23:06:14.336Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<time>2023-12-31T23:06:26.353Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
<time>2023-12-31T23:06:40.567Z</time>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,257 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_tracks</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>track 1</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
<trk>
|
|
||||||
<name>track 2</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.782212" lon="4.406377">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,346 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1" creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_tracks_and_segments</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<trk>
|
|
||||||
<name>track 1</name>
|
|
||||||
<type>Running</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<time>2023-12-31T23:00:00.000Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<time>2023-12-31T23:00:03.180Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<time>2023-12-31T23:00:11.254Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<time>2023-12-31T23:00:14.795Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
<time>2023-12-31T23:00:17.957Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<time>2023-12-31T23:00:21.759Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
<time>2023-12-31T23:00:29.948Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
<time>2023-12-31T23:00:36.098Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<time>2023-12-31T23:00:42.396Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
<time>2023-12-31T23:00:45.636Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<time>2023-12-31T23:00:48.827Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
<time>2023-12-31T23:00:55.249Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<time>2023-12-31T23:01:00.794Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
<time>2023-12-31T23:01:03.708Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<time>2023-12-31T23:01:06.542Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
<time>2023-12-31T23:01:11.014Z</time>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.78727108169855" lon="4.406133681127736">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<time>2023-12-31T23:01:14.708Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
<time>2023-12-31T23:01:15.462Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<time>2023-12-31T23:01:18.380Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
<time>2023-12-31T23:01:21.096Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<time>2023-12-31T23:01:29.464Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
<time>2023-12-31T23:01:32.682Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<time>2023-12-31T23:01:36.660Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<time>2023-12-31T23:01:38.184Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
<time>2023-12-31T23:01:40.055Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<time>2023-12-31T23:01:41.376Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<time>2023-12-31T23:01:43.274Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
<time>2023-12-31T23:01:49.687Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
<time>2023-12-31T23:01:53.549Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<time>2023-12-31T23:01:57.120Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
<time>2023-12-31T23:02:00.094Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
<time>2023-12-31T23:02:05.445Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
<time>2023-12-31T23:02:14.067Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
<time>2023-12-31T23:02:16.229Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<time>2023-12-31T23:02:17.992Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
<time>2023-12-31T23:02:19.738Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
<time>2023-12-31T23:02:27.089Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
<time>2023-12-31T23:02:28.758Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
<time>2023-12-31T23:02:30.996Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
<time>2023-12-31T23:02:32.625Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
<time>2023-12-31T23:02:34.328Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
<time>2023-12-31T23:02:36.079Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
<time>2023-12-31T23:02:37.411Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
<time>2023-12-31T23:02:38.993Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
<time>2023-12-31T23:02:40.634Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
<time>2023-12-31T23:02:42.559Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
<time>2023-12-31T23:02:45.085Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
<time>2023-12-31T23:02:56.184Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
<time>2023-12-31T23:03:00.586Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
<time>2023-12-31T23:03:03.305Z</time>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
<trk>
|
|
||||||
<name>track 2</name>
|
|
||||||
<type>Running</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.782212" lon="4.406377">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
<time>2023-12-31T23:03:17.151Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
<time>2023-12-31T23:03:18.020Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
<time>2023-12-31T23:03:29.479Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
<time>2023-12-31T23:03:33.702Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
<time>2023-12-31T23:03:39.656Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<time>2023-12-31T23:03:42.828Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
<time>2023-12-31T23:03:46.039Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
<time>2023-12-31T23:03:49.773Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
<time>2023-12-31T23:03:57.442Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
<time>2023-12-31T23:04:01.467Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
<time>2023-12-31T23:04:04.252Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
<time>2023-12-31T23:04:07.667Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
<time>2023-12-31T23:04:15.245Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
<time>2023-12-31T23:04:24.605Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<time>2023-12-31T23:04:28.879Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
<time>2023-12-31T23:04:33.213Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
<time>2023-12-31T23:04:45.314Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
<time>2023-12-31T23:04:49.052Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
<time>2023-12-31T23:05:01.438Z</time>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.77906316558724" lon="4.412547477922485">
|
|
||||||
<ele>133.3</ele>
|
|
||||||
<time>2023-12-31T23:05:03.324Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
<time>2023-12-31T23:05:12.804Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
<time>2023-12-31T23:05:24.252Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<time>2023-12-31T23:05:42.896Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<time>2023-12-31T23:05:50.490Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
<time>2023-12-31T23:05:58.061Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
<time>2023-12-31T23:06:04.068Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
<time>2023-12-31T23:06:15.288Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
<time>2023-12-31T23:06:27.305Z</time>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
<time>2023-12-31T23:06:41.519Z</time>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,276 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://www.topografix.com/GPX/1/1"
|
|
||||||
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd
|
|
||||||
http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd
|
|
||||||
http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd
|
|
||||||
http://www.topografix.com/GPX/gpx_style/0/2 http://www.topografix.com/GPX/gpx_style/0/2/gpx_style.xsd"
|
|
||||||
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
|
|
||||||
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
|
|
||||||
xmlns:gpx_style="http://www.topografix.com/GPX/gpx_style/0/2" version="1.1"
|
|
||||||
creator="https://gpx.studio">
|
|
||||||
<metadata>
|
|
||||||
<name>with_waypoint</name>
|
|
||||||
<author>
|
|
||||||
<name>gpx.studio</name>
|
|
||||||
<link href="https://gpx.studio"></link>
|
|
||||||
</author>
|
|
||||||
</metadata>
|
|
||||||
<wpt lat="50.7836710064975" lon="4.410764082658738">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
<name>waypoint name</name>
|
|
||||||
<cmt>waypoint comment</cmt>
|
|
||||||
<desc>waypoint description</desc>
|
|
||||||
<link href="https://gpx.studio">
|
|
||||||
<text>waypoint link text</text>
|
|
||||||
</link>
|
|
||||||
<sym>Bike Trail</sym>
|
|
||||||
<type>Bike Trail</type>
|
|
||||||
</wpt>
|
|
||||||
<trk>
|
|
||||||
<name>with_waypoint</name>
|
|
||||||
<type>Cycling</type>
|
|
||||||
<trkseg>
|
|
||||||
<trkpt lat="50.790867" lon="4.404968">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790714" lon="4.405036">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790336" lon="4.405259">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790165" lon="4.405331">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.790008" lon="4.405359">
|
|
||||||
<ele>110.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789818" lon="4.405359">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789409" lon="4.40534">
|
|
||||||
<ele>107.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.789105" lon="4.405411">
|
|
||||||
<ele>106.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788799" lon="4.405527">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.788645" lon="4.405606">
|
|
||||||
<ele>109.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.7885" lon="4.405711">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78822" lon="4.405959">
|
|
||||||
<ele>112.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787956" lon="4.406092">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787814" lon="4.406143">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787674" lon="4.406177">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787451" lon="4.406199">
|
|
||||||
<ele>115.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787297" lon="4.406177">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78716" lon="4.406098">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.787045" lon="4.405984">
|
|
||||||
<ele>114.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786683" lon="4.405653">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786538" lon="4.405543">
|
|
||||||
<ele>115.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78635" lon="4.405441">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786275" lon="4.40542">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786182" lon="4.405435">
|
|
||||||
<ele>116.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786121" lon="4.405475">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.786042" lon="4.405558">
|
|
||||||
<ele>115.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785821" lon="4.405925">
|
|
||||||
<ele>114.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785672" lon="4.406119">
|
|
||||||
<ele>112.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785516" lon="4.406256">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785384" lon="4.406364">
|
|
||||||
<ele>109.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.785126" lon="4.406475">
|
|
||||||
<ele>106.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784697" lon="4.406537">
|
|
||||||
<ele>104.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784591" lon="4.40657">
|
|
||||||
<ele>104.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784507" lon="4.406612">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784435" lon="4.40669">
|
|
||||||
<ele>103.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784209" lon="4.407148">
|
|
||||||
<ele>103.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784162" lon="4.407257">
|
|
||||||
<ele>103.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784077" lon="4.407372">
|
|
||||||
<ele>104.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.784006" lon="4.407435">
|
|
||||||
<ele>105.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783924" lon="4.407471">
|
|
||||||
<ele>106.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783837" lon="4.407486">
|
|
||||||
<ele>107.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783771" lon="4.407472">
|
|
||||||
<ele>108.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783697" lon="4.407428">
|
|
||||||
<ele>109.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783626" lon="4.407363">
|
|
||||||
<ele>110.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783548" lon="4.407274">
|
|
||||||
<ele>110.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783458" lon="4.407134">
|
|
||||||
<ele>110.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.783123" lon="4.406435">
|
|
||||||
<ele>111.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782982" lon="4.406168">
|
|
||||||
<ele>112.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782871" lon="4.406044">
|
|
||||||
<ele>113.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78279" lon="4.406021">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782714" lon="4.406018">
|
|
||||||
<ele>113.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782607" lon="4.406047">
|
|
||||||
<ele>113.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782405" lon="4.406194">
|
|
||||||
<ele>114.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.782175" lon="4.406413">
|
|
||||||
<ele>115.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781749" lon="4.407018">
|
|
||||||
<ele>118.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781654" lon="4.407316">
|
|
||||||
<ele>119.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781563" lon="4.407764">
|
|
||||||
<ele>121.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781487" lon="4.407984">
|
|
||||||
<ele>122.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781422" lon="4.408216">
|
|
||||||
<ele>122.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781395" lon="4.408508">
|
|
||||||
<ele>123.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781399" lon="4.409114">
|
|
||||||
<ele>126.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781367" lon="4.409428">
|
|
||||||
<ele>128.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.781286" lon="4.409607">
|
|
||||||
<ele>129.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.78116" lon="4.409789">
|
|
||||||
<ele>130.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780804" lon="4.409993">
|
|
||||||
<ele>130.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780389" lon="4.410334">
|
|
||||||
<ele>131.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780232" lon="4.410563">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.780094" lon="4.410827">
|
|
||||||
<ele>132.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779723" lon="4.411582">
|
|
||||||
<ele>135.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779591" lon="4.411791">
|
|
||||||
<ele>135.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.779125" lon="4.412435">
|
|
||||||
<ele>132.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778676" lon="4.412979">
|
|
||||||
<ele>134.0</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.778194" lon="4.413466">
|
|
||||||
<ele>136.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777427" lon="4.414302">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.777165" lon="4.414736">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776927" lon="4.415201">
|
|
||||||
<ele>137.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776778" lon="4.415613">
|
|
||||||
<ele>137.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776553" lon="4.416425">
|
|
||||||
<ele>134.8</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776326" lon="4.417304">
|
|
||||||
<ele>132.3</ele>
|
|
||||||
</trkpt>
|
|
||||||
<trkpt lat="50.776129" lon="4.418383">
|
|
||||||
<ele>129.5</ele>
|
|
||||||
</trkpt>
|
|
||||||
</trkseg>
|
|
||||||
</trk>
|
|
||||||
</gpx>
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
use crate::state::StackEntry;
|
|
||||||
|
|
||||||
pub trait Action {
|
|
||||||
fn apply(entry: &mut StackEntry) -> Result<(), &'static str>;
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
use crate::action::Action;
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
mod action;
|
|
||||||
mod file;
|
|
||||||
|
|
||||||
pub use action::*;
|
|
||||||
pub use file::*;
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
mod simplify;
|
|
||||||
mod smooth;
|
|
||||||
|
|
||||||
pub use simplify::*;
|
|
||||||
pub use smooth::*;
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
use crate::{
|
|
||||||
gpx::{TrackSegment, TrackSegmentIndex},
|
|
||||||
utils::crossarc,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub fn ramer_douglas_peucker<F>(
|
|
||||||
trkseg: &TrackSegment,
|
|
||||||
mapping: &F,
|
|
||||||
epsilon: f64,
|
|
||||||
) -> Vec<TrackSegmentIndex>
|
|
||||||
where
|
|
||||||
F: Fn(TrackSegmentIndex) -> (f64, f64),
|
|
||||||
{
|
|
||||||
match trkseg.len() {
|
|
||||||
0 => vec![],
|
|
||||||
1 => vec![trkseg.first_index().unwrap()],
|
|
||||||
2 => vec![trkseg.last_index().unwrap()],
|
|
||||||
_ => {
|
|
||||||
let first = trkseg.first_index().unwrap();
|
|
||||||
let last = trkseg.last_index().unwrap();
|
|
||||||
|
|
||||||
let mut indices = vec![first];
|
|
||||||
ramer_douglas_peucker_helper(trkseg, first, last, mapping, epsilon, &mut indices);
|
|
||||||
indices.push(last);
|
|
||||||
indices
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn ramer_douglas_peucker_helper<F>(
|
|
||||||
trkseg: &TrackSegment,
|
|
||||||
start: TrackSegmentIndex,
|
|
||||||
end: TrackSegmentIndex,
|
|
||||||
mapping: &F,
|
|
||||||
epsilon: f64,
|
|
||||||
indices: &mut Vec<TrackSegmentIndex>,
|
|
||||||
) where
|
|
||||||
F: Fn(TrackSegmentIndex) -> (f64, f64),
|
|
||||||
{
|
|
||||||
let mut max_idx = None;
|
|
||||||
let mut max_dist = 0.0;
|
|
||||||
|
|
||||||
let start_pt = mapping(start);
|
|
||||||
let end_pt = mapping(end);
|
|
||||||
|
|
||||||
let mut cur = trkseg.next_index(Some(start));
|
|
||||||
while let Some(idx) = cur {
|
|
||||||
if idx == end {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
let pt = mapping(idx);
|
|
||||||
let dist = crossarc(start_pt.0, start_pt.1, end_pt.0, end_pt.1, pt.0, pt.1);
|
|
||||||
if dist > max_dist {
|
|
||||||
max_idx = Some(idx);
|
|
||||||
max_dist = dist;
|
|
||||||
}
|
|
||||||
|
|
||||||
cur = trkseg.next_index(cur);
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Some(idx) = max_idx {
|
|
||||||
if max_dist > epsilon {
|
|
||||||
ramer_douglas_peucker_helper(trkseg, start, idx, mapping, epsilon, indices);
|
|
||||||
indices.push(idx);
|
|
||||||
ramer_douglas_peucker_helper(trkseg, idx, end, mapping, epsilon, indices);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
#[macro_export]
|
|
||||||
macro_rules! for_each_window {
|
|
||||||
(
|
|
||||||
$trkseg:expr,
|
|
||||||
$left:expr,
|
|
||||||
$right:expr,
|
|
||||||
$window:expr,
|
|
||||||
|$a:ident, $b:ident| $distance:expr,
|
|
||||||
|$i:ident, $l:ident, $r:ident| $body:block,
|
|
||||||
) => {{
|
|
||||||
let mut window_start = $left.unwrap_or_default();
|
|
||||||
let mut window_center = $left;
|
|
||||||
let mut window_end = $left.unwrap_or_default();
|
|
||||||
while let Some(idx) = window_center {
|
|
||||||
// advance left if needed
|
|
||||||
while window_start != idx && {
|
|
||||||
let $a = window_start;
|
|
||||||
let $b = idx;
|
|
||||||
$distance
|
|
||||||
} > $window {
|
|
||||||
if let Some(next) = $trkseg.next_index(Some(window_start)) {
|
|
||||||
if next == idx {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
window_start = next;
|
|
||||||
} else {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// advance right if needed
|
|
||||||
window_end = window_end.max(idx);
|
|
||||||
while let Some(next) = $trkseg.next_index(Some(window_end)) {
|
|
||||||
if window_end != idx && {
|
|
||||||
let $a = idx;
|
|
||||||
let $b = next;
|
|
||||||
$distance
|
|
||||||
} > $window {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
window_end = next;
|
|
||||||
}
|
|
||||||
// apply body
|
|
||||||
let $i = idx;
|
|
||||||
let $l = window_start;
|
|
||||||
let $r = window_end;
|
|
||||||
$body
|
|
||||||
// go next
|
|
||||||
if window_center == $right {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
window_center = $trkseg.next_index(window_center);
|
|
||||||
}
|
|
||||||
}};
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
pub struct CoordinatesBuffer {
|
|
||||||
pub lng: Vec<f64>,
|
|
||||||
pub lat: Vec<f64>,
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
mod coordinates;
|
|
||||||
mod statistics;
|
|
||||||
|
|
||||||
pub use coordinates::*;
|
|
||||||
pub use statistics::*;
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
use crate::statistics::{GlobalStatistics, Statistics, sum_options};
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct StatisticsBuffer {
|
|
||||||
pub total_distance: Vec<f64>,
|
|
||||||
pub moving_distance: Vec<f64>,
|
|
||||||
pub total_time: Vec<i32>,
|
|
||||||
pub moving_time: Vec<i32>,
|
|
||||||
pub speed: Vec<f64>,
|
|
||||||
pub elevation_gain: Vec<f64>,
|
|
||||||
pub elevation_loss: Vec<f64>,
|
|
||||||
pub slope: Vec<f64>,
|
|
||||||
pub slope_segment_slope: Vec<f64>,
|
|
||||||
pub slope_segment_distance: Vec<f64>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl StatisticsBuffer {
|
|
||||||
pub fn update(&mut self, stats: &[&Statistics]) {
|
|
||||||
self.total_distance.clear();
|
|
||||||
self.moving_distance.clear();
|
|
||||||
self.total_time.clear();
|
|
||||||
self.moving_time.clear();
|
|
||||||
self.speed.clear();
|
|
||||||
self.elevation_gain.clear();
|
|
||||||
self.elevation_loss.clear();
|
|
||||||
self.slope.clear();
|
|
||||||
self.slope_segment_slope.clear();
|
|
||||||
self.slope_segment_distance.clear();
|
|
||||||
|
|
||||||
let mut cumul_stats = GlobalStatistics::default();
|
|
||||||
for stats in stats {
|
|
||||||
for trkpt_stats in stats.local.iter() {
|
|
||||||
self.total_distance
|
|
||||||
.push(cumul_stats.total_distance + trkpt_stats.total_distance);
|
|
||||||
self.moving_distance.push(
|
|
||||||
sum_options(cumul_stats.moving_distance, trkpt_stats.moving_distance)
|
|
||||||
.unwrap_or_default(),
|
|
||||||
);
|
|
||||||
self.total_time.push(
|
|
||||||
sum_options(cumul_stats.total_time(), trkpt_stats.total_time)
|
|
||||||
.unwrap_or_default(),
|
|
||||||
);
|
|
||||||
self.moving_time.push(
|
|
||||||
sum_options(cumul_stats.moving_time, trkpt_stats.moving_time)
|
|
||||||
.unwrap_or_default(),
|
|
||||||
);
|
|
||||||
self.speed.push(trkpt_stats.speed.unwrap_or_default());
|
|
||||||
self.elevation_gain
|
|
||||||
.push(cumul_stats.elevation_gain + trkpt_stats.elevation_gain);
|
|
||||||
self.elevation_loss
|
|
||||||
.push(cumul_stats.elevation_loss + trkpt_stats.elevation_loss);
|
|
||||||
self.slope.push(trkpt_stats.slope);
|
|
||||||
self.slope_segment_slope
|
|
||||||
.push(trkpt_stats.slope_segment.slope);
|
|
||||||
self.slope_segment_distance
|
|
||||||
.push(trkpt_stats.slope_segment.distance);
|
|
||||||
}
|
|
||||||
cumul_stats.merge(&stats.global);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,152 +0,0 @@
|
|||||||
// TODO license in every file
|
|
||||||
|
|
||||||
use std::rc::Rc;
|
|
||||||
|
|
||||||
use js_sys::{Float64Array, Function, Int32Array};
|
|
||||||
use uuid::Uuid;
|
|
||||||
use wasm_bindgen::prelude::*;
|
|
||||||
|
|
||||||
use crate::{
|
|
||||||
buffer::StatisticsBuffer,
|
|
||||||
gpx::{File, FileId},
|
|
||||||
io::parse,
|
|
||||||
selection::Selection,
|
|
||||||
state::{Stack, StackEntry},
|
|
||||||
statistics::StatisticsCache,
|
|
||||||
};
|
|
||||||
|
|
||||||
extern crate console_error_panic_hook;
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
#[wasm_bindgen]
|
|
||||||
pub struct Engine {
|
|
||||||
stack: Stack,
|
|
||||||
selection: Selection,
|
|
||||||
statistics_cache: StatisticsCache,
|
|
||||||
statistics_buffer: StatisticsBuffer,
|
|
||||||
callback: Option<Function>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[wasm_bindgen]
|
|
||||||
impl Engine {
|
|
||||||
#[wasm_bindgen(constructor)]
|
|
||||||
pub fn new(callback: Function) -> Self {
|
|
||||||
console_error_panic_hook::set_once();
|
|
||||||
Self {
|
|
||||||
stack: Default::default(),
|
|
||||||
selection: Default::default(),
|
|
||||||
statistics_cache: Default::default(),
|
|
||||||
statistics_buffer: Default::default(),
|
|
||||||
callback: Some(callback),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn total_distance(&self) -> Float64Array {
|
|
||||||
unsafe { Float64Array::view(&self.statistics_buffer.total_distance) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn moving_distance(&self) -> Float64Array {
|
|
||||||
unsafe { Float64Array::view(&self.statistics_buffer.moving_distance) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn total_time(&self) -> Int32Array {
|
|
||||||
unsafe { Int32Array::view(&self.statistics_buffer.total_time) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn moving_time(&self) -> Int32Array {
|
|
||||||
unsafe { Int32Array::view(&self.statistics_buffer.moving_time) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn speed(&self) -> Float64Array {
|
|
||||||
unsafe { Float64Array::view(&self.statistics_buffer.speed) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn elevation_gain(&self) -> Float64Array {
|
|
||||||
unsafe { Float64Array::view(&self.statistics_buffer.elevation_gain) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn elevation_loss(&self) -> Float64Array {
|
|
||||||
unsafe { Float64Array::view(&self.statistics_buffer.elevation_loss) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn slope(&self) -> Float64Array {
|
|
||||||
unsafe { Float64Array::view(&self.statistics_buffer.slope) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn slope_segment_slope(&self) -> Float64Array {
|
|
||||||
unsafe { Float64Array::view(&self.statistics_buffer.slope_segment_slope) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn slope_segment_distance(&self) -> Float64Array {
|
|
||||||
unsafe { Float64Array::view(&self.statistics_buffer.slope_segment_distance) }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn create_file(&mut self, name: &str) {
|
|
||||||
self.event_loop(|entry| {
|
|
||||||
let mut file = File::default();
|
|
||||||
file.info.name = name.to_string();
|
|
||||||
entry.insert(file.id, Rc::new(file));
|
|
||||||
true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn load_file(&mut self, data: &[u8]) {
|
|
||||||
self.event_loop(|entry| {
|
|
||||||
if let Ok(file) = parse(data) {
|
|
||||||
entry.insert(file.id, Rc::new(file));
|
|
||||||
true
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn delete_file(&mut self, id: &[u8]) {
|
|
||||||
self.event_loop(|entry| {
|
|
||||||
if let Ok(id) = Uuid::from_slice(id) {
|
|
||||||
let id = FileId(id);
|
|
||||||
entry.remove(&id).is_some()
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
fn event_loop<F>(&mut self, f: F)
|
|
||||||
where
|
|
||||||
F: FnOnce(&mut StackEntry) -> bool,
|
|
||||||
{
|
|
||||||
if let Some(diff) = self.stack.create_and_push_next(f) {
|
|
||||||
self.selection.select(diff.added[0]);
|
|
||||||
self.statistics_cache.update(self.stack.current());
|
|
||||||
self.statistics_buffer.update(
|
|
||||||
&self
|
|
||||||
.statistics_cache
|
|
||||||
.get(self.stack.current(), &self.selection),
|
|
||||||
);
|
|
||||||
if let Some(c) = &self.callback {
|
|
||||||
let _ = c.call0(&JsValue::NULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use std::{fs::File, io::Read};
|
|
||||||
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_load_file() {
|
|
||||||
let mut engine = Engine::default();
|
|
||||||
|
|
||||||
let mut f = File::open("data/simple.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
|
|
||||||
engine.load_file(data.as_bytes());
|
|
||||||
|
|
||||||
assert_eq!(engine.statistics_buffer.total_distance.len(), 80);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
use uuid::Uuid;
|
|
||||||
|
|
||||||
use crate::gpx::{Trackpoint, Waypoint};
|
|
||||||
|
|
||||||
static MAX_TRKPT_CHUNK_SIZE: usize = 4096;
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Eq)]
|
|
||||||
pub struct TrackpointChunkId(Uuid);
|
|
||||||
|
|
||||||
impl Default for TrackpointChunkId {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self(Uuid::new_v4())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct TrackpointChunk {
|
|
||||||
pub id: TrackpointChunkId,
|
|
||||||
pub trkpt: Vec<Trackpoint>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl PartialEq for TrackpointChunk {
|
|
||||||
fn eq(&self, other: &Self) -> bool {
|
|
||||||
self.id == other.id
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl TrackpointChunk {
|
|
||||||
pub fn is_full(&self) -> bool {
|
|
||||||
self.trkpt.len() == MAX_TRKPT_CHUNK_SIZE
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Eq)]
|
|
||||||
pub struct WaypointChunkId(Uuid);
|
|
||||||
|
|
||||||
impl Default for WaypointChunkId {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self(Uuid::new_v4())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static MAX_WPT_CHUNK_SIZE: usize = 128;
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct WaypointChunk {
|
|
||||||
pub id: WaypointChunkId,
|
|
||||||
pub wpt: Vec<Waypoint>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl PartialEq for WaypointChunk {
|
|
||||||
fn eq(&self, other: &Self) -> bool {
|
|
||||||
self.id == other.id
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl WaypointChunk {
|
|
||||||
pub fn is_full(&self) -> bool {
|
|
||||||
self.wpt.len() == MAX_WPT_CHUNK_SIZE
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
#[derive(Debug, Default, PartialEq, Eq)]
|
|
||||||
pub struct Link {
|
|
||||||
pub href: String,
|
|
||||||
pub text: Option<String>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default, Clone, Copy)]
|
|
||||||
pub struct LngLat {
|
|
||||||
pub lng: f64,
|
|
||||||
pub lat: f64,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct LngLatBounds {
|
|
||||||
pub sw: LngLat,
|
|
||||||
pub ne: LngLat,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Default for LngLatBounds {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self {
|
|
||||||
sw: LngLat {
|
|
||||||
lng: 180.0,
|
|
||||||
lat: 90.0,
|
|
||||||
},
|
|
||||||
ne: LngLat {
|
|
||||||
lng: -180.0,
|
|
||||||
lat: -90.0,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl LngLatBounds {
|
|
||||||
pub fn extend(&mut self, coordinates: LngLat) {
|
|
||||||
self.sw.lng = self.sw.lng.min(coordinates.lng);
|
|
||||||
self.sw.lat = self.sw.lat.min(coordinates.lat);
|
|
||||||
self.ne.lng = self.ne.lng.min(coordinates.lng);
|
|
||||||
self.ne.lat = self.ne.lat.min(coordinates.lat);
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn merge(&mut self, other: &LngLatBounds) {
|
|
||||||
self.sw.lng = self.sw.lng.min(other.sw.lng);
|
|
||||||
self.sw.lat = self.sw.lat.min(other.sw.lat);
|
|
||||||
self.ne.lng = self.ne.lng.min(other.ne.lng);
|
|
||||||
self.ne.lat = self.ne.lat.min(other.ne.lat);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
use std::rc::Rc;
|
|
||||||
|
|
||||||
use uuid::Uuid;
|
|
||||||
|
|
||||||
use crate::gpx::{Link, Track, WaypointChunk};
|
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
||||||
pub struct FileId(pub Uuid);
|
|
||||||
|
|
||||||
impl Default for FileId {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self(Uuid::new_v4())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default, PartialEq)]
|
|
||||||
pub struct File {
|
|
||||||
pub id: FileId,
|
|
||||||
pub info: FileInfo,
|
|
||||||
pub trk: Vec<Track>,
|
|
||||||
pub wpt: Vec<Rc<WaypointChunk>>,
|
|
||||||
// TODO routes
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default, PartialEq)]
|
|
||||||
pub struct FileInfo {
|
|
||||||
pub name: String,
|
|
||||||
pub desc: Option<String>,
|
|
||||||
pub author: Option<Author>,
|
|
||||||
pub link: Option<Link>,
|
|
||||||
pub time: Option<i64>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default, PartialEq)]
|
|
||||||
pub struct Author {
|
|
||||||
pub name: Option<String>,
|
|
||||||
pub email: Option<String>,
|
|
||||||
pub link: Option<Link>,
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
mod chunk;
|
|
||||||
mod common;
|
|
||||||
mod file;
|
|
||||||
mod segment;
|
|
||||||
mod track;
|
|
||||||
mod trackpoint;
|
|
||||||
mod waypoint;
|
|
||||||
|
|
||||||
pub use chunk::*;
|
|
||||||
pub use common::*;
|
|
||||||
pub use file::*;
|
|
||||||
pub use segment::*;
|
|
||||||
pub use track::*;
|
|
||||||
pub use trackpoint::*;
|
|
||||||
pub use waypoint::*;
|
|
||||||
@@ -1,273 +0,0 @@
|
|||||||
use std::{ops::Index, rc::Rc};
|
|
||||||
|
|
||||||
use uuid::Uuid;
|
|
||||||
|
|
||||||
use crate::gpx::{Trackpoint, TrackpointChunk};
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Eq, Hash)]
|
|
||||||
pub struct TrackSegmentId(Uuid);
|
|
||||||
|
|
||||||
impl Default for TrackSegmentId {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self(Uuid::new_v4())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
||||||
pub struct TrackSegmentRevisionId(Uuid);
|
|
||||||
|
|
||||||
impl Default for TrackSegmentRevisionId {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self(Uuid::new_v4())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default, PartialEq)]
|
|
||||||
pub struct TrackSegment {
|
|
||||||
pub id: TrackSegmentId,
|
|
||||||
pub rev_id: TrackSegmentRevisionId,
|
|
||||||
chunks: Vec<Rc<TrackpointChunk>>,
|
|
||||||
cumul_length: Vec<usize>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl TrackSegment {
|
|
||||||
pub fn push(&mut self, chunk: TrackpointChunk) {
|
|
||||||
if chunk.trkpt.is_empty() {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
self.cumul_length
|
|
||||||
.push(self.cumul_length.last().copied().unwrap_or_default() + chunk.trkpt.len());
|
|
||||||
self.chunks.push(Rc::new(chunk));
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn len(&self) -> usize {
|
|
||||||
self.cumul_length.last().copied().unwrap_or_default()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn iter(&self) -> TrackSegmentIterator<'_> {
|
|
||||||
TrackSegmentIterator::new(self)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn first_index(&self) -> Option<TrackSegmentIndex> {
|
|
||||||
self.next_index(None)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn last_index(&self) -> Option<TrackSegmentIndex> {
|
|
||||||
self.prev_index(None)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn next_index(&self, cur: Option<TrackSegmentIndex>) -> Option<TrackSegmentIndex> {
|
|
||||||
let mut next = cur.map_or_default(|idx| TrackSegmentIndex {
|
|
||||||
chunk: idx.chunk,
|
|
||||||
pos: idx.pos + 1,
|
|
||||||
flat: idx.flat + 1,
|
|
||||||
});
|
|
||||||
loop {
|
|
||||||
if next.chunk >= self.chunks.len() {
|
|
||||||
return None;
|
|
||||||
}
|
|
||||||
if next.pos == self.chunks[next.chunk].trkpt.len() {
|
|
||||||
next.chunk += 1;
|
|
||||||
next.pos = 0;
|
|
||||||
} else {
|
|
||||||
return Some(next);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn prev_index(&self, cur: Option<TrackSegmentIndex>) -> Option<TrackSegmentIndex> {
|
|
||||||
let mut prev = cur.unwrap_or(TrackSegmentIndex {
|
|
||||||
chunk: self.chunks.len(),
|
|
||||||
pos: 0,
|
|
||||||
flat: self.cumul_length.last().copied().unwrap_or_default(),
|
|
||||||
});
|
|
||||||
loop {
|
|
||||||
if prev.pos == 0 {
|
|
||||||
if prev.chunk == 0 {
|
|
||||||
return None;
|
|
||||||
}
|
|
||||||
prev.chunk -= 1;
|
|
||||||
prev.pos = self.chunks[prev.chunk].trkpt.len();
|
|
||||||
prev.flat -= 1;
|
|
||||||
} else {
|
|
||||||
prev.pos -= 1;
|
|
||||||
prev.flat -= 1;
|
|
||||||
return Some(prev);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn locate(&self, idx: usize) -> Option<TrackSegmentIndex> {
|
|
||||||
let chunk = self.cumul_length.partition_point(|l| idx >= *l);
|
|
||||||
if chunk >= self.chunks.len() {
|
|
||||||
return None;
|
|
||||||
}
|
|
||||||
let pos = if chunk > 0 {
|
|
||||||
idx - self.cumul_length[chunk - 1]
|
|
||||||
} else {
|
|
||||||
idx
|
|
||||||
};
|
|
||||||
if pos >= self.chunks[chunk].trkpt.len() {
|
|
||||||
None
|
|
||||||
} else {
|
|
||||||
Some(TrackSegmentIndex {
|
|
||||||
chunk,
|
|
||||||
pos,
|
|
||||||
flat: idx,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Index<TrackSegmentIndex> for TrackSegment {
|
|
||||||
type Output = Trackpoint;
|
|
||||||
|
|
||||||
fn index(&self, idx: TrackSegmentIndex) -> &Self::Output {
|
|
||||||
&self.chunks[idx.chunk].trkpt[idx.pos]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Index<usize> for TrackSegment {
|
|
||||||
type Output = Trackpoint;
|
|
||||||
|
|
||||||
fn index(&self, idx: usize) -> &Self::Output {
|
|
||||||
&self[self.locate(idx).unwrap()]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, PartialOrd, Ord)]
|
|
||||||
pub struct TrackSegmentIndex {
|
|
||||||
pub chunk: usize,
|
|
||||||
pub pos: usize,
|
|
||||||
pub flat: usize,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
|
||||||
pub struct TrackSegmentIterator<'a> {
|
|
||||||
trkseg: &'a TrackSegment,
|
|
||||||
idx: Option<TrackSegmentIndex>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'a> TrackSegmentIterator<'a> {
|
|
||||||
pub fn new(trkseg: &'a TrackSegment) -> Self {
|
|
||||||
Self {
|
|
||||||
trkseg,
|
|
||||||
idx: Default::default(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'a> Iterator for TrackSegmentIterator<'a> {
|
|
||||||
type Item = &'a Trackpoint;
|
|
||||||
|
|
||||||
fn next(&mut self) -> Option<Self::Item> {
|
|
||||||
self.idx = self.trkseg.next_index(self.idx);
|
|
||||||
self.idx.map(|idx| &self.trkseg[idx])
|
|
||||||
}
|
|
||||||
|
|
||||||
fn nth(&mut self, n: usize) -> Option<Self::Item> {
|
|
||||||
let idx = self.idx.map_or_default(|idx| idx.flat) + n;
|
|
||||||
self.idx = self.trkseg.locate(idx);
|
|
||||||
self.idx.map(|idx| &self.trkseg[idx])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use crate::gpx::TrackpointChunk;
|
|
||||||
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
fn create_track_segment(nb_chunks: usize) -> TrackSegment {
|
|
||||||
let mut trkseg = TrackSegment::default();
|
|
||||||
let mut count = 0;
|
|
||||||
for n in 1..=nb_chunks {
|
|
||||||
let mut chunk = TrackpointChunk::default();
|
|
||||||
for _ in 0..n {
|
|
||||||
let mut trkpt = Trackpoint::default();
|
|
||||||
trkpt.ele = count as f64;
|
|
||||||
chunk.trkpt.push(trkpt);
|
|
||||||
count += 1;
|
|
||||||
}
|
|
||||||
trkseg.push(chunk);
|
|
||||||
}
|
|
||||||
trkseg
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_len() {
|
|
||||||
let nb_chunks = 10;
|
|
||||||
let trkseg = create_track_segment(nb_chunks);
|
|
||||||
assert_eq!(trkseg.len(), nb_chunks * (nb_chunks + 1) / 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_locate() {
|
|
||||||
let nb_chunks = 10;
|
|
||||||
let trkseg = create_track_segment(nb_chunks);
|
|
||||||
for i in 0..trkseg.len() {
|
|
||||||
let idx = trkseg.locate(i);
|
|
||||||
assert!(idx.is_some());
|
|
||||||
assert_eq!(trkseg[idx.unwrap()].ele, i as f64);
|
|
||||||
}
|
|
||||||
|
|
||||||
assert!(trkseg.locate(trkseg.len()).is_none());
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_index() {
|
|
||||||
let nb_chunks = 10;
|
|
||||||
let trkseg = create_track_segment(nb_chunks);
|
|
||||||
for i in 0..trkseg.len() {
|
|
||||||
assert_eq!(trkseg[i].ele, i as f64);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
#[should_panic]
|
|
||||||
fn test_index_out_of_bounds_1() {
|
|
||||||
let nb_chunks = 10;
|
|
||||||
let trkseg = create_track_segment(nb_chunks);
|
|
||||||
trkseg[trkseg.len()].ele;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
#[should_panic]
|
|
||||||
fn test_index_out_of_bounds_2() {
|
|
||||||
let nb_chunks = 10;
|
|
||||||
let trkseg = create_track_segment(nb_chunks);
|
|
||||||
trkseg[TrackSegmentIndex {
|
|
||||||
chunk: trkseg.chunks.len(),
|
|
||||||
pos: 0,
|
|
||||||
flat: 0,
|
|
||||||
}]
|
|
||||||
.ele;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_iter() {
|
|
||||||
let nb_chunks = 10;
|
|
||||||
let trkseg = create_track_segment(nb_chunks);
|
|
||||||
for (i, trkpt) in trkseg.iter().enumerate() {
|
|
||||||
assert!(std::ptr::eq(&trkseg[i], trkpt));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_iter_nth() {
|
|
||||||
let nb_chunks = 10;
|
|
||||||
let trkseg = create_track_segment(nb_chunks);
|
|
||||||
let tenth = trkseg.iter().nth(10);
|
|
||||||
assert!(tenth.is_some());
|
|
||||||
assert!(std::ptr::eq(&trkseg[10], tenth.unwrap()));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_iter_skip() {
|
|
||||||
let nb_chunks = 10;
|
|
||||||
let trkseg = create_track_segment(nb_chunks);
|
|
||||||
for (i, trkpt) in trkseg.iter().enumerate().skip(5) {
|
|
||||||
assert!(std::ptr::eq(&trkseg[i], trkpt));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
use uuid::Uuid;
|
|
||||||
|
|
||||||
use crate::gpx::{Link, TrackSegment};
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Eq, Hash)]
|
|
||||||
pub struct TrackId(Uuid);
|
|
||||||
|
|
||||||
impl Default for TrackId {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self(Uuid::new_v4())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default, PartialEq)]
|
|
||||||
pub struct Track {
|
|
||||||
pub id: TrackId,
|
|
||||||
pub info: TrackInfo,
|
|
||||||
pub trkseg: Vec<TrackSegment>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default, PartialEq)]
|
|
||||||
pub struct TrackInfo {
|
|
||||||
pub name: Option<String>,
|
|
||||||
pub cmt: Option<String>,
|
|
||||||
pub desc: Option<String>,
|
|
||||||
pub src: Option<String>,
|
|
||||||
pub link: Option<Link>,
|
|
||||||
pub type_: Option<String>,
|
|
||||||
pub color: Option<String>,
|
|
||||||
pub opacity: Option<f64>,
|
|
||||||
pub width: Option<f64>,
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
use crate::gpx::LngLat;
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct Trackpoint {
|
|
||||||
pub coordinates: LngLat,
|
|
||||||
pub ele: f64,
|
|
||||||
pub time: Option<i64>,
|
|
||||||
pub atemp: Option<i16>,
|
|
||||||
pub hr: Option<u16>,
|
|
||||||
pub cad: Option<u16>,
|
|
||||||
pub power: Option<u16>,
|
|
||||||
// TODO OSM data? or store intervals at a higher level?
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
use uuid::Uuid;
|
|
||||||
|
|
||||||
use crate::gpx::{Link, LngLat};
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Eq)]
|
|
||||||
pub struct WaypointId(Uuid);
|
|
||||||
|
|
||||||
impl Default for WaypointId {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self(Uuid::new_v4())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct Waypoint {
|
|
||||||
pub id: WaypointId,
|
|
||||||
pub coordinates: LngLat,
|
|
||||||
pub ele: f64,
|
|
||||||
pub time: Option<i64>,
|
|
||||||
pub name: Option<String>,
|
|
||||||
pub cmt: Option<String>,
|
|
||||||
pub desc: Option<String>,
|
|
||||||
pub link: Option<Link>,
|
|
||||||
pub sym: Option<String>,
|
|
||||||
pub type_: Option<String>,
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
mod parse;
|
|
||||||
|
|
||||||
pub use parse::*;
|
|
||||||
@@ -1,637 +0,0 @@
|
|||||||
use std::rc::Rc;
|
|
||||||
|
|
||||||
use crate::gpx::{
|
|
||||||
Author, File, Link, LngLat, Track, TrackSegment, Trackpoint, TrackpointChunk, Waypoint,
|
|
||||||
WaypointChunk,
|
|
||||||
};
|
|
||||||
use chrono::DateTime;
|
|
||||||
use quick_xml::Error;
|
|
||||||
use quick_xml::events::Event;
|
|
||||||
use quick_xml::events::attributes::Attributes;
|
|
||||||
use quick_xml::reader::Reader;
|
|
||||||
|
|
||||||
enum GPXElement {
|
|
||||||
Metadata,
|
|
||||||
Name,
|
|
||||||
Comment,
|
|
||||||
Description,
|
|
||||||
Source,
|
|
||||||
Author(Author),
|
|
||||||
Link(Link),
|
|
||||||
Text,
|
|
||||||
Track(Track),
|
|
||||||
Segment(TrackSegment),
|
|
||||||
Trackpoint(Trackpoint),
|
|
||||||
Waypoint(Waypoint),
|
|
||||||
Elevation,
|
|
||||||
Time,
|
|
||||||
Temperature,
|
|
||||||
Heartrate,
|
|
||||||
Cadence,
|
|
||||||
Power,
|
|
||||||
Symbol,
|
|
||||||
Type,
|
|
||||||
Color,
|
|
||||||
Opacity,
|
|
||||||
Width,
|
|
||||||
}
|
|
||||||
|
|
||||||
fn parse_coordinates(attributes: Attributes<'_>) -> LngLat {
|
|
||||||
let mut coordinates = LngLat::default();
|
|
||||||
for attr in attributes {
|
|
||||||
if let Ok(attr) = attr {
|
|
||||||
match attr.key.as_ref() {
|
|
||||||
"lat" => coordinates.lat = attr.value.parse().unwrap_or_default(),
|
|
||||||
"lon" => coordinates.lng = attr.value.parse().unwrap_or_default(),
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
coordinates
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn parse(data: &[u8]) -> Result<File, Error> {
|
|
||||||
let mut reader = Reader::from_reader(data);
|
|
||||||
let mut buf = vec![];
|
|
||||||
let mut gpx = File::default();
|
|
||||||
let mut stack: Vec<GPXElement> = vec![];
|
|
||||||
let mut trkpt_chunk = TrackpointChunk::default();
|
|
||||||
let mut wpt_chunk = WaypointChunk::default();
|
|
||||||
loop {
|
|
||||||
match reader.read_event_into(&mut buf) {
|
|
||||||
Ok(Event::Start(e)) => match e.name().as_ref() {
|
|
||||||
"metadata" => stack.push(GPXElement::Metadata),
|
|
||||||
"name" => stack.push(GPXElement::Name),
|
|
||||||
"cmt" => stack.push(GPXElement::Comment),
|
|
||||||
"desc" => stack.push(GPXElement::Description),
|
|
||||||
"src" => stack.push(GPXElement::Source),
|
|
||||||
"author" => stack.push(GPXElement::Author(Author::default())),
|
|
||||||
"link" => {
|
|
||||||
let mut link = Link::default();
|
|
||||||
for attr in e.attributes() {
|
|
||||||
if let Ok(attr) = attr {
|
|
||||||
if attr.key.as_ref() == "href" {
|
|
||||||
link.href = attr.value.to_string();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stack.push(GPXElement::Link(link));
|
|
||||||
}
|
|
||||||
"text" => stack.push(GPXElement::Text),
|
|
||||||
"trk" => stack.push(GPXElement::Track(Track::default())),
|
|
||||||
"trkseg" => {
|
|
||||||
stack.push(GPXElement::Segment(TrackSegment::default()));
|
|
||||||
}
|
|
||||||
"trkpt" => {
|
|
||||||
let mut trkpt = Trackpoint::default();
|
|
||||||
trkpt.coordinates = parse_coordinates(e.attributes());
|
|
||||||
stack.push(GPXElement::Trackpoint(trkpt));
|
|
||||||
}
|
|
||||||
"wpt" => {
|
|
||||||
let mut wpt = Waypoint::default();
|
|
||||||
wpt.coordinates = parse_coordinates(e.attributes());
|
|
||||||
stack.push(GPXElement::Waypoint(wpt));
|
|
||||||
}
|
|
||||||
"ele" => stack.push(GPXElement::Elevation),
|
|
||||||
"time" => stack.push(GPXElement::Time),
|
|
||||||
e if e.ends_with("atemp") => stack.push(GPXElement::Temperature),
|
|
||||||
e if e.ends_with("hr") => stack.push(GPXElement::Heartrate),
|
|
||||||
e if e.ends_with("cad") => stack.push(GPXElement::Cadence),
|
|
||||||
"power" => stack.push(GPXElement::Power),
|
|
||||||
e if e.ends_with("PowerInWatts") => stack.push(GPXElement::Power),
|
|
||||||
"sym" => stack.push(GPXElement::Symbol),
|
|
||||||
"type" => stack.push(GPXElement::Type),
|
|
||||||
e if e.ends_with("color") => stack.push(GPXElement::Color),
|
|
||||||
e if e.ends_with("opacity") => stack.push(GPXElement::Opacity),
|
|
||||||
e if e.ends_with("width") => stack.push(GPXElement::Width),
|
|
||||||
_ => (),
|
|
||||||
},
|
|
||||||
Ok(Event::End(e)) => match e.name().as_ref() {
|
|
||||||
"gpx" => {
|
|
||||||
if !wpt_chunk.wpt.is_empty() {
|
|
||||||
gpx.wpt.push(Rc::new(wpt_chunk));
|
|
||||||
wpt_chunk = WaypointChunk::default();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"metadata" => {
|
|
||||||
stack.pop();
|
|
||||||
}
|
|
||||||
"author" => {
|
|
||||||
if let Some(GPXElement::Author(author)) = stack.pop() {
|
|
||||||
gpx.info.author = Some(author);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"link" => {
|
|
||||||
if let Some(GPXElement::Link(link)) = stack.pop() {
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Author(author)) => {
|
|
||||||
author.link = Some(link);
|
|
||||||
}
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
trk.info.link = Some(link);
|
|
||||||
}
|
|
||||||
Some(GPXElement::Waypoint(wpt)) => {
|
|
||||||
wpt.link = Some(link);
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"trk" => {
|
|
||||||
if let Some(GPXElement::Track(trk)) = stack.pop() {
|
|
||||||
gpx.trk.push(trk);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"trkseg" => {
|
|
||||||
if let Some(GPXElement::Segment(mut trkseg)) = stack.pop() {
|
|
||||||
if let Some(GPXElement::Track(trk)) = stack.last_mut() {
|
|
||||||
if !trkpt_chunk.trkpt.is_empty() {
|
|
||||||
trkseg.push(trkpt_chunk);
|
|
||||||
trkpt_chunk = TrackpointChunk::default();
|
|
||||||
}
|
|
||||||
trk.trkseg.push(trkseg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"trkpt" => {
|
|
||||||
if let Some(GPXElement::Trackpoint(trkpt)) = stack.pop() {
|
|
||||||
if let Some(GPXElement::Segment(trkseg)) = stack.last_mut() {
|
|
||||||
trkpt_chunk.trkpt.push(trkpt);
|
|
||||||
if trkpt_chunk.is_full() {
|
|
||||||
trkseg.push(trkpt_chunk);
|
|
||||||
trkpt_chunk = TrackpointChunk::default();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"wpt" => {
|
|
||||||
if let Some(GPXElement::Waypoint(wpt)) = stack.pop() {
|
|
||||||
wpt_chunk.wpt.push(wpt);
|
|
||||||
if wpt_chunk.is_full() {
|
|
||||||
gpx.wpt.push(Rc::new(wpt_chunk));
|
|
||||||
wpt_chunk = WaypointChunk::default();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
},
|
|
||||||
Ok(Event::Text(e)) => match stack.last_mut() {
|
|
||||||
Some(GPXElement::Name) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Metadata) => {
|
|
||||||
gpx.info.name = e.to_string();
|
|
||||||
}
|
|
||||||
Some(GPXElement::Author(author)) => {
|
|
||||||
author.name = Some(e.to_string());
|
|
||||||
}
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
trk.info.name = Some(e.to_string());
|
|
||||||
}
|
|
||||||
Some(GPXElement::Waypoint(wpt)) => {
|
|
||||||
wpt.name = Some(e.to_string());
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Comment) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
trk.info.cmt = Some(e.to_string());
|
|
||||||
}
|
|
||||||
Some(GPXElement::Waypoint(wpt)) => {
|
|
||||||
wpt.cmt = Some(e.to_string());
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Description) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Metadata) => {
|
|
||||||
gpx.info.desc = Some(e.to_string());
|
|
||||||
}
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
trk.info.desc = Some(e.to_string());
|
|
||||||
}
|
|
||||||
Some(GPXElement::Waypoint(wpt)) => {
|
|
||||||
wpt.desc = Some(e.to_string());
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Source) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
trk.info.src = Some(e.to_string());
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Text) => {
|
|
||||||
stack.pop();
|
|
||||||
if let Some(GPXElement::Link(link)) = stack.last_mut() {
|
|
||||||
link.text = Some(e.to_string());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Elevation) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Trackpoint(trkpt)) => {
|
|
||||||
trkpt.ele = e.parse().unwrap_or_default();
|
|
||||||
}
|
|
||||||
Some(GPXElement::Waypoint(wpt)) => {
|
|
||||||
wpt.ele = e.parse().unwrap_or_default();
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Time) => {
|
|
||||||
stack.pop();
|
|
||||||
if let Some(GPXElement::Trackpoint(trkpt)) = stack.last_mut() {
|
|
||||||
if let Ok(time) = DateTime::parse_from_rfc3339(e.as_ref()) {
|
|
||||||
trkpt.time = Some(time.timestamp_millis());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Temperature) => {
|
|
||||||
stack.pop();
|
|
||||||
if let Some(GPXElement::Trackpoint(trkpt)) = stack.last_mut() {
|
|
||||||
trkpt.atemp = e.parse().ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Heartrate) => {
|
|
||||||
stack.pop();
|
|
||||||
if let Some(GPXElement::Trackpoint(trkpt)) = stack.last_mut() {
|
|
||||||
trkpt.hr = e.parse().ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Cadence) => {
|
|
||||||
stack.pop();
|
|
||||||
if let Some(GPXElement::Trackpoint(trkpt)) = stack.last_mut() {
|
|
||||||
trkpt.cad = e.parse().ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Power) => {
|
|
||||||
stack.pop();
|
|
||||||
if let Some(GPXElement::Trackpoint(trkpt)) = stack.last_mut() {
|
|
||||||
trkpt.power = e.parse().ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Symbol) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Waypoint(wpt)) => {
|
|
||||||
wpt.sym = Some(e.to_string());
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Type) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
trk.info.type_ = Some(e.to_string());
|
|
||||||
}
|
|
||||||
Some(GPXElement::Waypoint(wpt)) => {
|
|
||||||
wpt.type_ = Some(e.to_string());
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Color) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
let mut color = "#".to_string();
|
|
||||||
color.push_str(&e);
|
|
||||||
trk.info.color = Some(color);
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Opacity) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
trk.info.opacity = e.parse().ok();
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(GPXElement::Width) => {
|
|
||||||
stack.pop();
|
|
||||||
match stack.last_mut() {
|
|
||||||
Some(GPXElement::Track(trk)) => {
|
|
||||||
trk.info.width = e.parse().ok();
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
},
|
|
||||||
Ok(Event::Eof) => break,
|
|
||||||
Err(e) => return Err(e),
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
buf.clear();
|
|
||||||
}
|
|
||||||
Ok(gpx)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use std::{fs::File, io::Read};
|
|
||||||
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_simple() {
|
|
||||||
let mut f = File::open("data/simple.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.info.name, "simple");
|
|
||||||
assert!(gpx.info.desc.is_some_and(|d| d == "description"));
|
|
||||||
assert!(gpx.info.author.is_some());
|
|
||||||
let author = gpx.info.author.as_ref().unwrap();
|
|
||||||
assert!(author.name.as_ref().is_some_and(|n| n == "gpx.studio"));
|
|
||||||
assert!(author.link.is_some());
|
|
||||||
let link = author.link.as_ref().unwrap();
|
|
||||||
assert_eq!(link.href, "https://gpx.studio");
|
|
||||||
assert!(link.text.as_ref().is_some_and(|t| t == "link text"));
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert!(trk.info.name.as_ref().is_some_and(|n| n == "track name"));
|
|
||||||
assert!(trk.info.cmt.as_ref().is_some_and(|c| c == "track comment"));
|
|
||||||
assert!(
|
|
||||||
trk.info
|
|
||||||
.desc
|
|
||||||
.as_ref()
|
|
||||||
.is_some_and(|d| d == "track description")
|
|
||||||
);
|
|
||||||
assert!(trk.info.src.as_ref().is_some_and(|s| s == "track source"));
|
|
||||||
assert!(trk.info.link.is_some());
|
|
||||||
let link = trk.info.link.as_ref().unwrap();
|
|
||||||
assert_eq!(link.href, "https://gpx.studio");
|
|
||||||
assert!(link.text.as_ref().is_some_and(|t| t == "track link text"));
|
|
||||||
assert!(trk.info.type_.as_ref().is_some_and(|c| c == "Cycling"));
|
|
||||||
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert_eq!(trkseg.len(), 80);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.790867);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.404968);
|
|
||||||
assert_eq!(trkpt.ele, 109.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_tracks() {
|
|
||||||
let mut f = File::open("data/with_tracks.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 2);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert!(trk.info.name.as_ref().is_some_and(|n| n == "track 1"));
|
|
||||||
assert!(trk.info.type_.as_ref().is_some_and(|c| c == "Cycling"));
|
|
||||||
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert_eq!(trkseg.len(), 49);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.790867);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.404968);
|
|
||||||
assert_eq!(trkpt.ele, 109.0);
|
|
||||||
|
|
||||||
let trk = &gpx.trk[1];
|
|
||||||
assert!(trk.info.name.as_ref().is_some_and(|n| n == "track 2"));
|
|
||||||
assert!(trk.info.type_.as_ref().is_some_and(|c| c == "Cycling"));
|
|
||||||
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert_eq!(trkseg.len(), 28);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.782212);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.406377);
|
|
||||||
assert_eq!(trkpt.ele, 115.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_segments() {
|
|
||||||
let mut f = File::open("data/with_segments.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
|
|
||||||
assert_eq!(trk.trkseg.len(), 2);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert_eq!(trkseg.len(), 49);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.790867);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.404968);
|
|
||||||
assert_eq!(trkpt.ele, 109.0);
|
|
||||||
|
|
||||||
let trkseg = &trk.trkseg[1];
|
|
||||||
assert_eq!(trkseg.len(), 28);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.782212);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.406377);
|
|
||||||
assert_eq!(trkpt.ele, 115.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_tracks_and_segments() {
|
|
||||||
let mut f = File::open("data/with_tracks_and_segments.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 2);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
|
|
||||||
assert_eq!(trk.trkseg.len(), 2);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert_eq!(trkseg.len(), 16);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.790867);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.404968);
|
|
||||||
assert_eq!(trkpt.ele, 109.0);
|
|
||||||
|
|
||||||
let trkseg = &trk.trkseg[1];
|
|
||||||
assert_eq!(trkseg.len(), 34);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.78727108169855);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.406133681127736);
|
|
||||||
assert_eq!(trkpt.ele, 115.0);
|
|
||||||
|
|
||||||
let trk = &gpx.trk[1];
|
|
||||||
|
|
||||||
assert_eq!(trk.trkseg.len(), 2);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert_eq!(trkseg.len(), 19);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.782212);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.406377);
|
|
||||||
assert_eq!(trkpt.ele, 115.5);
|
|
||||||
|
|
||||||
let trkseg = &trk.trkseg[1];
|
|
||||||
assert_eq!(trkseg.len(), 10);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert_eq!(trkpt.coordinates.lat, 50.77906316558724);
|
|
||||||
assert_eq!(trkpt.coordinates.lng, 4.412547477922485);
|
|
||||||
assert_eq!(trkpt.ele, 133.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_waypoint() {
|
|
||||||
let mut f = File::open("data/with_waypoint.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.wpt.len(), 1);
|
|
||||||
let chunk = &gpx.wpt[0];
|
|
||||||
assert_eq!(chunk.wpt.len(), 1);
|
|
||||||
let wpt = &chunk.wpt[0];
|
|
||||||
assert_eq!(wpt.coordinates.lat, 50.7836710064975);
|
|
||||||
assert_eq!(wpt.coordinates.lng, 4.410764082658738);
|
|
||||||
assert!(wpt.name.as_ref().is_some_and(|n| n == "waypoint name"));
|
|
||||||
assert!(wpt.cmt.as_ref().is_some_and(|c| c == "waypoint comment"));
|
|
||||||
assert!(
|
|
||||||
wpt.desc
|
|
||||||
.as_ref()
|
|
||||||
.is_some_and(|d| d == "waypoint description")
|
|
||||||
);
|
|
||||||
assert!(wpt.link.is_some());
|
|
||||||
let link = wpt.link.as_ref().unwrap();
|
|
||||||
assert_eq!(link.href, "https://gpx.studio");
|
|
||||||
assert!(
|
|
||||||
link.text
|
|
||||||
.as_ref()
|
|
||||||
.is_some_and(|t| t == "waypoint link text")
|
|
||||||
);
|
|
||||||
assert!(wpt.sym.as_ref().is_some_and(|s| s == "Bike Trail"));
|
|
||||||
assert!(wpt.type_.as_ref().is_some_and(|t| t == "Bike Trail"));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_trackpoint_time() {
|
|
||||||
let mut f = File::open("data/with_time.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert!(trkseg.len() > 0);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert!(trkpt.time.is_some_and(|t| t == 1704063600000));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_trackpoint_hr() {
|
|
||||||
let mut f = File::open("data/with_hr.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert!(trkseg.len() > 0);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert!(trkpt.hr.is_some_and(|h| h == 150));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_trackpoint_cad() {
|
|
||||||
let mut f = File::open("data/with_cad.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert!(trkseg.len() > 0);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert!(trkpt.cad.is_some_and(|c| c == 80));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_trackpoint_power_1() {
|
|
||||||
let mut f = File::open("data/with_power_1.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert!(trkseg.len() > 0);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert!(trkpt.power.is_some_and(|p| p == 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_trackpoint_power_2() {
|
|
||||||
let mut f = File::open("data/with_power_2.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert!(trkseg.len() > 0);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert!(trkpt.power.is_some_and(|p| p == 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_trackpoint_atemp() {
|
|
||||||
let mut f = File::open("data/with_temp.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
let trkseg = &trk.trkseg[0];
|
|
||||||
assert!(trkseg.len() > 0);
|
|
||||||
let trkpt = &trkseg[0];
|
|
||||||
assert!(trkpt.atemp.is_some_and(|t| t == 21));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_parse_track_style() {
|
|
||||||
let mut f = File::open("data/with_style.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
assert_eq!(gpx.trk.len(), 1);
|
|
||||||
let trk = &gpx.trk[0];
|
|
||||||
assert_eq!(trk.trkseg.len(), 1);
|
|
||||||
assert!(trk.info.color.as_ref().is_some_and(|c| c == "#2d3ee9"));
|
|
||||||
assert!(trk.info.opacity.is_some_and(|o| o == 0.5));
|
|
||||||
assert!(trk.info.width.is_some_and(|w| w == 6.0));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
mod action;
|
|
||||||
mod algorithm;
|
|
||||||
mod buffer;
|
|
||||||
mod engine;
|
|
||||||
mod gpx;
|
|
||||||
mod io;
|
|
||||||
mod selection;
|
|
||||||
mod state;
|
|
||||||
mod statistics;
|
|
||||||
mod utils;
|
|
||||||
|
|
||||||
pub use engine::*;
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
use std::collections::HashSet;
|
|
||||||
|
|
||||||
use crate::gpx::{FileId, TrackId, TrackSegmentId, WaypointId};
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct FileSelection {
|
|
||||||
pub files: HashSet<FileId>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct TrackSelection {
|
|
||||||
pub file: FileId,
|
|
||||||
pub trk: HashSet<TrackId>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct TrackSegmentSelection {
|
|
||||||
pub file: FileId,
|
|
||||||
pub trk: TrackId,
|
|
||||||
pub trkseg: HashSet<TrackSegmentId>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct WaypointsSelection {
|
|
||||||
pub file: FileId,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct WaypointSelection {
|
|
||||||
pub file: FileId,
|
|
||||||
pub wpt: HashSet<WaypointId>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub enum Selection {
|
|
||||||
#[default]
|
|
||||||
Empty,
|
|
||||||
File(FileSelection),
|
|
||||||
Track(TrackSelection),
|
|
||||||
TrackSegment(TrackSegmentSelection),
|
|
||||||
Waypoints(WaypointsSelection),
|
|
||||||
Waypoint(WaypointSelection),
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Selection {
|
|
||||||
pub fn select(&mut self, id: FileId) {
|
|
||||||
let mut files = HashSet::default();
|
|
||||||
files.insert(id);
|
|
||||||
*self = Selection::File(FileSelection { files });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
mod stack;
|
|
||||||
|
|
||||||
pub use stack::*;
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
use std::{
|
|
||||||
collections::{HashMap, HashSet},
|
|
||||||
rc::Rc,
|
|
||||||
};
|
|
||||||
|
|
||||||
use crate::gpx::{File, FileId};
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct Stack {
|
|
||||||
entries: Vec<StackEntry>,
|
|
||||||
index: Option<usize>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Stack {
|
|
||||||
pub fn current(&self) -> Option<&StackEntry> {
|
|
||||||
self.index.map_or_default(|i| self.get(i))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn create_and_push_next<F>(&mut self, f: F) -> Option<Diff>
|
|
||||||
where
|
|
||||||
F: FnOnce(&mut StackEntry) -> bool,
|
|
||||||
{
|
|
||||||
self.record_diff(|stack| {
|
|
||||||
let mut next = stack.current().map_or_default(|c| c.clone());
|
|
||||||
if f(&mut next) {
|
|
||||||
stack.push(next);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn undo(&mut self) -> Option<Diff> {
|
|
||||||
self.record_diff(|stack| {
|
|
||||||
if let Some(i) = stack.index {
|
|
||||||
if i == 0 {
|
|
||||||
stack.index = None;
|
|
||||||
} else {
|
|
||||||
stack.index = Some(i - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn redo(&mut self) -> Option<Diff> {
|
|
||||||
self.record_diff(|stack| match stack.index {
|
|
||||||
Some(i) => {
|
|
||||||
if i + 1 < stack.entries.len() {
|
|
||||||
stack.index = Some(i + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
None => {
|
|
||||||
if !stack.entries.is_empty() {
|
|
||||||
stack.index = Some(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn can_undo(&self) -> bool {
|
|
||||||
self.index.is_some()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn can_redo(&self) -> bool {
|
|
||||||
match self.index {
|
|
||||||
Some(i) => i + 1 < self.entries.len(),
|
|
||||||
None => !self.entries.is_empty(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get(&self, index: usize) -> Option<&StackEntry> {
|
|
||||||
if index < self.entries.len() {
|
|
||||||
Some(&self.entries[index])
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn push(&mut self, entry: StackEntry) {
|
|
||||||
if let Some(i) = self.index {
|
|
||||||
if i + 1 < self.entries.len() {
|
|
||||||
self.entries.truncate(i + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.entries.push(entry);
|
|
||||||
self.index = Some(self.entries.len() - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn record_diff<F>(&mut self, f: F) -> Option<Diff>
|
|
||||||
where
|
|
||||||
F: FnOnce(&mut Self),
|
|
||||||
{
|
|
||||||
let prev = self.index;
|
|
||||||
f(self);
|
|
||||||
let cur = self.index;
|
|
||||||
if prev == cur {
|
|
||||||
return None;
|
|
||||||
}
|
|
||||||
let prev = prev.map_or_default(|i| self.get(i));
|
|
||||||
let cur = cur.map_or_default(|i| self.get(i));
|
|
||||||
let prev_ids: HashSet<FileId> = prev.map_or_default(|e| e.keys().copied().collect());
|
|
||||||
let cur_ids: HashSet<FileId> = cur.map_or_default(|e| e.keys().copied().collect());
|
|
||||||
let mut modified = vec![];
|
|
||||||
for id in prev_ids.intersection(&cur_ids) {
|
|
||||||
let before = prev.map_or_default(|e| e.get(id));
|
|
||||||
let after = cur.map_or_default(|e| e.get(id));
|
|
||||||
if before != after {
|
|
||||||
modified.push(*id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(Diff {
|
|
||||||
added: cur_ids.difference(&prev_ids).copied().collect(),
|
|
||||||
removed: prev_ids.difference(&cur_ids).copied().collect(),
|
|
||||||
modified,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub type StackEntry = HashMap<FileId, Rc<File>>;
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct Diff {
|
|
||||||
pub added: Vec<FileId>,
|
|
||||||
pub removed: Vec<FileId>,
|
|
||||||
pub modified: Vec<FileId>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_new_file() {
|
|
||||||
let mut stack = Stack::default();
|
|
||||||
|
|
||||||
assert!(!stack.can_undo());
|
|
||||||
assert!(!stack.can_redo());
|
|
||||||
assert!(stack.current().is_none());
|
|
||||||
|
|
||||||
let diff = stack.create_and_push_next(|e| {
|
|
||||||
let file = Rc::new(File::default());
|
|
||||||
e.insert(file.id, file);
|
|
||||||
true
|
|
||||||
});
|
|
||||||
|
|
||||||
assert!(stack.can_undo());
|
|
||||||
assert!(!stack.can_redo());
|
|
||||||
assert!(stack.current().is_some());
|
|
||||||
|
|
||||||
assert!(diff.is_some());
|
|
||||||
|
|
||||||
let diff = diff.unwrap();
|
|
||||||
assert_eq!(diff.added.len(), 1);
|
|
||||||
assert!(diff.removed.is_empty());
|
|
||||||
assert!(diff.modified.is_empty());
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO more tests
|
|
||||||
}
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
use std::{
|
|
||||||
collections::{HashMap, HashSet, hash_map::Entry},
|
|
||||||
rc::Rc,
|
|
||||||
};
|
|
||||||
|
|
||||||
use crate::{
|
|
||||||
gpx::{File, Track, TrackSegment, TrackSegmentRevisionId},
|
|
||||||
selection::Selection,
|
|
||||||
state::StackEntry,
|
|
||||||
statistics::Statistics,
|
|
||||||
};
|
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
|
||||||
pub struct StatisticsCache {
|
|
||||||
map: HashMap<TrackSegmentRevisionId, Statistics>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl StatisticsCache {
|
|
||||||
pub fn update(&mut self, state: Option<&StackEntry>) {
|
|
||||||
let mut stale: HashSet<TrackSegmentRevisionId> = self.map.keys().copied().collect();
|
|
||||||
if let Some(state) = state {
|
|
||||||
for file in state.values() {
|
|
||||||
for trk in file.trk.iter() {
|
|
||||||
for trkseg in trk.trkseg.iter() {
|
|
||||||
match self.map.entry(trkseg.rev_id) {
|
|
||||||
Entry::Occupied(_) => {
|
|
||||||
stale.remove(&trkseg.rev_id);
|
|
||||||
}
|
|
||||||
Entry::Vacant(e) => {
|
|
||||||
e.insert(Statistics::compute(trkseg));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for id in stale.iter() {
|
|
||||||
self.map.remove(id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get<'a>(
|
|
||||||
&'a self,
|
|
||||||
state: Option<&StackEntry>,
|
|
||||||
selection: &Selection,
|
|
||||||
) -> Vec<&'a Statistics> {
|
|
||||||
let mut stats = vec![];
|
|
||||||
if let Some(state) = state {
|
|
||||||
match selection {
|
|
||||||
Selection::Empty => (),
|
|
||||||
Selection::File(s) => {
|
|
||||||
for id in s.files.iter() {
|
|
||||||
if let Some(file) = state.get(id) {
|
|
||||||
self.add_file_stats(file, &mut stats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Selection::Track(s) => {
|
|
||||||
if let Some(file) = state.get(&s.file) {
|
|
||||||
for trk in file.trk.iter() {
|
|
||||||
if s.trk.contains(&trk.id) {
|
|
||||||
self.add_track_stats(trk, &mut stats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Selection::TrackSegment(s) => {
|
|
||||||
if let Some(file) = state.get(&s.file) {
|
|
||||||
for trk in file.trk.iter() {
|
|
||||||
if s.trk == trk.id {
|
|
||||||
for trkseg in trk.trkseg.iter() {
|
|
||||||
if s.trkseg.contains(&trkseg.id) {
|
|
||||||
self.add_segment_stats(trkseg, &mut stats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Selection::Waypoints(s) => {
|
|
||||||
if let Some(file) = state.get(&s.file) {
|
|
||||||
self.add_file_stats(file, &mut stats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Selection::Waypoint(s) => {
|
|
||||||
if let Some(file) = state.get(&s.file) {
|
|
||||||
self.add_file_stats(file, &mut stats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stats
|
|
||||||
}
|
|
||||||
|
|
||||||
fn add_file_stats<'a>(&'a self, file: &Rc<File>, stats: &mut Vec<&'a Statistics>) {
|
|
||||||
for trk in file.trk.iter() {
|
|
||||||
self.add_track_stats(trk, stats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn add_track_stats<'a>(&'a self, trk: &Track, stats: &mut Vec<&'a Statistics>) {
|
|
||||||
for trkseg in trk.trkseg.iter() {
|
|
||||||
self.add_segment_stats(trkseg, stats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn add_segment_stats<'a>(&'a self, trkseg: &TrackSegment, stats: &mut Vec<&'a Statistics>) {
|
|
||||||
if let Some(s) = self.map.get(&trkseg.rev_id) {
|
|
||||||
stats.push(s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
mod cache;
|
|
||||||
mod statistics;
|
|
||||||
mod utils;
|
|
||||||
|
|
||||||
pub use cache::*;
|
|
||||||
pub use statistics::*;
|
|
||||||
pub use utils::*;
|
|
||||||
@@ -1,316 +0,0 @@
|
|||||||
use crate::{
|
|
||||||
algorithm::ramer_douglas_peucker,
|
|
||||||
for_each_window,
|
|
||||||
gpx::{LngLat, LngLatBounds, TrackSegment, TrackSegmentIndex, Trackpoint},
|
|
||||||
statistics::sum_options,
|
|
||||||
utils::{distance, slope, speed, time_diff},
|
|
||||||
};
|
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
|
||||||
pub struct Statistics {
|
|
||||||
pub global: GlobalStatistics,
|
|
||||||
pub local: Vec<TrackpointStatistics>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Statistics {
|
|
||||||
pub fn total_time(&self) -> Option<i32> {
|
|
||||||
self.global.total_time()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn total_speed(&self) -> Option<f64> {
|
|
||||||
self.global.total_speed()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn moving_speed(&self) -> Option<f64> {
|
|
||||||
self.global.moving_speed()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn compute(trkseg: &TrackSegment) -> Self {
|
|
||||||
let mut stats = Self::default();
|
|
||||||
if trkseg.len() == 0 {
|
|
||||||
return stats;
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut prev = &trkseg[0];
|
|
||||||
for cur in trkseg.iter() {
|
|
||||||
stats.accumulate(prev, cur);
|
|
||||||
prev = cur;
|
|
||||||
}
|
|
||||||
|
|
||||||
stats.compute_smoothed_speed(trkseg);
|
|
||||||
stats.compute_smoothed_elevation_segments(trkseg);
|
|
||||||
stats.compute_smoothed_slope(trkseg);
|
|
||||||
|
|
||||||
stats
|
|
||||||
}
|
|
||||||
|
|
||||||
fn accumulate(&mut self, prev: &Trackpoint, cur: &Trackpoint) {
|
|
||||||
self.accumulate_distance_and_time(prev, cur);
|
|
||||||
self.update_time_bounds(cur.time);
|
|
||||||
self.update_bounds(cur.coordinates);
|
|
||||||
self.local
|
|
||||||
.push(TrackpointStatistics::from_partial_stats(&self));
|
|
||||||
}
|
|
||||||
|
|
||||||
fn accumulate_distance_and_time(&mut self, prev: &Trackpoint, cur: &Trackpoint) {
|
|
||||||
let dist = distance(prev.coordinates, cur.coordinates);
|
|
||||||
let time = time_diff(&cur.time, &prev.time);
|
|
||||||
|
|
||||||
self.global.total_distance += dist;
|
|
||||||
|
|
||||||
if let Some(time) = time {
|
|
||||||
let speed = speed(dist, time);
|
|
||||||
if speed >= 0.5 && speed <= 1500.0 {
|
|
||||||
self.global.moving_distance = self
|
|
||||||
.global
|
|
||||||
.moving_distance
|
|
||||||
.map_or(Some(dist), |d| Some(d + dist));
|
|
||||||
self.global.moving_time = self
|
|
||||||
.global
|
|
||||||
.moving_time
|
|
||||||
.map_or(Some(time), |t| Some(t + time));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn update_time_bounds(&mut self, time: Option<i64>) {
|
|
||||||
if let Some(time) = time {
|
|
||||||
if self.global.start_time.is_none() {
|
|
||||||
self.global.start_time = Some(time);
|
|
||||||
}
|
|
||||||
self.global.end_time = Some(time);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn update_bounds(&mut self, coordinates: LngLat) {
|
|
||||||
self.global.bounds.extend(coordinates);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn compute_smoothed_speed(&mut self, trkseg: &TrackSegment) {
|
|
||||||
for_each_window!(
|
|
||||||
trkseg,
|
|
||||||
trkseg.first_index(),
|
|
||||||
trkseg.last_index(),
|
|
||||||
Some(10000),
|
|
||||||
|i, j| time_diff(&trkseg[i].time, &trkseg[j].time),
|
|
||||||
|i, left, right| {
|
|
||||||
self.local[i.flat].speed =
|
|
||||||
time_diff(&trkseg[right].time, &trkseg[left].time).map(|t| {
|
|
||||||
speed(
|
|
||||||
self.local[right.flat].total_distance
|
|
||||||
- self.local[left.flat].total_distance,
|
|
||||||
t,
|
|
||||||
)
|
|
||||||
});
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn compute_smoothed_elevation_segments(&mut self, trkseg: &TrackSegment) {
|
|
||||||
let simplified = self.get_elevation_extremas(trkseg);
|
|
||||||
|
|
||||||
for i in 0..(simplified.len() - 1) {
|
|
||||||
let start = simplified[i];
|
|
||||||
let end = simplified[i + 1];
|
|
||||||
let last = i + 1 == simplified.len() - 1;
|
|
||||||
|
|
||||||
self.compute_smoothed_elevation_gain(trkseg, start, end, last);
|
|
||||||
|
|
||||||
let segment_dist =
|
|
||||||
self.local[end.flat].total_distance - self.local[start.flat].total_distance;
|
|
||||||
let segment_ele = trkseg[end].ele - trkseg[start].ele;
|
|
||||||
let segment_slope = slope(segment_ele, segment_dist);
|
|
||||||
for k in start.flat..(end.flat + last as usize) {
|
|
||||||
self.local[k].slope_segment = SlopeSegment {
|
|
||||||
slope: segment_slope,
|
|
||||||
distance: segment_dist,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn compute_smoothed_elevation_gain(
|
|
||||||
&mut self,
|
|
||||||
trkseg: &TrackSegment,
|
|
||||||
start: TrackSegmentIndex,
|
|
||||||
end: TrackSegmentIndex,
|
|
||||||
last: bool,
|
|
||||||
) {
|
|
||||||
let mut cumul_ele = 0.0;
|
|
||||||
let mut current_left = start;
|
|
||||||
let mut current_right = Some(start);
|
|
||||||
let mut prev_smoothed_ele = trkseg[start].ele;
|
|
||||||
|
|
||||||
for_each_window!(
|
|
||||||
trkseg,
|
|
||||||
Some(start),
|
|
||||||
Some(end),
|
|
||||||
0.1,
|
|
||||||
|i, j| self.local[j.flat].total_distance - self.local[i.flat].total_distance,
|
|
||||||
|i, left, right| {
|
|
||||||
while current_left != left {
|
|
||||||
cumul_ele -= trkseg[current_left].ele;
|
|
||||||
current_left = trkseg.next_index(Some(current_left)).unwrap();
|
|
||||||
}
|
|
||||||
while let Some(current) = current_right {
|
|
||||||
if current > right {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
cumul_ele += trkseg[current].ele;
|
|
||||||
current_right = trkseg.next_index(current_right);
|
|
||||||
}
|
|
||||||
|
|
||||||
let smoothed_ele = if i == start || i == end {
|
|
||||||
trkseg[i].ele
|
|
||||||
} else {
|
|
||||||
cumul_ele / (right.flat - left.flat + 1) as f64
|
|
||||||
};
|
|
||||||
|
|
||||||
let delta = smoothed_ele - prev_smoothed_ele;
|
|
||||||
if delta > 0.0 {
|
|
||||||
self.global.elevation_gain += delta;
|
|
||||||
} else if delta < 0.0 {
|
|
||||||
self.global.elevation_loss -= delta;
|
|
||||||
}
|
|
||||||
|
|
||||||
if i < end || last {
|
|
||||||
self.local[i.flat].elevation_gain = self.global.elevation_gain;
|
|
||||||
self.local[i.flat].elevation_loss = self.global.elevation_loss;
|
|
||||||
}
|
|
||||||
|
|
||||||
prev_smoothed_ele = smoothed_ele;
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn compute_smoothed_slope(&mut self, trkseg: &TrackSegment) {
|
|
||||||
for_each_window!(
|
|
||||||
trkseg,
|
|
||||||
trkseg.first_index(),
|
|
||||||
trkseg.last_index(),
|
|
||||||
0.05,
|
|
||||||
|i, j| self.local[j.flat].total_distance - self.local[i.flat].total_distance,
|
|
||||||
|i, left, right| {
|
|
||||||
let dist =
|
|
||||||
self.local[right.flat].total_distance - self.local[left.flat].total_distance;
|
|
||||||
let ele = trkseg[right].ele - trkseg[left].ele;
|
|
||||||
self.local[i.flat].slope = slope(ele, dist);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_elevation_extremas(&self, trkseg: &TrackSegment) -> Vec<TrackSegmentIndex> {
|
|
||||||
ramer_douglas_peucker(
|
|
||||||
trkseg,
|
|
||||||
&|idx| {
|
|
||||||
(
|
|
||||||
self.local[idx.flat].total_distance * 1000.0,
|
|
||||||
trkseg[idx].ele,
|
|
||||||
)
|
|
||||||
},
|
|
||||||
20.0,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
|
||||||
pub struct GlobalStatistics {
|
|
||||||
pub total_distance: f64,
|
|
||||||
pub moving_distance: Option<f64>,
|
|
||||||
pub moving_time: Option<i32>,
|
|
||||||
pub elevation_gain: f64,
|
|
||||||
pub elevation_loss: f64,
|
|
||||||
pub start_time: Option<i64>,
|
|
||||||
pub end_time: Option<i64>,
|
|
||||||
pub bounds: LngLatBounds,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl GlobalStatistics {
|
|
||||||
pub fn total_time(&self) -> Option<i32> {
|
|
||||||
time_diff(&self.start_time, &self.end_time)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn total_speed(&self) -> Option<f64> {
|
|
||||||
self.total_time().map(|t| speed(self.total_distance, t))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn moving_speed(&self) -> Option<f64> {
|
|
||||||
self.moving_distance
|
|
||||||
.zip(self.moving_time)
|
|
||||||
.map(|(d, t)| speed(d, t))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn merge(&mut self, other: &GlobalStatistics) {
|
|
||||||
self.total_distance += other.total_distance;
|
|
||||||
self.moving_distance = sum_options(self.moving_distance, other.moving_distance);
|
|
||||||
self.moving_time = sum_options(self.moving_time, other.moving_time);
|
|
||||||
self.elevation_gain += other.elevation_gain;
|
|
||||||
self.elevation_loss += other.elevation_loss;
|
|
||||||
self.bounds.merge(&other.bounds);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
|
||||||
pub struct TrackpointStatistics {
|
|
||||||
pub total_distance: f64,
|
|
||||||
pub moving_distance: Option<f64>,
|
|
||||||
pub total_time: Option<i32>,
|
|
||||||
pub moving_time: Option<i32>,
|
|
||||||
pub speed: Option<f64>,
|
|
||||||
pub elevation_gain: f64,
|
|
||||||
pub elevation_loss: f64,
|
|
||||||
pub slope: f64,
|
|
||||||
pub slope_segment: SlopeSegment,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl TrackpointStatistics {
|
|
||||||
fn from_partial_stats(stats: &Statistics) -> Self {
|
|
||||||
Self {
|
|
||||||
total_distance: stats.global.total_distance,
|
|
||||||
moving_distance: stats.global.moving_distance,
|
|
||||||
total_time: stats.total_time(),
|
|
||||||
moving_time: stats.global.moving_time,
|
|
||||||
// stats below are computed later
|
|
||||||
speed: None,
|
|
||||||
elevation_gain: Default::default(),
|
|
||||||
elevation_loss: Default::default(),
|
|
||||||
slope: Default::default(),
|
|
||||||
slope_segment: Default::default(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
|
||||||
pub struct SlopeSegment {
|
|
||||||
pub slope: f64,
|
|
||||||
pub distance: f64,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use std::{fs::File, io::Read};
|
|
||||||
|
|
||||||
use crate::io::parse;
|
|
||||||
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_compute_smoothed_speed() {
|
|
||||||
let mut f = File::open("data/with_time.gpx").unwrap();
|
|
||||||
let mut data = String::new();
|
|
||||||
let _ = f.read_to_string(&mut data);
|
|
||||||
let gpx = parse(data.as_bytes()).unwrap();
|
|
||||||
|
|
||||||
let trkseg = &gpx.trk[0].trkseg[0];
|
|
||||||
let stats = Statistics::compute(trkseg);
|
|
||||||
assert_eq!(stats.local.len(), trkseg.len());
|
|
||||||
for trkpt_stats in stats.local.iter() {
|
|
||||||
assert!(trkpt_stats.speed.is_some());
|
|
||||||
let speed = trkpt_stats.speed.unwrap();
|
|
||||||
assert_ne!(speed, f64::NAN);
|
|
||||||
assert!((speed - 20.0).abs() < 0.1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO more tests
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
use std::ops::Add;
|
|
||||||
|
|
||||||
pub fn sum_options<T>(a: Option<T>, b: Option<T>) -> Option<T>
|
|
||||||
where
|
|
||||||
T: Add<Output = T>,
|
|
||||||
{
|
|
||||||
match (a, b) {
|
|
||||||
(Some(a), Some(b)) => Some(a + b),
|
|
||||||
(Some(a), None) => Some(a),
|
|
||||||
(None, Some(b)) => Some(b),
|
|
||||||
(None, None) => None,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
use std::f64::consts::PI;
|
|
||||||
|
|
||||||
use crate::gpx::LngLat;
|
|
||||||
|
|
||||||
static TO_RADIANS: f64 = PI / 180.0;
|
|
||||||
static EARTH_RADIUS: f64 = 6371.0088;
|
|
||||||
|
|
||||||
/// Computes the distance in kilometers between two coordinates using the Haversine formula
|
|
||||||
pub fn distance(p1: LngLat, p2: LngLat) -> f64 {
|
|
||||||
let lat1 = p1.lat * TO_RADIANS;
|
|
||||||
let lat2 = p2.lat * TO_RADIANS;
|
|
||||||
let delta_lat = lat2 - lat1;
|
|
||||||
let delta_lng = (p2.lng - p1.lng) * TO_RADIANS;
|
|
||||||
|
|
||||||
let a =
|
|
||||||
(delta_lat / 2.0).sin().powi(2) + lat1.cos() * lat2.cos() * (delta_lng / 2.0).sin().powi(2);
|
|
||||||
let c = 2.0 * a.min(1.0).sqrt().asin();
|
|
||||||
EARTH_RADIUS * c
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn time_diff(a: &Option<i64>, b: &Option<i64>) -> Option<i32> {
|
|
||||||
match (a, b) {
|
|
||||||
(Some(t1), Some(t2)) => Some((t1 - t2) as i32),
|
|
||||||
_ => None,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Computes the speed for a given distance in kilometers and a time in milliseconds
|
|
||||||
pub fn speed(distance: f64, time: i32) -> f64 {
|
|
||||||
distance / (time as f64 / 3600_000.0)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn slope(ele: f64, distance: f64) -> f64 {
|
|
||||||
if distance == 0.0 {
|
|
||||||
100.0
|
|
||||||
} else {
|
|
||||||
0.1 * ele / distance
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static METERS_PER_LATITUDE_DEGREE: f64 = 111320.0;
|
|
||||||
|
|
||||||
fn get_meters_per_longitude_degree(latitude: f64) -> f64 {
|
|
||||||
((latitude * PI) / 180.0).cos() * METERS_PER_LATITUDE_DEGREE
|
|
||||||
}
|
|
||||||
|
|
||||||
// Calculates the point on the line segment defined by p1 and p2
|
|
||||||
// that is closest to the third point, p3.
|
|
||||||
// Uses simple planar geometry (ignores earth curvature).
|
|
||||||
fn projected(p1: LngLat, p2: LngLat, p3: LngLat) -> LngLat {
|
|
||||||
// Convert to meters using approximate scaling
|
|
||||||
let meters_per_longitude_degree = get_meters_per_longitude_degree(p1.lat);
|
|
||||||
|
|
||||||
let x1 = p1.lng * meters_per_longitude_degree;
|
|
||||||
let y1 = p1.lat * METERS_PER_LATITUDE_DEGREE;
|
|
||||||
let x2 = p2.lng * meters_per_longitude_degree;
|
|
||||||
let y2 = p2.lat * METERS_PER_LATITUDE_DEGREE;
|
|
||||||
let x3 = p3.lng * meters_per_longitude_degree;
|
|
||||||
let y3 = p3.lat * METERS_PER_LATITUDE_DEGREE;
|
|
||||||
|
|
||||||
let dx = x2 - x1;
|
|
||||||
let dy = y2 - y1;
|
|
||||||
let segment_length_squared = dx * dx + dy * dy;
|
|
||||||
|
|
||||||
if segment_length_squared == 0.0 {
|
|
||||||
// p1 and p2 are the same point
|
|
||||||
p1
|
|
||||||
} else {
|
|
||||||
// Project p3 onto the line defined by p1-p2
|
|
||||||
let t =
|
|
||||||
0.0_f64.max(1.0_f64.min(((x3 - x1) * dx + (y3 - y1) * dy) / segment_length_squared));
|
|
||||||
|
|
||||||
// Find the closest point on the segment
|
|
||||||
let proj_x = x1 + t * dx;
|
|
||||||
let proj_y = y1 + t * dy;
|
|
||||||
|
|
||||||
// Convert back to degrees
|
|
||||||
LngLat {
|
|
||||||
lng: proj_x / meters_per_longitude_degree,
|
|
||||||
lat: proj_y / METERS_PER_LATITUDE_DEGREE,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Calculates the perpendicular distance in meters
|
|
||||||
/// between a line segment (defined by p1 and p2) and a third point, p3.
|
|
||||||
/// Uses simple planar geometry (ignores earth curvature).
|
|
||||||
fn crossarc_lnglat(p1: LngLat, p2: LngLat, p3: LngLat) -> f64 {
|
|
||||||
// Convert to meters using approximate scaling
|
|
||||||
let meters_per_longitude_degree = get_meters_per_longitude_degree(p1.lat);
|
|
||||||
crossarc(
|
|
||||||
p1.lng * meters_per_longitude_degree,
|
|
||||||
p1.lat * METERS_PER_LATITUDE_DEGREE,
|
|
||||||
p2.lng * meters_per_longitude_degree,
|
|
||||||
p2.lat * METERS_PER_LATITUDE_DEGREE,
|
|
||||||
p3.lng * meters_per_longitude_degree,
|
|
||||||
p3.lat * METERS_PER_LATITUDE_DEGREE,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn crossarc(x1: f64, y1: f64, x2: f64, y2: f64, x3: f64, y3: f64) -> f64 {
|
|
||||||
let dx = x2 - x1;
|
|
||||||
let dy = y2 - y1;
|
|
||||||
let segment_length_squared = dx * dx + dy * dy;
|
|
||||||
|
|
||||||
if segment_length_squared == 0.0 {
|
|
||||||
// p1 and p2 are the same point
|
|
||||||
((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1)).sqrt()
|
|
||||||
} else {
|
|
||||||
// Project p3 onto the line defined by p1 - p2
|
|
||||||
let t =
|
|
||||||
0.0_f64.max(1.0_f64.min(((x3 - x1) * dx + (y3 - y1) * dy) / segment_length_squared));
|
|
||||||
|
|
||||||
// Find the closest point on the segment
|
|
||||||
let proj_x = x1 + t * dx;
|
|
||||||
let proj_y = y1 + t * dy;
|
|
||||||
|
|
||||||
// Return distance from p3 to the projected point
|
|
||||||
((x3 - proj_x) * (x3 - proj_x) + (y3 - proj_y) * (y3 - proj_y)).sqrt()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Generated
+1
-21
@@ -17,7 +17,6 @@
|
|||||||
"dexie": "^4.0.11",
|
"dexie": "^4.0.11",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"gpx": "file:../gpx",
|
"gpx": "file:../gpx",
|
||||||
"gpx-rs": "file:../gpx-rs/pkg",
|
|
||||||
"immer": "^10.1.1",
|
"immer": "^10.1.1",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"mapillary-js": "^4.1.2",
|
"mapillary-js": "^4.1.2",
|
||||||
@@ -71,8 +70,7 @@
|
|||||||
"tw-animate-css": "^1.4.0",
|
"tw-animate-css": "^1.4.0",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"vaul-svelte": "^1.0.0-next.7",
|
"vaul-svelte": "^1.0.0-next.7",
|
||||||
"vite": "^6.3.5",
|
"vite": "^6.3.5"
|
||||||
"vite-plugin-wasm": "^3.6.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"../gpx": {
|
"../gpx": {
|
||||||
@@ -91,10 +89,6 @@
|
|||||||
"typescript": "^5.6.2"
|
"typescript": "^5.6.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"../gpx-rs/pkg": {
|
|
||||||
"name": "gpx-rs",
|
|
||||||
"version": "0.1.0"
|
|
||||||
},
|
|
||||||
"../gpx/node_modules/@cspotcode/source-map-support": {
|
"../gpx/node_modules/@cspotcode/source-map-support": {
|
||||||
"version": "0.8.1",
|
"version": "0.8.1",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@@ -5498,10 +5492,6 @@
|
|||||||
"resolved": "../gpx",
|
"resolved": "../gpx",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/gpx-rs": {
|
|
||||||
"resolved": "../gpx-rs/pkg",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/graceful-fs": {
|
"node_modules/graceful-fs": {
|
||||||
"version": "4.2.11",
|
"version": "4.2.11",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@@ -7726,16 +7716,6 @@
|
|||||||
"node": ">=18.0.0"
|
"node": ">=18.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite-plugin-wasm": {
|
|
||||||
"version": "3.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/vite-plugin-wasm/-/vite-plugin-wasm-3.6.0.tgz",
|
|
||||||
"integrity": "sha512-mL/QPziiIA4RAA6DkaZZzOstdwbW5jO4Vz7Zenj0wieKWBlNvIvX5L5ljum9lcUX0ShNfBgCNLKTjNkRVVqcsw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"peerDependencies": {
|
|
||||||
"vite": "^2 || ^3 || ^4 || ^5 || ^6 || ^7 || ^8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/vite/node_modules/@esbuild/aix-ppc64": {
|
"node_modules/vite/node_modules/@esbuild/aix-ppc64": {
|
||||||
"version": "0.25.12",
|
"version": "0.25.12",
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
|
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
|
||||||
|
|||||||
@@ -59,8 +59,7 @@
|
|||||||
"tw-animate-css": "^1.4.0",
|
"tw-animate-css": "^1.4.0",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"vaul-svelte": "^1.0.0-next.7",
|
"vaul-svelte": "^1.0.0-next.7",
|
||||||
"vite": "^6.3.5",
|
"vite": "^6.3.5"
|
||||||
"vite-plugin-wasm": "^3.6.0"
|
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -73,7 +72,6 @@
|
|||||||
"dexie": "^4.0.11",
|
"dexie": "^4.0.11",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"gpx": "file:../gpx",
|
"gpx": "file:../gpx",
|
||||||
"gpx-rs": "file:../gpx-rs/pkg",
|
|
||||||
"immer": "^10.1.1",
|
"immer": "^10.1.1",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"mapillary-js": "^4.1.2",
|
"mapillary-js": "^4.1.2",
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
import { selection } from '$lib/logic/selection';
|
import { selection } from '$lib/logic/selection';
|
||||||
import { untrack } from 'svelte';
|
import { untrack } from 'svelte';
|
||||||
import { isSelected, toggle } from '$lib/components/map/layer-control/utils';
|
import { isSelected, toggle } from '$lib/components/map/layer-control/utils';
|
||||||
|
import { boundsManager } from '$lib/logic/bounds';
|
||||||
|
|
||||||
let {
|
let {
|
||||||
useHash = true,
|
useHash = true,
|
||||||
@@ -90,6 +91,7 @@
|
|||||||
fileStateCollection.setEmbeddedFiles(files);
|
fileStateCollection.setEmbeddedFiles(files);
|
||||||
$fileOrder = ids;
|
$fileOrder = ids;
|
||||||
selection.selectAll();
|
selection.selectAll();
|
||||||
|
boundsManager.fitBoundsOnLoad(ids);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ export class StyleManager {
|
|||||||
opacities.subscribe(() => this.updateOverlays());
|
opacities.subscribe(() => this.updateOverlays());
|
||||||
terrainSource.subscribe(() => this.updateTerrain());
|
terrainSource.subscribe(() => this.updateTerrain());
|
||||||
customLayers.subscribe(() => this.updateBasemap());
|
customLayers.subscribe(() => this.updateBasemap());
|
||||||
|
i18n.subscribe(() => this.updateBasemap());
|
||||||
distanceUnits.subscribe(() => {
|
distanceUnits.subscribe(() => {
|
||||||
const map = get(this._map);
|
const map = get(this._map);
|
||||||
if (map && (map.getLayer('contours_m') || map.getLayer('contours_ft'))) {
|
if (map && (map.getLayer('contours_m') || map.getLayer('contours_ft'))) {
|
||||||
|
|||||||
@@ -50,5 +50,5 @@ Um die Ausrichtung und Neigung der Karte zu steuern, können Sie die Karte auch
|
|||||||
|
|
||||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||||
|
|
||||||
Enter or exit full screen mode.
|
Vollbildmodus ein- oder ausschalten.
|
||||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
Du kannst auch <kbd>F11</kbd> drücken, um zu wechseln, oder <kbd>Escape</kbd> zum Beenden.
|
||||||
@@ -19,6 +19,6 @@ Mit diesem Tool kannst du Höhendaten zu Routen und [Points of Interest] (../gpx
|
|||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
|
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
|
||||||
You can learn more about its origin and accuracy in the <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
|
Mehr über die Herkunft und Genauigkeit erfährst du in der <a href="https://mapterhorn.com/attribution/" target="_blank">Dokumentation</a>.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -13,8 +13,8 @@ title: Integrazioa
|
|||||||
|
|
||||||
Behar duzun guztia hau da:
|
Behar duzun guztia hau da:
|
||||||
|
|
||||||
1. GPX files hosted on your server or on Google Drive, or accessible via a public URL;
|
1. Zure zerbitzarian edo Google Drive-n ostatatutako GPX fitxategiak, edo URL publiko baten bidez eskura daitezke;
|
||||||
2. _Optional:_ a <a href="https://cloud.maptiler.com/auth/widget?next=https://cloud.maptiler.com/maps/" target="_blank">MapTiler key</a> to load MapTiler maps.
|
2. _Aukerakoa:_ <a href="https://cloud.maptiler.com/auth/widget?next=https://cloud.maptiler.com/maps/" target="_blank">MapTiler tekla</a> MapTiler mapak kargatzeko.
|
||||||
|
|
||||||
Ondoren, konfiguratzailearekin jolastu dezakezu zure mapa pertsonalizatzeko eta dagokion HTML kodea sortzeko.
|
Ondoren, konfiguratzailearekin jolastu dezakezu zure mapa pertsonalizatzeko eta dagokion HTML kodea sortzeko.
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ Maparen geruzen botoiak mapa-oinarri desberdinen artean aldatzeko aukera ematen
|
|||||||
<DocsLayers />
|
<DocsLayers />
|
||||||
<span class="text-sm text-center mt-2">
|
<span class="text-sm text-center mt-2">
|
||||||
|
|
||||||
Hover over the map to show the <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails hiking</a> overlay on top of the topographic basemap.
|
Pasa ezazu maparen gainean <a href="https://hiking.waymarkedtrails.org" target="_blank">markatutako mendi-ibiliak</a> gainjartzeko oinarrizko mapa topografikoaren gainean.
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -69,4 +69,4 @@ Global eta tokiko mapa oinarri bilduma handia dago **gpx.studio**-n eskuragarri,
|
|||||||
|
|
||||||
Ezarpen horietan, gainjartzeen opakutasuna ere kudeatu dezakezu.
|
Ezarpen horietan, gainjartzeen opakutasuna ere kudeatu dezakezu.
|
||||||
|
|
||||||
For advanced users, it is possible to add custom basemaps and overlays by providing <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a>, or <a href="https://maplibre.org/maplibre-style-spec/" target="_blank">MapLibre style JSON</a> URLs.
|
Erabiltzaile aurreratuentzat, oinarrizko mapa pertsonalizatuak eta gainjartzeak gehi daitezke <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a> edo <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a>https:///malibrea-spec.org/malibrea-spec. target="_blank">MapLibre estiloko JSON</a> URLak.
|
||||||
@@ -48,7 +48,6 @@ Maparen orientazioa eta okertzea kontrolatzeko, mapa ere arrasta dezakezu <kbd>
|
|||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Pantaila osoa
|
||||||
|
|
||||||
Enter or exit full screen mode.
|
Sartu edo irten pantaila osoko moduan.<kbd>F11</kbd> ere saka dezakezu txandakatzeko, edo <kbd>Ihes</kbd> irteteko.
|
||||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
|
||||||
@@ -18,7 +18,7 @@ Tresna honen bidez elebazio datuak gehitzen ahal dira ibilbidetan eta [interesgu
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
|
Altueraren datuak <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>k ematen ditu.
|
||||||
You can learn more about its origin and accuracy in the <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
|
Haren jatorriari eta zehaztasunari buruz gehiago jakin dezakezu <a href="https://mapterhorn.com/attribution/" target="_blank">dokumentazioan</a>.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -18,8 +18,8 @@ Tresna hau erabiltzeko [hautatu](../files-and-stats) behar duzu hainbat fitxateg
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
Selected items are merged in the order they appear in the files list.
|
Hautatutako elementuak fitxategien zerrendan agertzen diren ordenan batzen dira.
|
||||||
Reorder items by drag-and-drop if needed.
|
Berrantolatu elementuak arrastatu eta jareginez, behar izanez gero.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
|
|||||||
@@ -8,28 +8,28 @@ title: GYIK
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
### Do I need to donate to use the website?
|
### Kell adományoznom ahhoz, hogy használhassam a webhelyet?
|
||||||
|
|
||||||
Nem.
|
Nem.
|
||||||
The website is free to use and always will be (as long as it is financially sustainable).
|
A webhely ingyenesen használható, és mindig is az marad (amíg pénzügyileg fenntartható).
|
||||||
However, donations are appreciated and help keep the website running.
|
Azonban a támogatásokat nagyra értékeljük, és ezek segítenek a webhely működtetésében.
|
||||||
|
|
||||||
### Why is this route chosen over that one? _Or_ how can I add something to the map?
|
### Miért ezt az útvonalat választja a másik helyett? _Vagy_ hogyan adhatok hozzá valamit a térképhez?
|
||||||
|
|
||||||
**gpx.studio** uses data from <a href="https://www.openstreetmap.org/" target="_blank">OpenStreetMap</a>, which is an open and collaborative world map.
|
**gpx.studio** az <a href="https://www.openstreetmap.org/" target="_blank">OpenStreetMap</a>-ot használ ami nyílt és közösségi szerkesztésű világtérkép.
|
||||||
This means you can contribute to the map by adding or editing data on OpenStreetMap.
|
Ez azt jelenti, hogy az OpenStreetMap-en adatok hozzáadásával vagy szerkesztésével Ön is hozzájárulhat a térképhez.
|
||||||
|
|
||||||
If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
|
Ha még soha nem járult hozzá az OpenStreetMap-hez, itt megtudhatja, hogyan javasolhat módosításokat:
|
||||||
|
|
||||||
1. Go to the location where you want to add or edit data on the <a href="https://www.openstreetmap.org/" target="_blank">map</a>.
|
1. Lépjen arra a helyre a <a href="https://www.openstreetmap.org/" target="_blank">térképen</a>, ahol adatokat szeretne hozzáadni vagy szerkeszteni.
|
||||||
2. Use the <button>Query features</button> tool on the right to inspect the existing data.
|
2. A meglévő adatok megtekintéséhez használja a jobb oldalon található <button>Adatok lekérdezése</button> eszközt.
|
||||||
3. Right-click on the location and select <button>Add a note here</button>.
|
3. Kattintson jobb gombbal a helyre, majd válassza a <button>Jegyzet hozzáadása ide</button> lehetőséget.
|
||||||
4. Explain what is incorrect or missing in the note and click <button>Add note</button> to submit it.
|
4. Írja le a megjegyzésben, hogy mi az, ami helytelen vagy hiányzik, majd kattintson a <button>Jegyzet hozzáadása</button> gombra a beküldéshez.
|
||||||
|
|
||||||
Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
|
Ezt követően egy tapasztaltabb OpenStreetMap felhasználó áttekinti a megjegyzését, és elvégzi a szükséges módosításokat.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
More information on how to contribute to OpenStreetMap can be found <a href="https://wiki.openstreetmap.org/wiki/How_to_contribute" target="_blank">here</a>.
|
Az OpenStreetMaph-ez való hozzájárulásról további információkat találhat a <a href="https://wiki.openstreetmap.org/wiki/How_to_contribute" target="_blank">honlapon</a>.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -47,11 +47,11 @@ A fájlok között a billentyűzet nyílbillentyűivel is navigálhat, és a <kb
|
|||||||
|
|
||||||
A jobb gombbal egy fájl fülre kattintva ugyanazokat a műveleteket érheti el, mint a [szerkesztés menü](./menu/edit).
|
A jobb gombbal egy fájl fülre kattintva ugyanazokat a műveleteket érheti el, mint a [szerkesztés menü](./menu/edit).
|
||||||
|
|
||||||
### Tree layout
|
### Fa nézet
|
||||||
|
|
||||||
As mentioned in the [view options section](./menu/view), you can switch to a tree layout for the files list.
|
Ahogy a [nézetbeállítások](./menu/view) részben említettük, a fájllista fa nézetére is válthat.
|
||||||
This layout is ideal for managing a large number of open files, as it organizes them into a vertical list on the right side of the map.
|
Ez az elrendezés ideális nagyszámú megnyitott fájl kezeléséhez, mivel függőleges listába rendezi őket a térkép jobb oldalán.
|
||||||
In addition, the file tree view enables you to inspect the [tracks, segments, and points of interest](./gpx) contained inside the files through collapsible sections.
|
Ezenkívül a fájlok fa nézete lehetővé teszi a fájlokban található [nyomvonalak, szegmensek, és érdekes helyek](./gpx) megtekintését összecsukható szekciókban.
|
||||||
|
|
||||||
A belső fájlelemekre [szerkesztési műveleteket] (./menu/edit) és [eszközöket] (./toolbar) is alkalmazhat.
|
A belső fájlelemekre [szerkesztési műveleteket] (./menu/edit) és [eszközöket] (./toolbar) is alkalmazhat.
|
||||||
Ezenkívül a belső elemek áthúzásával átrendezheti őket, vagy áthelyezheti őket a hierarchiába vagy akár egy másik fájlba.
|
Ezenkívül a belső elemek áthúzásával átrendezheti őket, vagy áthelyezheti őket a hierarchiába vagy akár egy másik fájlba.
|
||||||
@@ -98,12 +98,12 @@ Az egérgörgővel is méretezheti a magassági profilt. Balra és jobbra mozogh
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
### Additional data
|
### További adatok
|
||||||
|
|
||||||
Using the <kbd><ChartNoAxesColumn size="16" class="inline-block" style="margin-bottom: 2px"/></kbd> button at the bottom-right of the elevation profile, you can optionally color the elevation profile by:
|
A szintprofil jobb alsó sarkában található <kbd><ChartNoAxesColumn size="16" class="inline-block" style="margin-bottom: 2px"/></kbd> gombbal igény szerint az alábbiak szerint színezheti a szintprofilt:
|
||||||
|
|
||||||
- **slope** information computed from the elevation data, or
|
- **meredekség** az emelkedési adatok alapján kiszámítva, vagy
|
||||||
- **surface** or **category** data coming from <a href="https://www.openstreetmap.org/" target="_blank">OpenStreetMap</a>'s <a href="https://wiki.openstreetmap.org/wiki/Key:surface" target="_blank">surface</a> and <a href="https://wiki.openstreetmap.org/wiki/Key:highway" target="_blank">highway</a> tags.
|
- a **felszín** vagy **kategória** adatok a <a href="https://www.openstreetmap.org/" target="_blank">OpenStreetMap</a> <a href="https://wiki.openstreetmap.org/wiki/Key:surface" target="_blank">felszín</a> és <a href="https://wiki.openstreetmap.org/wiki/Key:highway" target="_blank"> autópálya</a> cémkékből érkeznek.
|
||||||
This is only available for files created with **gpx.studio**.
|
Ez csak a **gpx.studio** használatával létrehozott fájlok esetében érhető el.
|
||||||
|
|
||||||
If your selection includes it, you can also visualize: **speed**, **heart rate**, **cadence**, **temperature** and **power** data on the elevation profile.
|
Ha a kijelölés tartalmaz ilyen adatokat, a szintprofilon megjelenítheti a **sebesség**, **pulzusszám**, **pedálfordulatszám**, **hőmérséklet** és **teljesítmény** értékeit is.
|
||||||
@@ -25,7 +25,7 @@ Itt érheti el a gyakori műveleteket, például a fájlok megnyitását, bezár
|
|||||||
|
|
||||||
A felület alján találja az alkalmazásban jelenleg megnyitott fájlok listáját.
|
A felület alján találja az alkalmazásban jelenleg megnyitott fájlok listáját.
|
||||||
A fájlra kattintva kiválaszthatja azt, és a lista alatt megjelenítheti a statisztikáját.
|
A fájlra kattintva kiválaszthatja azt, és a lista alatt megjelenítheti a statisztikáját.
|
||||||
In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a tree layout for advanced file management.
|
A [külön erre szolgáló részben](./files-and-stats), bemutatjuk, hogyan jelölhet ki egyszerre több fájlt, és hogyan válthat fa nézetre a fájlok fejlettebb kezeléséhez.
|
||||||
|
|
||||||
## Eszköztár
|
## Eszköztár
|
||||||
|
|
||||||
|
|||||||
@@ -8,27 +8,27 @@ title: GPX fájlformátum
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
The <a href="https://www.topografix.com/gpx.asp" target="_blank">GPX file format</a> is an open standard for exchanging GPS data between applications and GPS devices.
|
A <a href="https://www.topografix.com/gpx.asp" target="_blank">GPX-fájlformátum</a> egy nyílt szabvány GPS-adatok alkalmazások és GPS-eszközök közötti cseréjére.
|
||||||
It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
|
Lényegében GPS-pontok sorozatából áll, amelyek egy vagy több GPS-nyomvonalat kódolnak, és opcionálisan néhány érdekes helyszínt is tartalmazhat.
|
||||||
|
|
||||||
GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
|
A GPX-fájlok metaadatokat is tartalmazhatnak, amelyek közül a **név** és a **leírás** a leghasznosabb a felhasználók számára.
|
||||||
|
|
||||||
### <Waypoints size="16" class="inline-block" style="margin-bottom: 2px" /> Tracks, segments, and GPS points
|
### <Waypoints size="16" class="inline-block" style="margin-bottom: 2px" /> Nyomvonalak, szegmensek, és GPS pontok
|
||||||
|
|
||||||
As mentioned above, a GPX file can contain multiple GPS traces.
|
Ahogy fentebb említettük, egy GPX-fájl több GPS-nyomvonalat is tartalmazhat.
|
||||||
These are organized in a hierarchical structure, with tracks at the top level.
|
Ezek hierarchikus struktúrába vannak rendezve, amelynek legfelső szintjén a nyomvonalak találhatók.
|
||||||
|
|
||||||
- A **track** is made of a sequence of disconnected segments.
|
- Egy **nyomvonal** egymástól független szakaszok sorozatából áll.
|
||||||
Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
|
Ezenkívül olyan metaadatokat is tartalmazhat, mint a **név**, a **leírás** és a **megjelenési beállítások**.
|
||||||
- A **segment** is a sequence of GPS points that form a continuous path.
|
- Egy **szegmens** olyan GPS-pontok sorozata, amelyek összefüggő útvonalat alkotnak.
|
||||||
- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
|
- Egy **GPS-pont** egy hely, amelyhez tartozik egy szélességi és egy hosszúsági koordináta, valamint opcionálisan egy időbélyeg és egy tengerszint feletti magasság.
|
||||||
Some devices also store additional information such as heart rate, cadence, temperature, and power.
|
Egyes eszközök további adatokat is tárolnak, például a pulzusszámot, a pedálfordulatszámot, a hőmérsékletet és a teljesítményt.
|
||||||
|
|
||||||
In most cases, GPX files contain a single track with a single segment.
|
A legtöbb esetben a GPX-fájlok egyetlen nyomvonalat tartalmaznak, egyetlen szakasszal.
|
||||||
However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
|
A fent ismertetett hierarchia azonban fejlettebb felhasználási lehetőségeket is biztosít, például többnapos utak megtervezését, amelyekhez minden napra több változat is tartozhat.
|
||||||
|
|
||||||
### <MapPin size="16" class="inline-block" style="margin-bottom: 2px" /> Points of interest
|
### <MapPin size="16" class="inline-block" style="margin-bottom: 2px" /> Érdekes hely
|
||||||
|
|
||||||
**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
|
**Érdekes helyek** (technikai néven POI) érdekes helyszíneket jelölnek, amelyeket GPS-eszközön vagy digitális térképen lehet megjeleníteni.
|
||||||
|
|
||||||
In addition to its coordinates, a point of interest can have a **name** and a **description**.
|
A koordinátáin kívül egy érdekes helyszínnek lehet **neve** és **leírása** is.
|
||||||
@@ -13,8 +13,8 @@ A **gpx.studio** segítségével létrehozhatja a GPX-fájlokat ábrázoló tér
|
|||||||
|
|
||||||
Minden amire szüksége van:
|
Minden amire szüksége van:
|
||||||
|
|
||||||
1. GPX files hosted on your server or on Google Drive, or accessible via a public URL;
|
1. A szerverén vagy a Google Drive-on tárolt, illetve nyilvános URL-en keresztül elérhető GPX-fájlok;
|
||||||
2. _Optional:_ a <a href="https://cloud.maptiler.com/auth/widget?next=https://cloud.maptiler.com/maps/" target="_blank">MapTiler key</a> to load MapTiler maps.
|
2. _Opcionális:_ a<a href="https://cloud.maptiler.com/auth/widget?next=https://cloud.maptiler.com/maps/" target="_blank">MapTiler kulcs</a> hogy MapTiler térképeket tölthessen be.
|
||||||
|
|
||||||
Ezután játszhat az alábbi konfigurátorral a térkép testreszabásához és a megfelelő HTML-kód létrehozásához.
|
Ezután játszhat az alábbi konfigurátorral a térkép testreszabásához és a megfelelő HTML-kód létrehozásához.
|
||||||
|
|
||||||
|
|||||||
@@ -10,63 +10,63 @@ title: Térkép vezérlők
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
The map controls are located on the right side of the interface.
|
A térképi vezérlők a felület jobb oldalán találhatók.
|
||||||
Ezekkel a vezérlőkkel navigálhat a térképen, nagyíthat és kicsinyíthet, valamint válthat a különböző térképstílusok között.
|
Ezekkel a vezérlőkkel navigálhat a térképen, nagyíthat és kicsinyíthet, valamint válthat a különböző térképstílusok között.
|
||||||
|
|
||||||
### <Diff size="16" class="inline-block" style="margin-bottom: 2px" /> Map navigation
|
### <Diff size="16" class="inline-block" style="margin-bottom: 2px" /> Térkép navigáció
|
||||||
|
|
||||||
The controls at the top allow you to zoom in <Plus size="16" class="inline-block" style="margin-bottom: 2px" /> and out <Minus size="16" class="inline-block" style="margin-bottom: 2px" />, and to change the orientation and tilt of the map <Compass size="16" class="inline-block" style="margin-bottom: 2px" />.
|
A felül található vezérlőkkel nagyíthat <Plus size="16" class="inline-block" style="margin-bottom: 2px" /> és kicsinyíthet <Minus size="16" class="inline-block" style="margin-bottom: 2px" />, valamint módosíthatja a térkép tájolását és dőlését <Compass size="16" class="inline-block" style="margin-bottom: 2px" />.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
A térkép tájolásának és dőlésének beállításához a <kbd>Ctrl</kbd> billentyűt lenyomva is húzhatja a térképet.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Search size="16" class="inline-block" style="margin-bottom: 2px" /> Search bar
|
### <Search size="16" class="inline-block" style="margin-bottom: 2px" /> Kereső sáv
|
||||||
|
|
||||||
You can use the search bar to look for an address and navigate to it on the map.
|
A keresősáv segítségével rákereshet egy címre, és a térképen megjelenítheti azt.
|
||||||
|
|
||||||
### <LocateFixed size="16" class="inline-block" style="margin-bottom: 2px" /> Locate button
|
### <LocateFixed size="16" class="inline-block" style="margin-bottom: 2px" /> Helymeghatározó gomb
|
||||||
|
|
||||||
The locate button centers the map on your current location.
|
A helymeghatározó gomb a térképet az aktuális tartózkodási helyére középre igazítja.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This only works if you have allowed your browser and <b>gpx.studio</b> to access your location.
|
Ez csak akkor működik, ha engedélyezte a böngésző és a <b>gpx.studio</b> számára a tartózkodási helyéhez való hozzáférést.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <PersonStanding size="16" class="inline-block" style="margin-bottom: 2px" /> Street view
|
### <PersonStanding size="16" class="inline-block" style="margin-bottom: 2px" /> Utcanézet
|
||||||
|
|
||||||
This button can be used to enable street view mode on the map.
|
Ezzel a gombbal bekapcsolhatja az utcanézet módot a térképen.
|
||||||
Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
|
A [beállításokban](./menu/settings) kiválasztott utcanézeti forrástól függően az utcanézeti képek különböző módokon érhetők el.
|
||||||
|
|
||||||
- <a href="https://www.mapillary.com/" target="_blank">Mapillary</a>: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
|
- <a href="https://www.mapillary.com/" target="_blank">Mapillary</a>: az utcanézeti lefedettséget zöld vonalak jelzik a térképen. Megfelelő nagyítási szintnél zöld pontok jelzik azokat a pontos helyeket, ahol elérhető utcanézeti kép. Ha az egérmutatót egy zöld pont fölé viszi, megjelenik az adott helyhez tartozó utcanézeti kép.
|
||||||
- <a href="https://www.google.com/streetview/" target="_blank">Google Street View</a>: click on the map to open a new tab with the street view imagery at that location.
|
- <a href="https://www.google.com/streetview/" target="_blank">Google Street View</a>: kattintson a térképre, hogy új lapon megnyíljon az adott helyhez tartozó utcanézeti kép.
|
||||||
|
|
||||||
### <Layers size="16" class="inline-block" style="margin-bottom: 2px" /> Map layers
|
### <Layers size="16" class="inline-block" style="margin-bottom: 2px" /> Térkép rétegek
|
||||||
|
|
||||||
The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
|
A térképrétegek gombbal válthat a különböző alaptérképek között, valamint be- és kikapcsolhatja a térképi fedvényeket és a látnivalók kategóriáit.
|
||||||
|
|
||||||
- **Basemaps** are background maps that present the main geographic features of the world.
|
- Az **alaptérképek** olyan háttértérképek, amelyek a világ főbb földrajzi jellemzőit ábrázolják.
|
||||||
Depending on their purpose, basemaps have different styles and levels of detail.
|
Az alaptérképek céljuktól függően eltérő stílusúak és részletességűek lehetnek.
|
||||||
Only one basemap can be displayed at a time.
|
Egyszerre csak egy alaptérkép jeleníthető meg.
|
||||||
- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
|
- A **fedvények** olyan további rétegek, amelyek az alaptérképre ráhelyezve kiegészítő információkat jelenítenek meg.
|
||||||
- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
|
- Az **érdekes helyek** a térképen különböző helyek kategóriáinak, például üzleteknek, éttermeknek vagy szálláshelyeknek a megjelenítésére használhatók.
|
||||||
|
|
||||||
<div class="flex flex-col items-center">
|
<div class="flex flex-col items-center">
|
||||||
<DocsLayers />
|
<DocsLayers />
|
||||||
<span class="text-sm text-center mt-2">
|
<span class="text-sm text-center mt-2">
|
||||||
|
|
||||||
Hover over the map to show the <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails hiking</a> overlay on top of the topographic basemap.
|
Vigye az egérmutatóját a térkép fölé, hogy a topográfiai alaptérképen megjelenjen a <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails túraútvonalak</a> fedvénye.
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
|
A **gpx.studio** számos globális és helyi alaptérképet és fedvényt, valamint különböző érdekes hely kategóriákat kínál.
|
||||||
They can be enabled in the [map layer settings dialog](./menu/settings).
|
Ezek a [térképréteg-beállítások](./menu/settings) párbeszédablakban kapcsolhatók be.
|
||||||
|
|
||||||
In these settings, you can also manage the opacity of the overlays.
|
Ezekben a beállításokban a fedvények átlátszóságát is beállíthatja.
|
||||||
|
|
||||||
For advanced users, it is possible to add custom basemaps and overlays by providing <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a>, or <a href="https://maplibre.org/maplibre-style-spec/" target="_blank">MapLibre style JSON</a> URLs.
|
Haladó felhasználók egyéni alaptérképeket és fedvényeket is hozzáadhatnak <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a> vagy <a href="https://maplibre.org/maplibre-style-spec/" target="_blank">MapLibre stílusú JSON</a> URL-ek megadásával.
|
||||||
@@ -10,8 +10,8 @@ title: Műveletek szerkesztése
|
|||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
A fájlműveletekkel ellentétben a szerkesztési műveletek potenciálisan módosíthatják az aktuálisan kiválasztott fájlok tartalmát.
|
A fájlműveletekkel ellentétben a szerkesztési műveletek potenciálisan módosíthatják az aktuálisan kiválasztott fájlok tartalmát.
|
||||||
Moreover, when the tree layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
|
Továbbá, ha a fájllista fa nézetű elrendezése engedélyezve van (lásd: [Fájlok és statisztikák](../files-and-stats)), ezek a műveletek [nyomvonalakra, szakaszokra és látnivalókra] is alkalmazhatók (.. /gpx).
|
||||||
Ezen túlmenően, ha a fájllista függőleges elrendezése engedélyezve van (lásd: [Fájlok és statisztikák](../files-and-stats)), ezek a [sávokra, szegmensekre és érdekes pontokra] is alkalmask (.. /gpx).
|
Ezért az ezekkel a műveletekkel módosítható elemeket fájlelemeknek nevezzük.
|
||||||
Ne feledje, hogy a visszavonási és ismétlési műveletek kivételével a szerkesztési műveletek is elérhetők a fájlelemek helyi menüjéből (jobb gombbal).
|
Ne feledje, hogy a visszavonási és ismétlési műveletek kivételével a szerkesztési műveletek is elérhetők a fájlelemek helyi menüjéből (jobb gombbal).
|
||||||
|
|
||||||
### <Undo2 size="16" class="inline-block" style="margin-bottom: 2px" /><Redo2 size="16" class="inline-block" style="margin-bottom: 2px" /> Visszavonás és újra
|
### <Undo2 size="16" class="inline-block" style="margin-bottom: 2px" /><Redo2 size="16" class="inline-block" style="margin-bottom: 2px" /> Visszavonás és újra
|
||||||
@@ -37,19 +37,19 @@ Hozzon létre egy új útvonalatt a kiválasztott fájlban.
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Ez a művelet csak akkor érhető el, ha a fájllista fa elrendezése engedélyezett.
|
||||||
Ezenkívül a kijelölésnek egyetlen fájlnak kell lennie.
|
Ezenkívül a kijelölésnek egyetlen fájlnak kell lennie.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Plus size="16" class="inline-block" style="margin-bottom: 2px" /> Új szakasz
|
### <Plus size="16" class="inline-block" style="margin-bottom: 2px" /> Új szakasz
|
||||||
|
|
||||||
Hozzon létre egy új szakaszt a kiválasztott sávban.
|
Hozzon létre egy új szakaszt a kiválasztott nyomvonalban.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Ez a művelet csak akkor érhető el, ha a fájllista fa elrendezése engedélyezett.
|
||||||
Ezenkívül a kijelölésnek egyetlen fájlnak kell lennie.
|
Ezenkívül a kijelölésnek egyetlen nyomvonalnak kell lennie.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ Másolja a kiválasztott fájlelemeket a vágólapra.
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Ez a művelet csak akkor érhető el, ha a fájllista fa elrendezése engedélyezett.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ Vágja ki a kiválasztott fájlelemeket a vágólapra.
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Ez a művelet csak akkor érhető el, ha a fájllista fa elrendezése engedélyezett.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ Illessze be a fájlelemeket a vágólapról az aktuális hierarchiaszintre, ha k
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Ez a művelet csak akkor érhető el, ha a fájllista fa elrendezése engedélyezett.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ A fájlokat közvetlenül a fájlrendszerből is áthúzhatja az ablakba.
|
|||||||
|
|
||||||
Készítsen másolatot az aktuálisan kiválasztott fájlokról.
|
Készítsen másolatot az aktuálisan kiválasztott fájlokról.
|
||||||
|
|
||||||
### <FileX size="16" class="inline-block" style="margin-bottom: 2px" /> Delete
|
### <FileX size="16" class="inline-block" style="margin-bottom: 2px" /> Törlés
|
||||||
|
|
||||||
Delete the currently selected files.
|
Az aktuálisan kiválasztott fájlok törlése.
|
||||||
|
|
||||||
### <FileX size="16" class="inline-block" style="margin-bottom: 2px" /> Delete all
|
### <FileX size="16" class="inline-block" style="margin-bottom: 2px" /> Összes törlése
|
||||||
|
|
||||||
Delete all files.
|
Az összes fájl törlése.
|
||||||
|
|
||||||
### <Download size="16" class="inline-block" style="margin-bottom: 2px" /> Exportálás...
|
### <Download size="16" class="inline-block" style="margin-bottom: 2px" /> Exportálás...
|
||||||
|
|
||||||
|
|||||||
@@ -9,20 +9,20 @@ title: Beállítások
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
### Távolságmérés mértékegységei
|
### <Ruler size="16" class="inline-block" style="margin-bottom: 2px" /> Távolságmérés mértékegységei
|
||||||
|
|
||||||
Módosítsa a távolságok megjelenítéséhez használt mértékegységeket a felületen.
|
Módosítsa a távolságok megjelenítéséhez használt mértékegységeket a felületen.
|
||||||
|
|
||||||
### Sebesség mérés mértékegységei
|
### <Zap size="16" class="inline-block" style="margin-bottom: 2px" /> Sebesség mértékegységei
|
||||||
|
|
||||||
Módosítsa a távolságok megjelenítéséhez használt mértékegységeket a felületen.
|
Módosítsa a távolságok megjelenítéséhez használt mértékegységeket a felületen.
|
||||||
Választhat az óránkénti vagy percenkénti táv között, amely alkalmasabb lehet futótevékenységre.
|
Választhat az óránkénti vagy percenkénti táv között, amely alkalmasabb lehet futótevékenységre.
|
||||||
|
|
||||||
### Hőmérséklet mértékegysége
|
### <Thermometer size="16" class="inline-block" style="margin-bottom: 2px" /> Hőmérséklet mértékegysége
|
||||||
|
|
||||||
Módosítsa a hőmérsékletek megjelenítésére használt mértékegységeket a felületen.
|
Módosítsa a hőmérsékletek megjelenítésére használt mértékegységeket a felületen.
|
||||||
|
|
||||||
### <Languages size="16" class="inline-block" style="margin-bottom: 2px" /> Nyelv
|
### <Languages size="16" class="inline-block" style="margin-bottom: 2px" /> Nyelv
|
||||||
|
|
||||||
Módosítsa a felületen használt nyelvet.
|
Módosítsa a felületen használt nyelvet.
|
||||||
|
|
||||||
@@ -41,10 +41,10 @@ Módosítsa a felületen használt témát.
|
|||||||
### <PersonStanding size="16" class="inline-block" style="margin-bottom: 2px" /> Utcakép forrása
|
### <PersonStanding size="16" class="inline-block" style="margin-bottom: 2px" /> Utcakép forrása
|
||||||
|
|
||||||
Módosítsa az [utcanézet-vezérlőhöz] (../map-controls) használt forrást.
|
Módosítsa az [utcanézet-vezérlőhöz] (../map-controls) használt forrást.
|
||||||
Az alapértelmezett a <a href="https://www.mapillary.com" target="_blank">Mapillary</a>, de használhatja a <a href="https://www.google.com webhelyet is. /streetview/" target="_blank">Google Utcakép</a>.
|
Az alapértelmezett a <a href="https://www.mapillary.com" target="_blank">Mapillary</a>, de használhatja a <a href="https://www.google.com/streetview/" target="_blank">Google Utcakép</a>.
|
||||||
További információ az utcakép vezérlőelemének használatáról a [térképvezérlők szakaszban](../map-controls).
|
További információ az utcakép vezérlőelemének használatáról a [térképvezérlők szakaszban](../map-controls).
|
||||||
|
|
||||||
### Térképrétegek...
|
### <Layers size="16" class="inline-block" style="margin-bottom: 2px" /> Térképrétegek...
|
||||||
|
|
||||||
Nyisson meg egy párbeszédpanelt, ahol engedélyezheti vagy letilthatja a térképrétegeket, egyéni rétegeket adhat hozzá, módosíthatja a fedvények átlátszatlanságát stb.
|
Nyisson meg egy párbeszédpanelt, ahol engedélyezheti vagy letilthatja a térképrétegeket, egyéni rétegeket adhat hozzá, módosíthatja a fedvények átlátszatlanságát stb.
|
||||||
A térképrétegekről további információ a [térképvezérlők szakaszban] (../map-controls) található.
|
A térképrétegekről további információ a [térképvezérlők szakaszban] (../map-controls) található.
|
||||||
@@ -15,11 +15,11 @@ Ebben a menüben lehetőség nyílik a felület és a térképnézet átrendezé
|
|||||||
|
|
||||||
Rejtje el a magassági profilt, hogy helyet adjon a térképnek, vagy mutassa meg az aktuális kijelölés ellenőrzéséhez.
|
Rejtje el a magassági profilt, hogy helyet adjon a térképnek, vagy mutassa meg az aktuális kijelölés ellenőrzéséhez.
|
||||||
|
|
||||||
### <ListTree size="16" class="inline-block" style="margin-bottom: 2px" /> File tree
|
### <ListTree size="16" class="inline-block" style="margin-bottom: 2px" /> Fájllista
|
||||||
|
|
||||||
Toggle the tree layout for the [file list](../files-and-stats).
|
Kapcsolja ki vagy be a fa nézetet a [fájl listához](../files-and-stats).
|
||||||
This layout is ideal for managing a large number of open files, as it organizes them into a vertical list on the right side of the map.
|
Ez az elrendezés ideális nagyszámú megnyitott fájl kezeléséhez, mivel függőleges listába rendezi őket a térkép jobb oldalán.
|
||||||
In addition, the file tree view enables you to inspect the [tracks, segments, and points of interest](../gpx) contained inside the files through collapsible sections.
|
Ezenkívül a fájlok fa nézete lehetővé teszi a fájlokban található [nyomvonalak, szakasz, és látnivalók](../gpx) megtekintését összecsukható szakaszokon keresztül.
|
||||||
|
|
||||||
### Váltás az előző alaptérképre
|
### Váltás az előző alaptérképre
|
||||||
|
|
||||||
@@ -44,11 +44,11 @@ Lépjen be vagy lépjen ki a 3D térképnézetből.
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
A térkép tájolásának és dőlésének beállításához a <kbd>Ctrl</kbd> billentyűt lenyomva is húzhatja a térképet.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Teljes képernyő
|
||||||
|
|
||||||
Enter or exit full screen mode.
|
Lépjen be vagy ki a teljes képernyős módból.
|
||||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
A váltáshoz a <kbd>F11</kbd>, a kilépéshez pedig az <kbd>Escape</kbd> billentyűt is megnyomhatja.
|
||||||
@@ -9,7 +9,7 @@ title: Tiszta
|
|||||||
|
|
||||||
# <SquareDashedMousePointer size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
# <SquareDashedMousePointer size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||||
|
|
||||||
Ha a tiszta eszköz van kiválasztva, a térkép húzásával téglalap alakú kijelölés jön létre.
|
Ha a tisztító eszköz van kiválasztva, a térkép húzásával téglalap alakú kijelölés jön létre.
|
||||||
|
|
||||||
Az alábbi párbeszédpanelen kiválasztott opcióktól függően a törlés gombra kattintva eltávolítja a GPS-pontokat és/vagy [érdekes helyeket](../gpx) a kijelölésen belül vagy kívül.
|
Az alábbi párbeszédpanelen kiválasztott opcióktól függően a törlés gombra kattintva eltávolítja a GPS-pontokat és/vagy [érdekes helyeket](../gpx) a kijelölésen belül vagy kívül.
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ Ez az eszköz lehetővé teszi magassági adatok hozzáadását a nyomvonalakhoz
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
|
A magassági adatokat a <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a> biztosítja.
|
||||||
You can learn more about its origin and accuracy in the <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
|
Eredetéről és pontosságáról a <a href="https://mapterhorn.com/attribution/" target="_blank">dokumentációban</a> tudhat meg többet.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -10,16 +10,16 @@ title: Egyesítés
|
|||||||
|
|
||||||
# <Group size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
# <Group size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||||
|
|
||||||
Az eszköz használatához [ki kell választania](../files-and-stats) több fájlt, [sávot vagy szegmenst] (../gpx).
|
Az eszköz használatához [ki kell választania](../files-and-stats) több fájlt, [nyomvonalat vagy szegmenst](../gpx).
|
||||||
|
|
||||||
- Ha az a cél, hogy egyetlen folyamatos nyomkövetést hozzon létre a kiválasztottból, használja a **A nyomkövetések összekapcsolása** opciót, és érvényesítse.
|
- Ha az a cél, hogy egyetlen folyamatos vonalat hozzon létre a kiválasztottból, használja a **A nyomvonalak összekapcsolása** opciót, és érvényesítse.
|
||||||
- A második lehetőség több [sávot vagy szegmenst] tartalmazó fájlok létrehozására vagy kezelésére használható (../gpx).
|
- A második lehetőség több [sávot vagy szegmenst] tartalmazó fájlok létrehozására vagy kezelésére használható (../gpx).
|
||||||
A fájlok (vagy útvonalak) egyesítése egyetlen fájlt (vagy útvonalat) eredményez, amely tartalmazza a kijelölés összes útvonalát (vagy szegmensét).
|
A fájlok (vagy nyomvonalak) egyesítése egyetlen fájlt (vagy útvonalat) eredményez, amely tartalmazza a kijelölés összes útvonalát (vagy szegmensét).
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
Selected items are merged in the order they appear in the files list.
|
A kijelölt elemek a fájllistában való sorrendjük szerint kerülnek egyesítésre.
|
||||||
Reorder items by drag-and-drop if needed.
|
Szükség esetén rendezze át az elemeket drag-and-drop módszerrel.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ title: Minimalizálás
|
|||||||
|
|
||||||
# <Funnel size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
# <Funnel size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||||
|
|
||||||
Ezzel az eszközzel csökkenthető a GPS-pontok száma a nyomkövetésben, ami hasznos lehet a méretének csökkentésében.
|
Ezzel az eszközzel csökkenthető a GPS-pontok száma a nyomvonalon, ami hasznos lehet a méretének csökkentésében.
|
||||||
|
|
||||||
A csúszkával beállíthatja az egyszerűsítési algoritmus tűréshatárát, és megtekintheti a megtartandó pontok számát, valamint az egyszerűsített nyomkövetést a térképen.
|
A csúszkával beállíthatja az egyszerűsítési algoritmus tűréshatárát, és megtekintheti a megtartandó pontok számát, valamint az egyszerűsített nyomvonalat a térképen.
|
||||||
|
|
||||||
<div class="flex flex-row justify-center">
|
<div class="flex flex-row justify-center">
|
||||||
<Reduce class="text-foreground p-3 border rounded-md shadow-lg" />
|
<Reduce class="text-foreground p-3 border rounded-md shadow-lg" />
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ A következő eszközök automatizálnak néhány gyakori útvonal-módosítási
|
|||||||
|
|
||||||
Fordítsa meg az útvonal irányát.
|
Fordítsa meg az útvonal irányát.
|
||||||
|
|
||||||
### <House size="16" class="inline-block" style="margin-bottom: 2px" /> Back to start
|
### <House size="16" class="inline-block" style="margin-bottom: 2px" /> Vissza az elejére
|
||||||
|
|
||||||
Csatlakoztassa az útvonal utolsó pontját a kiindulási ponthoz a kiválasztott útvonalbeállítások segítségével.
|
Csatlakoztassa az útvonal utolsó pontját a kiindulási ponthoz a kiválasztott útvonalbeállítások segítségével.
|
||||||
|
|
||||||
|
|||||||
@@ -10,23 +10,23 @@ title: Vágja vagy hasítsa fel
|
|||||||
|
|
||||||
# <ScissorsIcon size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
# <ScissorsIcon size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||||
|
|
||||||
## Crop
|
## Vágás
|
||||||
|
|
||||||
A csúszka segítségével meghatározhatja a kiválasztott nyomkövetés megtartani kívánt részét.
|
A csúszka segítségével meghatározhatja a kiválasztott nyomvonal megtartani kívánt részét.
|
||||||
The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
|
A térképen látható kezdő- és végpontjelölők [statisztikák és szintprofil](../files-and-stats) valós időben frissülnek, hogy tükrözzék a kijelölést.
|
||||||
Alternatively, you can drag a selection rectangle directly on the elevation profile.
|
Alternatív megoldásként közvetlenül a magassági profilon is húzhat egy kijelölési téglalapot.
|
||||||
Validate the selection when you are satisfied with the result.
|
Hagyja jóvá a kijelölést ha elégedett az eredménnyel.
|
||||||
|
|
||||||
<div class="flex flex-row justify-center">
|
<div class="flex flex-row justify-center">
|
||||||
<Scissors class="text-foreground p-3 border rounded-md shadow-lg" />
|
<Scissors class="text-foreground p-3 border rounded-md shadow-lg" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Split
|
## Szétválasztás
|
||||||
|
|
||||||
To split the selected trace into two parts, click on one of the split markers displayed along the trace.
|
A kijelölt nyomvonal két részre osztásához kattintson a nyomvonal mentén megjelenő felosztási jelölők egyikére.
|
||||||
To split at a specific point of your choice, hover over the trace on the map.
|
Ha egy specifikus pontnál szeretné kettéosztani, vigye az egeret a nyomvonal fölé a térképen.
|
||||||
Scissors will appear at the cursor position, showing that you can split the trace at that point.
|
Az egérmutató helyén egy olló jelenik meg, jelezve, hogy a nyomvonal ezen a ponton kettéosztható.
|
||||||
|
|
||||||
You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
|
A nyomvonalat két külön GPX-fájlra is feloszthatja, vagy a felosztott részeket ugyanabban a fájlban tarthatja meg mint [nyomvonalak vagy szegmensek](../gpx).
|
||||||
|
|
||||||
<DocsImage src="tools/split" alt="Hovering over the selected trace turns your cursor into scissors." />
|
<DocsImage src="tools/split" alt="Ha az egérmutatót a kijelölt nyomvonal fölé viszi, az olló ikonra változik." />
|
||||||
@@ -10,7 +10,7 @@ title: Stijging
|
|||||||
|
|
||||||
# <MountainSnow size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
# <MountainSnow size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||||
|
|
||||||
Met dit gereedschap kun je hoogtegegevens toevoegen aan sporen en [interessante punten](../gpx), of de bestaande gegevens vervangen.
|
Met deze tool kunt u hoogtegegevens toevoegen aan sporen en [punten van belang](../gpx) of de bestaande gegevens vervangen.
|
||||||
|
|
||||||
<div class="flex flex-row justify-center">
|
<div class="flex flex-row justify-center">
|
||||||
<Elevation class="text-foreground p-3 border rounded-md shadow-lg" />
|
<Elevation class="text-foreground p-3 border rounded-md shadow-lg" />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Settings
|
title: Ustawienia
|
||||||
---
|
---
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ title: Planowanie i edycja trasy
|
|||||||
|
|
||||||
Narzędzie do planowania i edycji trasy pozwala na tworzenie i edytowanie tras poprzez umieszczanie lub przesuwanie punktów kotwiczenia na mapie.
|
Narzędzie do planowania i edycji trasy pozwala na tworzenie i edytowanie tras poprzez umieszczanie lub przesuwanie punktów kotwiczenia na mapie.
|
||||||
|
|
||||||
## Settings
|
## Ustawienia
|
||||||
|
|
||||||
Jak pokazano poniżej, okno dialogowe narzędzia zawiera kilka ustawień do kontrolowania zachowania rutingu.
|
Jak pokazano poniżej, okno dialogowe narzędzia zawiera kilka ustawień do kontrolowania zachowania rutingu.
|
||||||
You can minimize the dialog to save space by clicking on <button><SquareArrowUpLeft size="16" class="inline-block" style="margin-bottom: 2px" /></button>.
|
You can minimize the dialog to save space by clicking on <button><SquareArrowUpLeft size="16" class="inline-block" style="margin-bottom: 2px" /></button>.
|
||||||
|
|||||||
@@ -30,6 +30,6 @@ Someone more experienced with OpenStreetMap will then review your note and make
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
More information on how to contribute to OpenStreetMap can be found <a href="https://wiki.openstreetmap.org/wiki/How_to_contribute" target="_blank">here</a>.
|
Mais informações sobre como contribuir para o OpenStreetMap podem ser encontradas <a href="https://wiki.openstreetmap.org/wiki/How_to_contribute" target="_blank">aqui</a>.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Files and statistics
|
title: Ficheiros e estatísticas
|
||||||
---
|
---
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@@ -19,7 +19,7 @@ title: Files and statistics
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
## File list
|
## Lista de ficheiros
|
||||||
|
|
||||||
Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
|
Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
|
||||||
You can reorder them by dragging and dropping the tabs.
|
You can reorder them by dragging and dropping the tabs.
|
||||||
@@ -103,7 +103,7 @@ You can also use the mouse wheel to zoom in and out on the elevation profile, an
|
|||||||
Using the <kbd><ChartNoAxesColumn size="16" class="inline-block" style="margin-bottom: 2px"/></kbd> button at the bottom-right of the elevation profile, you can optionally color the elevation profile by:
|
Using the <kbd><ChartNoAxesColumn size="16" class="inline-block" style="margin-bottom: 2px"/></kbd> button at the bottom-right of the elevation profile, you can optionally color the elevation profile by:
|
||||||
|
|
||||||
- **slope** information computed from the elevation data, or
|
- **slope** information computed from the elevation data, or
|
||||||
- **surface** or **category** data coming from <a href="https://www.openstreetmap.org/" target="_blank">OpenStreetMap</a>'s <a href="https://wiki.openstreetmap.org/wiki/Key:surface" target="_blank">surface</a> and <a href="https://wiki.openstreetmap.org/wiki/Key:highway" target="_blank">highway</a> tags.
|
- **superfície** ou **categoria** dados obtidos de <a href="https://www.openstreetmap.org/" target="_blank">OpenStreetMap</a> <a href="https://wiki.openstreetmap.org/wiki/Key:surface" target="_blank">surface</a> e <a href="https://wiki.openstreetmap.org/wiki/Key:highway" target="_blank">autoestrada</a> etiquetas.
|
||||||
This is only available for files created with **gpx.studio**.
|
This is only available for files created with **gpx.studio**.
|
||||||
|
|
||||||
If your selection includes it, you can also visualize: **speed**, **heart rate**, **cadence**, **temperature** and **power** data on the elevation profile.
|
If your selection includes it, you can also visualize: **speed**, **heart rate**, **cadence**, **temperature** and **power** data on the elevation profile.
|
||||||
@@ -21,7 +21,7 @@ Before we dive into the details of each section, let's have a quick overview of
|
|||||||
At the top of the interface, you will find the [main menu](./menu).
|
At the top of the interface, you will find the [main menu](./menu).
|
||||||
This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
|
This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
|
||||||
|
|
||||||
## Files and statistics
|
## Ficheiros e estatísticas
|
||||||
|
|
||||||
At the bottom of the interface, you will find the list of files currently open in the application.
|
At the bottom of the interface, you will find the list of files currently open in the application.
|
||||||
You can click on a file to select it and display its statistics below the list.
|
You can click on a file to select it and display its statistics below the list.
|
||||||
@@ -34,4 +34,4 @@ On the left side of the interface, you will find the [toolbar](./toolbar), which
|
|||||||
## Map controls
|
## Map controls
|
||||||
|
|
||||||
Finally, on the right side of the interface, you will find the [map controls](./map-controls).
|
Finally, on the right side of the interface, you will find the [map controls](./map-controls).
|
||||||
These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
|
Estes controles permitem navegar pelo mapa, ampliar, reduzir e alternar entre diferentes estilos de mapa.
|
||||||
@@ -20,7 +20,7 @@ You can then play with the configurator below to customize your map and generate
|
|||||||
|
|
||||||
<DocsNote type="warning">
|
<DocsNote type="warning">
|
||||||
|
|
||||||
You will need to set up <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS" target="_blank">Cross-Origin Resource Sharing (CORS)</a> headers on your server to allow <b>gpx.studio</b> to load your GPX files.
|
Precisará configurar <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS" target="_blank">cabeçalhos de partilha de recursos entre origens (CORS)</a> no seu servidor para permitir que <b>gpx. tudio</b> para carregar os seus ficheiros GPX.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ title: Map controls
|
|||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
The map controls are located on the right side of the interface.
|
The map controls are located on the right side of the interface.
|
||||||
These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
|
Estes controles permitem navegar pelo mapa, ampliar, reduzir e alternar entre diferentes estilos de mapa.
|
||||||
|
|
||||||
### <Diff size="16" class="inline-block" style="margin-bottom: 2px" /> Map navigation
|
### <Diff size="16" class="inline-block" style="margin-bottom: 2px" /> Map navigation
|
||||||
|
|
||||||
@@ -69,4 +69,4 @@ They can be enabled in the [map layer settings dialog](./menu/settings).
|
|||||||
|
|
||||||
In these settings, you can also manage the opacity of the overlays.
|
In these settings, you can also manage the opacity of the overlays.
|
||||||
|
|
||||||
For advanced users, it is possible to add custom basemaps and overlays by providing <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a>, or <a href="https://maplibre.org/maplibre-style-spec/" target="_blank">MapLibre style JSON</a> URLs.
|
Para utilizadores avançados, é possível adicionar maps de base e sobreposições personalizados, fornecendo <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a>, ou <a href="https://maplibre.org/maplibre-style-spec/" target="_blank">MapLibre com estrutura JSON</a> URLs.
|
||||||
@@ -11,7 +11,7 @@ title: Edit actions
|
|||||||
|
|
||||||
Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
|
Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
|
||||||
Moreover, when the tree layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
|
Moreover, when the tree layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
|
||||||
Therefore, we will refer to the elements that can be modified by these actions as _file items_.
|
Portanto, vamos referir-nos aos elementos que podem ser modificados por essas acções como _itens de ficheiro_.
|
||||||
Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
|
Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
|
||||||
|
|
||||||
### <Undo2 size="16" class="inline-block" style="margin-bottom: 2px" /><Redo2 size="16" class="inline-block" style="margin-bottom: 2px" /> Undo and redo
|
### <Undo2 size="16" class="inline-block" style="margin-bottom: 2px" /><Redo2 size="16" class="inline-block" style="margin-bottom: 2px" /> Undo and redo
|
||||||
|
|||||||
@@ -47,6 +47,6 @@ Open the export dialog to save all files to your computer.
|
|||||||
|
|
||||||
<DocsNote type="warning">
|
<DocsNote type="warning">
|
||||||
|
|
||||||
If your download does not start after clicking the download button, please check your browser settings to allow downloads from <b>gpx.studio</b>.
|
Se o seu download não começar depois de clicar no botão de descarregar, verifique as configurações do seu navegador para permitir descarregar do <b>gpx.studio</b>.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -51,4 +51,4 @@ To control the orientation and tilt of the map, you can also drag the map while
|
|||||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||||
|
|
||||||
Enter or exit full screen mode.
|
Enter or exit full screen mode.
|
||||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
Também pode pressionar <kbd>F11</kbd> para alternar, ou <kbd>Escape</kbd> para sair.
|
||||||
@@ -11,7 +11,7 @@ title: Clean
|
|||||||
|
|
||||||
When the clean tool is selected, dragging the map will create a rectangular selection.
|
When the clean tool is selected, dragging the map will create a rectangular selection.
|
||||||
|
|
||||||
Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
|
Dependendo das opções selecionadas no diálogo mostrado abaixo, Clicar no botão apagar irá remover pontos de GPS e/ou [pontos de interesse](../gpx) localizados dentro ou fora da selecção.
|
||||||
|
|
||||||
<div class="flex flex-row justify-center">
|
<div class="flex flex-row justify-center">
|
||||||
<Clean class="text-foreground p-3 border rounded-md shadow-lg" />
|
<Clean class="text-foreground p-3 border rounded-md shadow-lg" />
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ title: Elevação
|
|||||||
|
|
||||||
# <MountainSnow size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
# <MountainSnow size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||||
|
|
||||||
This tool allows you to add elevation data to traces and [points of interest](../gpx), or to replace the existing data.
|
Esta ferramenta permite adicionar dados de elevação a rastros e [pontos de interesse](../gpx), ou substituir os dados existentes.
|
||||||
|
|
||||||
<div class="flex flex-row justify-center">
|
<div class="flex flex-row justify-center">
|
||||||
<Elevation class="text-foreground p-3 border rounded-md shadow-lg" />
|
<Elevation class="text-foreground p-3 border rounded-md shadow-lg" />
|
||||||
|
|||||||
@@ -21,6 +21,6 @@ Similarly, applying the tool to a track containing multiple segments will create
|
|||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
When extracting the tracks from a file containing <a href="../gpx">points of interest</a>, the tool will automatically assign each point of interest to the track it is closest to.
|
Ao extrair as trilhas de um ficheiro que contém <a href="../gpx">pontos de interesse</a>, a ferramenta atribuirá automaticamente cada ponto de interesse para a faixa à qual está mais próximo.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -19,7 +19,7 @@ To use this tool, you need to [select](../files-and-stats) multiple files, [trac
|
|||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
Selected items are merged in the order they appear in the files list.
|
Selected items are merged in the order they appear in the files list.
|
||||||
Reorder items by drag-and-drop if needed.
|
Reordenar itens por arrastar e soltar, se necessário.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,6 @@ You can adjust the tolerance of the simplification algorithm using the slider, a
|
|||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
|
The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
|
||||||
You can read more about the algorithm used <a href="https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm" target="_blank">here</a>.
|
Pode ler mais sobre o algoritmo usado <a href="https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm" target="_blank">aqui</a>.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Points of interest
|
title: Pontos de interesse
|
||||||
---
|
---
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -24,4 +24,4 @@ Validate the form when you are done.
|
|||||||
### Editing a point of interest
|
### Editing a point of interest
|
||||||
|
|
||||||
The form above can also be used to edit an existing point of interest after selecting it on the map.
|
The form above can also be used to edit an existing point of interest after selecting it on the map.
|
||||||
If you only need to move the point of interest, you can drag it to the desired location.
|
Se só precisar mover o ponto de interesse, pode arrastá-lo para o local desejado.
|
||||||
@@ -81,4 +81,4 @@ Return to the starting point by the same route.
|
|||||||
|
|
||||||
### <CirclePlay size="16" class="inline-block" style="margin-bottom: 2px" /> Change the start of the loop
|
### <CirclePlay size="16" class="inline-block" style="margin-bottom: 2px" /> Change the start of the loop
|
||||||
|
|
||||||
When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting <button><CirclePlay size="16" class="inline-block" style="margin-bottom: 2px" /> Start loop here</button> from the context menu.
|
Quando o ponto final da rota é suficientemente próximo do início, pode alterar o início do laço clicando em qualquer ponto de âncora e selecionando <button><CirclePlay size="16" class="inline-block" style="margin-bottom: 2px" /> início círculo aqui</button> no menu de contexto.
|
||||||
@@ -29,4 +29,4 @@ Scissors will appear at the cursor position, showing that you can split the trac
|
|||||||
|
|
||||||
You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
|
You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
|
||||||
|
|
||||||
<DocsImage src="tools/split" alt="Hovering over the selected trace turns your cursor into scissors." />
|
<DocsImage src="tools/split" alt="Passar o rato sobre o rastro selecionado transforma o cursor numa tesoura." />
|
||||||
@@ -18,7 +18,7 @@ You simply need to use the form shown below and validate it when you are done.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
|
When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
|
||||||
Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
|
Da mesma forma, quando edita o tempo de partida o tempo de chegada é actualizado.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
|
|||||||
@@ -9,88 +9,88 @@ title: Редактировать действия
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
|
В отличие от действий с файлами действия редактирования могут изменить содержимое выделенных файлов.
|
||||||
Moreover, when the tree layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
|
Более того, когда включено отображение списка файлов в виде дерева (см. [Файлы и статистика](../files-and-stats)), они также могут быть применены к [трекам, звеньям и интересным точкам](../gpx).
|
||||||
Therefore, we will refer to the elements that can be modified by these actions as _file items_.
|
Таким образом, мы будем ссылаться на элементы, которые могут быть изменены этими действиями как _файловые единицы_.
|
||||||
Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
|
Обратите внимание, что за исключением действий отмены и повтора, действия редактирования также доступны через контекстное меню (щелчок правой кнопкой мыши) файловых единиц.
|
||||||
|
|
||||||
### <Undo2 size="16" class="inline-block" style="margin-bottom: 2px" /><Redo2 size="16" class="inline-block" style="margin-bottom: 2px" /> Undo and redo
|
### <Undo2 size="16" class="inline-block" style="margin-bottom: 2px" /><Redo2 size="16" class="inline-block" style="margin-bottom: 2px" /> Отменить и повторить
|
||||||
|
|
||||||
Using these buttons, you can undo or redo the last actions you performed.
|
С помощью этих кнопок можно отменить или повторить последние выполненные действия.
|
||||||
This applies to all actions of the interface but not to view options, application settings, or map navigation.
|
Это применимо ко всему поведению интерфейса кроме параметров просмотра, настроек приложения или перемещению по карте.
|
||||||
|
|
||||||
### <Info size="16" class="inline-block" style="margin-bottom: 2px" /> Info...
|
### <Info size="16" class="inline-block" style="margin-bottom: 2px" />Информация...
|
||||||
|
|
||||||
Open the information dialog of the currently selected file item, where you can see and edit its name and description.
|
Открывает информационный диалог выбранного в данный момент файла, где вы можете посмотреть и отредактировать его имя и описание.
|
||||||
|
|
||||||
### <PaintBucket size="16" class="inline-block" style="margin-bottom: 2px" /> Appearance...
|
### <PaintBucket size="16" class="inline-block" style="margin-bottom: 2px" />Внешнее представление...
|
||||||
|
|
||||||
Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
|
Открывает диалог внешнего представления, где можно изменить цвет, прозрачность и ширину выделенных файловых элементов на карте.
|
||||||
|
|
||||||
### <EyeOff size="16" class="inline-block" style="margin-bottom: 2px" /> Hide/unhide
|
### <EyeOff size="16" class="inline-block" style="margin-bottom: 2px" /> Скрыть/показать
|
||||||
|
|
||||||
Toggle the visibility of the selected file items on the map.
|
Переключить видимость выбранных файлов на карте.
|
||||||
|
|
||||||
### <Plus size="16" class="inline-block" style="margin-bottom: 2px" /> New track
|
### <Plus size="16" class="inline-block" style="margin-bottom: 2px" />Новый маршрут
|
||||||
|
|
||||||
Create a new track in the selected file.
|
Создать новый маршрут в выбранном файле.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Это действие доступно только при включенном отображении списка файлов в виде дерева.
|
||||||
Additionally, the selection must be a single file.
|
Кроме того, должен быть выделен только один файл.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Plus size="16" class="inline-block" style="margin-bottom: 2px" /> New segment
|
### <Plus size="16" class="inline-block" style="margin-bottom: 2px" />Новый отрезок
|
||||||
|
|
||||||
Create a new segment in the selected track.
|
Создать новый отрезок на выбранном маршруте.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Это действие доступно только при включенном отображении списка файлов в виде дерева.
|
||||||
Additionally, the selection must be a single track.
|
Кроме того, должен быть выделен только один маршрут.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <FileStack size="16" class="inline-block" style="margin-bottom: 2px" /> Select all
|
### <FileStack size="16" class="inline-block" style="margin-bottom: 2px" />Выбрать всё
|
||||||
|
|
||||||
Add all file items in the current hierarchy level to the selection.
|
Добавить все файлы текущего уровня иерархии к выделению.
|
||||||
|
|
||||||
### <Maximize size="16" class="inline-block" style="margin-bottom: 2px" /> Center
|
### <Maximize size="16" class="inline-block" style="margin-bottom: 2px" />По центру
|
||||||
|
|
||||||
Center the map on the selected file items.
|
Выровнять карту по центру на выбранных файловых единицах.
|
||||||
|
|
||||||
### <ClipboardCopy size="16" class="inline-block" style="margin-bottom: 2px" /> Copy
|
### <ClipboardCopy size="16" class="inline-block" style="margin-bottom: 2px" /> Копировать
|
||||||
|
|
||||||
Copy the selected file items to the clipboard.
|
Скопировать выбранные файловые единицы в буфер обмена.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Это действие доступно только при включенном отображении списка файлов в виде дерева.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Scissors size="16" class="inline-block" style="margin-bottom: 2px" /> Cut
|
### <Scissors size="16" class="inline-block" style="margin-bottom: 2px" /> Вырезать
|
||||||
|
|
||||||
Cut the selected file items to the clipboard.
|
Вырезать выбранные файлы в буфер обмена.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Это действие доступно только при включенном отображении списка файлов в виде дерева.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <ClipboardPaste size="16" class="inline-block" style="margin-bottom: 2px" /> Paste
|
### <ClipboardPaste size="16" class="inline-block" style="margin-bottom: 2px" />Вставить
|
||||||
|
|
||||||
Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
|
Вставить файлы из буфера обмена на текущий уровень иерархии, если они совместимы с ним.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
This action is only available when the tree layout of the files list is enabled.
|
Это действие доступно только при включенном отображении списка файлов в виде дерева.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Trash2 size="16" class="inline-block" style="margin-bottom: 2px" /> Delete
|
### <Trash2 size="16" class="inline-block" style="margin-bottom: 2px" />Удалить
|
||||||
|
|
||||||
Delete the selected file items.
|
Удалить выбранные файловые единицы.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: File actions
|
title: Действия с файлами
|
||||||
---
|
---
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@@ -9,44 +9,44 @@ title: File actions
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
The file actions menu contains a set of pretty self-explanatory file operations.
|
Меню действий с файлами включает в себя список вполне понятных операций с файлами.
|
||||||
|
|
||||||
### <Plus size="16" class="inline-block" style="margin-bottom: 2px" /> New
|
### <Plus size="16" class="inline-block" style="margin-bottom: 2px" /> Новый
|
||||||
|
|
||||||
Create a new empty file.
|
Создание нового пустого файла.
|
||||||
|
|
||||||
### <FolderOpen size="16" class="inline-block" style="margin-bottom: 2px" /> Open...
|
### <FolderOpen size="16" class="inline-block" style="margin-bottom: 2px" /> Открыть...
|
||||||
|
|
||||||
Open files from your computer.
|
Открыть файлы с вашего компьютера.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
You can also drag and drop files directly from your file system into the window.
|
Также Вы можете перетаскивать файлы прямо из файловой системы в окно.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Copy size="16" class="inline-block" style="margin-bottom: 2px" /> Duplicate
|
### <Copy size="16" class="inline-block" style="margin-bottom: 2px" /> Создать копию
|
||||||
|
|
||||||
Create a copy of the currently selected files.
|
Создать копию выделенных файлов.
|
||||||
|
|
||||||
### <FileX size="16" class="inline-block" style="margin-bottom: 2px" /> Delete
|
### <FileX size="16" class="inline-block" style="margin-bottom: 2px" />Удалить
|
||||||
|
|
||||||
Delete the currently selected files.
|
Удаление выбранных файлов.
|
||||||
|
|
||||||
### <FileX size="16" class="inline-block" style="margin-bottom: 2px" /> Delete all
|
### <FileX size="16" class="inline-block" style="margin-bottom: 2px" />Удалить всё
|
||||||
|
|
||||||
Delete all files.
|
Удаление всех файлов.
|
||||||
|
|
||||||
### <Download size="16" class="inline-block" style="margin-bottom: 2px" /> Export...
|
### <Download size="16" class="inline-block" style="margin-bottom: 2px" /> Выгрузить...
|
||||||
|
|
||||||
Open the export dialog to save the currently selected files to your computer.
|
Открывает диалог для сохранения выделенных файлов на ваш компьютер.
|
||||||
|
|
||||||
### <Download size="16" class="inline-block" style="margin-bottom: 2px" /> Export all...
|
### <Download size="16" class="inline-block" style="margin-bottom: 2px" /> Выгрузить все файлы...
|
||||||
|
|
||||||
Open the export dialog to save all files to your computer.
|
Открывает окно выгрузки в котором можно сохранить все файлы на ваш компьютер.
|
||||||
|
|
||||||
<DocsNote type="warning">
|
<DocsNote type="warning">
|
||||||
|
|
||||||
If your download does not start after clicking the download button, please check your browser settings to allow downloads from <b>gpx.studio</b>.
|
Если загрузка не начинается после нажатия на кнопку загрузки, пожалуйста, проверьте настройки обозревателя и предоставьте необходимые разрешения на загрузку файлов с <b>gpx.studio</b>.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Settings
|
title: Настройки
|
||||||
---
|
---
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@@ -9,42 +9,42 @@ title: Settings
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
### <Ruler size="16" class="inline-block" style="margin-bottom: 2px" /> Distance units
|
### <Ruler size="16" class="inline-block" style="margin-bottom: 2px" />Единицы измерения расстояния
|
||||||
|
|
||||||
Change the units used to display distances in the interface.
|
Изменение отображаемых единиц измерения расстояния.
|
||||||
|
|
||||||
### <Zap size="16" class="inline-block" style="margin-bottom: 2px" /> Velocity units
|
### <Zap size="16" class="inline-block" style="margin-bottom: 2px" />Единицы измерения скорости
|
||||||
|
|
||||||
Change the units used to display velocities in the interface.
|
Изменение единиц измерения, используемых для отображения скорости.
|
||||||
You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
|
Вы можете выбрать между отображением расстояния в час или минут, затраченных на преодоление расстояния, что больше подходит для беговых мероприятий.
|
||||||
|
|
||||||
### <Thermometer size="16" class="inline-block" style="margin-bottom: 2px" /> Temperature units
|
### <Thermometer size="16" class="inline-block" style="margin-bottom: 2px" />Единицы температуры
|
||||||
|
|
||||||
Change the units used to display temperatures in the interface.
|
Изменение единиц, используемых для отображения температуры.
|
||||||
|
|
||||||
### <Languages size="16" class="inline-block" style="margin-bottom: 2px" /> Language
|
### <Languages size="16" class="inline-block" style="margin-bottom: 2px" />Язык
|
||||||
|
|
||||||
Change the language used in the interface.
|
Изменение языка, используемого в интерфейсе.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
Вы можете внести свой вклад, добавив или улучшив переводы в нашем проекте <a href="https://crowdin.com/project/gpxstudio" target="_blank">Crowdin</a>.
|
Вы можете внести свой вклад, добавив или улучшив переводы в нашем проекте <a href="https://crowdin.com/project/gpxstudio" target="_blank">Crowdin</a>.
|
||||||
Если вы хотите начать перевод на новый язык, пожалуйста, <a href="#contact">свяжитесь с</a>.
|
Если Вы хотите начать перевод на новый язык, пожалуйста, <a href="#contact">свяжитесь с нами</a>.
|
||||||
Любая помощь очень ценится!
|
Любая помощь очень ценится!
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Sun size="16" class="inline-block" style="margin-bottom: 2px" /> Theme
|
### <Sun size="16" class="inline-block" style="margin-bottom: 2px" />Тема оформления
|
||||||
|
|
||||||
Change the theme used in the interface.
|
Изменение используемой в интерфейсе темы оформления.
|
||||||
|
|
||||||
### <PersonStanding size="16" class="inline-block" style="margin-bottom: 2px" /> Street view source
|
### <PersonStanding size="16" class="inline-block" style="margin-bottom: 2px" />Источник для уличного вида
|
||||||
|
|
||||||
Change the source used for the [street view control](../map-controls).
|
Изменить источник, используемый для [отображения уличного вида](../map-controls).
|
||||||
The default one is <a href="https://www.mapillary.com" target="_blank">Mapillary</a>, but you can also use <a href="https://www.google.com/streetview/" target="_blank">Google Street View</a>.
|
По умолчанию используется <a href="https://www.mapillary.com" target="_blank">Mapillary</a>, но Вы также можете использовать <a href="https://www.google.com/streetview/" target="_blank">Уличный Вид Гугла</a>.
|
||||||
Learn more about how to use the street view control in the [map controls section](../map-controls).
|
Узнайте больше о том, как использовать управление уличным видом в [разделе управления картой](../map-controls).
|
||||||
|
|
||||||
### <Layers size="16" class="inline-block" style="margin-bottom: 2px" /> Слои карты...
|
### <Layers size="16" class="inline-block" style="margin-bottom: 2px" /> Слои карты...
|
||||||
|
|
||||||
Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
|
Открыть диалог, в котором можно включить или отключить слои карт, добавить пользовательские слои, изменить непрозрачность наслоений и многое другое.
|
||||||
More information about map layers can be found in the [map controls section](../map-controls).
|
Более подробную информацию о слоях карт можно найти в разделе [управление картой](../map-controls).
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: View options
|
title: Настройки просмотра
|
||||||
---
|
---
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@@ -9,38 +9,38 @@ title: View options
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
This menu provides options to rearrange the interface and the map view.
|
Это меню позволяет изменить отображение интерфейса и карты.
|
||||||
|
|
||||||
### <ChartArea size="16" class="inline-block" style="margin-bottom: 2px" /> Elevation profile
|
### <ChartArea size="16" class="inline-block" style="margin-bottom: 2px" />Профиль рельефа
|
||||||
|
|
||||||
Hide the elevation profile to make room for the map, or show it to inspect the current selection.
|
Скрыть профиль высоты, чтобы освободить место для карты, либо отобразить его для изучения текущего выделения.
|
||||||
|
|
||||||
### <ListTree size="16" class="inline-block" style="margin-bottom: 2px" /> File tree
|
### <ListTree size="16" class="inline-block" style="margin-bottom: 2px" />Дерево файлов
|
||||||
|
|
||||||
Toggle the tree layout for the [file list](../files-and-stats).
|
Переключить отображение [списка файлов](../files-and-stats) в виде дерева.
|
||||||
Эта раскладка идеально подходит для управления большим количеством открытых файлов, так как она упорядочивает их в вертикальный список справа от карты.
|
Эта раскладка идеально подходит для управления большим количеством открытых файлов, так как она упорядочивает их в вертикальный список справа от карты.
|
||||||
In addition, the file tree view enables you to inspect the [tracks, segments, and points of interest](../gpx) contained inside the files through collapsible sections.
|
Кроме того, древовидное представление файлов даёт Вам возможность исследовать [маршруты, отрезки и интересные точки](../gpx), содержащиеся в файлах через сворачивающиеся разделы.
|
||||||
|
|
||||||
### <Map size="16" class="inline-block" style="margin-bottom: 2px" /> Switch to previous basemap
|
### <Map size="16" class="inline-block" style="margin-bottom: 2px" />Переключиться на предыдущую основную карту
|
||||||
|
|
||||||
Change the basemap to the one previously selected through the [map layer control](../map-controls).
|
Изменить основную карту на ранее выбранную через [управление слоями карты](../map-controls).
|
||||||
|
|
||||||
### <Layers2 size="16" class="inline-block" style="margin-bottom: 2px" /> Toggle overlays
|
### <Layers2 size="16" class="inline-block" style="margin-bottom: 2px" /> Переключение наслоений
|
||||||
|
|
||||||
Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
|
Переключить видимость наслоений карты, выбранных через [управление слоями карты](../map-controls).
|
||||||
|
|
||||||
### <Coins size="16" class="inline-block" style="margin-bottom: 2px" /> Distance markers
|
### <Coins size="16" class="inline-block" style="margin-bottom: 2px" />Метки расстояния
|
||||||
|
|
||||||
Toggle the visibility of distance markers on the map.
|
Переключить видимость меток расстояния на карте.
|
||||||
They are displayed for the current selection, like the [elevation profile](../files-and-stats).
|
Они отображаются для текущего выделения, так же как и [профиль высоты](../files-and-stats).
|
||||||
|
|
||||||
### <Milestone size="16" class="inline-block" style="margin-bottom: 2px" /> Direction arrows
|
### <Milestone size="16" class="inline-block" style="margin-bottom: 2px" />Стрелки направлений
|
||||||
|
|
||||||
Toggle the visibility of direction arrows on the map.
|
Переключить отображение стрелок направлений на карте.
|
||||||
|
|
||||||
### <Box size="16" class="inline-block" style="margin-bottom: 2px" /> Toggle 3D
|
### <Box size="16" class="inline-block" style="margin-bottom: 2px" /> Переключить 3-мерный вид
|
||||||
|
|
||||||
Enter or exit the 3D map view.
|
Войти или выйти из 3-мерного режима отображения карты.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ Enter or exit the 3D map view.
|
|||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
|
|
||||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> На весь экран
|
||||||
|
|
||||||
Enter or exit full screen mode.
|
Вход или выход из полноэкранного режима.
|
||||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
Вы также можете нажать <kbd>F11</kbd> для переключения или <kbd>Escape</kbd> чтобы выйти.
|
||||||
@@ -13,7 +13,7 @@ title: Планирование и редактирование маршрута
|
|||||||
|
|
||||||
Инструмент для планирования и редактирования маршрутов позволяет создавать и редактировать маршруты, размещая или перемещая точки привязки на карте.
|
Инструмент для планирования и редактирования маршрутов позволяет создавать и редактировать маршруты, размещая или перемещая точки привязки на карте.
|
||||||
|
|
||||||
## Settings
|
## Настройки
|
||||||
|
|
||||||
Как показано ниже, диалоговое окно инструмента содержит несколько настроек для управления поведением маршрутизации.
|
Как показано ниже, диалоговое окно инструмента содержит несколько настроек для управления поведением маршрутизации.
|
||||||
Вы можете минимизировать диалоговое окно для сохранения места, нажав <button><SquareArrowUpLeft size="16" class="inline-block" style="margin-bottom: 2px" /></button>.
|
Вы можете минимизировать диалоговое окно для сохранения места, нажав <button><SquareArrowUpLeft size="16" class="inline-block" style="margin-bottom: 2px" /></button>.
|
||||||
@@ -71,7 +71,7 @@ title: Планирование и редактирование маршрута
|
|||||||
|
|
||||||
Изменить направление маршрута на противоположное.
|
Изменить направление маршрута на противоположное.
|
||||||
|
|
||||||
### <House size="16" class="inline-block" style="margin-bottom: 2px" /> Back to start
|
### <House size="16" class="inline-block" style="margin-bottom: 2px" /> Вернуться в начало
|
||||||
|
|
||||||
Подсоедините последнюю точку маршрута к начальной точке, используя выбранные параметры маршрутизации.
|
Подсоедините последнюю точку маршрута к начальной точке, используя выбранные параметры маршрутизации.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: FAQ
|
title: Часті питання
|
||||||
---
|
---
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -8,28 +8,28 @@ title: FAQ
|
|||||||
|
|
||||||
# { title }
|
# { title }
|
||||||
|
|
||||||
### Do I need to donate to use the website?
|
### Чи потрібно робити пожертву, щоб користуватися сайтом?
|
||||||
|
|
||||||
No.
|
Ні.
|
||||||
The website is free to use and always will be (as long as it is financially sustainable).
|
Сайтом можна користуватися безкоштовно, і так буде завжди (доки це фінансово можливо).
|
||||||
However, donations are appreciated and help keep the website running.
|
Проте ми вдячні за пожертви, вони допомагають підтримувати роботу сайту.
|
||||||
|
|
||||||
### Why is this route chosen over that one? _Or_ how can I add something to the map?
|
### Чому вибрано саме цей маршрут, а не інший? **Або** як додати щось на карту?
|
||||||
|
|
||||||
**gpx.studio** uses data from <a href="https://www.openstreetmap.org/" target="_blank">OpenStreetMap</a>, which is an open and collaborative world map.
|
**gpx.studio** використовує дані <a href="https://www.openstreetmap.org/" target="_blank">OpenStreetMap</a>, який є відкритими картами світу, що створюється спільнотою.
|
||||||
This means you can contribute to the map by adding or editing data on OpenStreetMap.
|
Тобто ви можете покращувати карту, додаючи або редагуючи дані в OpenStreetMap.
|
||||||
|
|
||||||
If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
|
Якщо ви ще ніколи не долучалися до OpenStreetMap, ось як можна запропонувати зміни:
|
||||||
|
|
||||||
1. Go to the location where you want to add or edit data on the <a href="https://www.openstreetmap.org/" target="_blank">map</a>.
|
1. Перейдіть до місця на <a href="https://www.openstreetmap.org/" target="_blank">карті</a>, де хочете додати або відредагувати дані.
|
||||||
2. Use the <button>Query features</button> tool on the right to inspect the existing data.
|
2. Скористайтеся інструментом <button>Запитати об’єкти</button> праворуч, щоб переглянути наявні дані.
|
||||||
3. Right-click on the location and select <button>Add a note here</button>.
|
3. Клацніть правою кнопкою миші в потрібному місці та виберіть <button>Додати примітку тут</button>.
|
||||||
4. Explain what is incorrect or missing in the note and click <button>Add note</button> to submit it.
|
4. У примітці вкажіть, що потрібно виправити або додати, і натисніть <button>Додати примітку</button>, щоб надіслати її.
|
||||||
|
|
||||||
Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
|
Потім досвідченіший учасник OpenStreetMap перегляне вашу примітку й внесе потрібні зміни.
|
||||||
|
|
||||||
<DocsNote>
|
<DocsNote>
|
||||||
|
|
||||||
More information on how to contribute to OpenStreetMap can be found <a href="https://wiki.openstreetmap.org/wiki/How_to_contribute" target="_blank">here</a>.
|
Докладніше про те, як долучитися до OpenStreetMap, можна дізнатися <a href="https://wiki.openstreetmap.org/wiki/How_to_contribute" target="_blank">тут</a>.
|
||||||
|
|
||||||
</DocsNote>
|
</DocsNote>
|
||||||
Loaded 100 of 135 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user