jeanluc-auge / gpsanapy Goto Github PK
View Code? Open in Web Editor NEWgps speed trace analysis for nautic sports
License: Apache License 2.0
gps speed trace analysis for nautic sports
License: Apache License 2.0
Add a .gitignore
file to exclude python artifacts and files created by the applications
The server should create the upload dir if it does not exist to avoid error in fresh environments
run a test_file.gpx and check results match expectations
Salut Jean-Luc,
J'ai une erreur en exécutant le script. Je n'ai pas pris le temps de regarder le code plus en détail.
Lien vers le fichier gpx
Et le résultat :
juju@LAPTOP-VHJF8OSV:~/gpsanapy/gpsanapy$ python3 src/core/gps_analysis.py -f Move_2020_07_31_16_24_42_Kitesurf_Cerf-volant.gpx
INFO:root:CALLING FUNCTION load_gpx_file_to_html
INFO:root:
CALLING FUNCTION format_html_to_gpx
INFO:root:
CALLING FUNCTION to_pandas
WARNING:root:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Doppler speed is not available on all sampling points
Only 99% of the points have doppler data
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!INFO:root:
FUNCTION to_pandas ENDS
with result:
lon lat time speed speed_no_doppler course has_doppler delta_dist
0 -4.056408 47.854212 2020-07-31 15:24:42+00:00 7.300000 7.030450 NaN True 0.000000
1 -4.056586 47.854253 2020-07-31 15:24:44+00:00 7.000000 7.039041 108.945530 True 14.057689
2 -4.056676 47.854272 2020-07-31 15:24:45+00:00 7.000000 7.136410 107.464246 True 7.047635
3 -4.056767 47.854294 2020-07-31 15:24:46+00:00 7.100000 7.349490 109.813358 True 7.225183
4 -4.056861 47.854317 2020-07-31 15:24:47+00:00 7.300000 7.631906 110.033938 True 7.473794
... ... ... ... ... ... ... ... ...
3454 -4.054326 47.854633 2020-07-31 16:23:30+00:00 1.000000 0.740606 191.381766 True 2.271052
3455 -4.054350 47.854654 2020-07-31 16:23:39+00:00 0.699928 0.823065 142.516380 True 2.945972
3456 -4.054359 47.854664 2020-07-31 16:23:40+00:00 0.699641 0.875399 148.871709 True 1.300443
3457 -4.040446 47.851520 2020-07-31 17:04:15+00:00 0.260717 0.260717 288.611340 False 1096.667458
3458 -4.040445 47.851519 2020-07-31 17:04:17+00:00 0.023577 0.071056 326.136248 True 0.134061[3459 rows x 8 columns]
INFO:root:
init TraceAnalysis with file Move_2020_07_31_16_24_42_Kitesurf_Cerf-volant.gpx
creator Movescount - http://www.movescount.com
author MoveWARNING:root:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
deactivating doppler for Movescount watches
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!INFO:root:
CALLING FUNCTION clean_df
INFO:root:
CALLING FUNCTION call_gps_func_from_yaml
INFO:root:with args: {'config_file': 'config.yaml'}
INFO:root:loading yaml config from file config.yaml
{'speed_xs': [{'args': {'s': 1, 'n': 1}, 'description': 'vmax_1s', 'ranking_group': 'vmax'}, {'args': {'s': 10, 'n': 5}, 'description': 'vmax_10s', 'ranking_group': 'vmax'}], 'speed_dist': [{'args': {'dist': 500, 'n': 1}, 'description': 'vmax_500m', 'ranking_group': 'vmax'}, {'args': {'dist': 1000, 'n': 1}, 'description': 'vmax_1000m', 'ranking_group': 'vmax'}], 'planning_ratio': [{'args': {'v_min': 12}, 'description': 'planning_ratio>12', 'ranking_group': 'rendement'}], 'v_moy': [{'args': {'v_min': 12}, 'description': 'Vmoy>12', 'ranking_group': 'rendement'}], 'speed_jibe': [{'args': {'n': 5}, 'description': 'vmax_jibe', 'ranking_group': 'jibe'}], 'planning_distance': [{'args': {'v_min': 12}, 'description': 'planning_distance>12', 'ranking_group': 'endurance'}]}
INFO:root:CALLING FUNCTION speed_xs
INFO:root:with args: {'description': 'vmax_1s', 's': 1, 'n': 1}
Traceback (most recent call last):
File "src/core/gps_analysis.py", line 810, in
gpx_results = gpx_jla.call_gps_func_from_yaml(config_filename)
File "/home/juju/gpsanapy/gpsanapy/src/core/utils.py", line 52, in wrapper
result = fn(self, *args, **kwargs)
File "src/core/gps_analysis.py", line 671, in call_gps_func_from_yaml
results += getattr(self, gps_func)(
File "/home/juju/gpsanapy/gpsanapy/src/core/utils.py", line 52, in wrapper
result = fn(self, *args, **kwargs)
File "src/core/gps_analysis.py", line 583, in speed_xs
confidence_report = self.append_result_debug(
File "src/core/gps_analysis.py", line 634, in append_result_debug
* len(self.thd[self.thd > 0][item_range].dropna())
File "/home/juju/.local/lib/python3.8/site-packages/pandas/core/series.py", line 848, in getitem
return self._get_with(key)
File "/home/juju/.local/lib/python3.8/site-packages/pandas/core/series.py", line 888, in _get_with
return self.loc[key]
File "/home/juju/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 894, in getitem
return self._getitem_axis(maybe_callable, axis=axis)
File "/home/juju/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1112, in _getitem_axis
return self._getitem_iterable(key, axis=axis)
File "/home/juju/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1052, in _getitem_iterable
keyarr, indexer = self._get_listlike_indexer(key, axis, raise_missing=False)
File "/home/juju/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1265, in _get_listlike_indexer
self._validate_read_indexer(keyarr, indexer, axis, raise_missing=raise_missing)
File "/home/juju/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1307, in _validate_read_indexer
raise KeyError(f"None of [{key}] are in the [{axis_name}]")
KeyError: 'None of [DatetimeIndex(['2020-07-31 16:19:06+00:00'], dtype='datetime64[ns, SimpleTZ("Z")]', name='time', freq='S')] are in the [index]'
Docker files are currently using git
to get the source code before build.
We should not, use git
inside the containers, and use the current source code, and copy the code from the local file system.
Dockerfile
(Web API ) and Dockerfile_cli
(for CLI calls)docker-compose
not used for nowdocker
folderxxx_requirements.txt
to requirements_xxx.txt
for better readability
docker_requirements.txt
since it is the same as requirements.txt
(keep it simple)use Django framework to expose a webpage with ranking results and post method of gpx files with basic user authent
Deploy the container to a production environment.
Deployment using Azure Container App
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.