# GPXTweaker (éditeur GPX / GPX editor)
A script in Python 3 to visualize, in 2D and 3D, and edit GPX tracks
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
This program uses the MapLibre GL JS library (https://github.com/maplibre/maplibre-gl-js), licensed under the 3-Clause BSD license, to display tiles sets defined from a style in JSON format, by import of the main script and its style in the web interface pages, if the feature is enabled in the configuration file through the [JSONTiles] part on the [[Global]] section.
Description in english in the second part of this document.
----------Français----------
GPXTweaker est une application, écrite en Python (≥ 3.8) et en Javascript, de visualisation, en 2D et en 3D, et d'édition, au travers d'une interface web, de trace GPX sur fond cartographique. Elle offre également la possibilité d'afficher des photos et vidéos géolocalisées. Aucune dépendance n'est requise.
Lors de la sauvegarde de la trace mise à jour, le fichier inital est renommé, par ajout du suffixe " - original" ou, les fois suivantes, " - backup", dans le même répertoire. Les données inchangées sont, autant que faire se peut, conservées en l'état, sans altération, pour assurer la préservation des champs constituant des extensions par rapport aux standards.
Malgré des tests approfondis, l'utilitaire est toujours susceptible de comporter des erreurs de programmation. Il convient de ce fait de faire preuve de prudence lors de son utilisation en conditions réelles en s'assurant de l'absence de perte ou de corruption de données au niveau de la trace modifiée telle qu'enregistrée par rapport à la version d'origine avant de supprimer le fichier initial.
L'outil est compatible avec MyTrails, quant à la prise en compte des données d'altitude issues du capteur de pression barométrique.
Si le fichier indiqué n'existe pas, une nouvelle trace sera créée à partir de zéro.
Le fond sur lequel est affichée la trace peut être formé d'une carte générée par interrogation d'un serveur WMS ou enregistrée en local ou sur un serveur, ou bien être construit à partir de tuiles, raster ou vectorielles, récupérées sur un serveur WMTS ou Web ou sauvegardées localement.
Sont déjà paramétrées et utilisables au travers d'un alias les sources suivantes: IGN (moyennant l'indication de la clé et d'informations complémentaires de connexion au serveur), OSM, Google, Bing, ESRI, OpenTopoMap, MapTiler, Thunderforest.
Les données d'élévation contenues dans la trace peuvent être complétées ou remplacées par les informations obtenues par interrogation d'un serveur WMS, WMTS, HTTP(S) renvoyant une réponse au format x-bil-32, hgt ou tiff, ou les API IGN (moyennant l'indication de la clé et d'informations complémentaires de connexion au serveur) et Open Topo.
Le tracé de point en point peut s'effectuer en ligne droite ou en suivant les chemins, grâce à un service de calcul d'itinéraires (IGN et OSRM sont déjà configurés).
Les modifications et insertions de points peuvent être annulées/rétablies soit point par point, soit par segment et, s'il s'agit d'une opération portant sur plusieurs points (comme un suivi de chemin), par lot, sur un segment ou sur l'ensemble de la trace.
La trace peut, irréversiblement, être purgée des éléments décochés en la sauvant puis en actualisant la page d'interface.
Le chargement des traces peut être réparti entre plusieurs processus pour un lancement plus rapide de l'explorateur (pour un temps encore réduit en lançant directement le bytecode .pyc, à générer en important le module, plutôt que le script .py).
Le calcul des statistiques des traces peut être partiellement (option Gpu_comp sur 1) ou totalement, mais moyennant une évaluation des dénivelés moins précise, (option Gpu_comp sur 2) déchargé vers le processeur graphique via l'API WebGL 2. Il est aussi possible (option Prefer_WebGPU sur true) d'opter pour l'API WebGPU sous réserve de sa prise en charge par le navigateur (ce qui est désormais le cas de Chrome/Edge, ainsi que, mais avec de piètres performances, de Firefox Nightly), pour un transfert complet, y compris du lissage en mode explorateur, sans compromis sur la précision, grâce au recours aux compute shaders.
Il est possible d'assembler une carte à partir de tuiles au format jpeg au moyen du programme jpegtran.
L'application peut être configurée de sorte à accéder aux ressources distantes via un proxy; l'authentification basique et le chiffrement de bout en bout (TLS-in-TLS) sont pris en charge.
Une trace peut être visualisée en 3D panoramique ou subjective. Dans ce dernier mode, il est possible d'afficher les informations relatives à un point de la carte récupérées auprès d'un des services de géocodage inversé configuré. L'utilisation de l'API WebGPU peut être sélectionnée (option Prefer_WebGPU_also dans la section 3DViewer sur true) si elle est activée pour le calcul des statistiques.
La désactivation des fonctionnalités d'économie d'énergie du processeur graphique (gestion de l'alimentation sur performances maximales) améliore la réactivité et réduit la latence induite autrement par le mécanisme de diminution de la fréquence de l'horloge au repos et à faible charge, tout particulièrement en visualisation 3D subjective, mais au détriment de la consommation et de la température.
Mode d'emploi:
- copier le script GPXTweaker.py dans un répertoire
- copier et personnaliser le fichier de configuration GPXTweaker.cfg dans le même répertoire
- en option: copier le fichier de commandes jpegtran.bat et modifier le chemin d'accès vers le programme jpegtran (à télécharger)
- lancer GPXTweaker en observant la syntaxe de ligne de commande décrite ci-dessous
Le module fournit diverses classes destinées à la manipulation directe de contenus cartographiques. Le fichier "test.py" expose différents cas d'usage possibles.
Syntaxe:
GPXTweaker [-h] URI [--conf|-c CONF] [--trk|-t TRK] [--map|-m MAP] [--emap|-e EMAP] [--box|-b BOX] [--size|-s SIZE] [--dpi|-d DPI] [--record|-r RECORD] [--noopen|-n] [--open|-o OPEN] [--v|-v VERBOSITY]
où:
-h: afficher l'aide
URI: le chemin d'accès à la trace (en local ou, en lecture seule, sur un serveur) ou argument pas mentionné pour démarrer avec l'explorateur de traces
CONF: le chemin d'accès au fichier de configuration (même répertoire que le script par défaut)
TRK: l'indice de la trace (commençant à 0, pour les fichiers gpx contenant plusieurs traces) (0, c'est à dire la première, par défaut)
MAP: le chemin d'accès complet à la carte (en local ou sur un serveur) ou le nom d'un fournisseur de carte paramétré dans le fichier de configuration ou vide pour utiliser le premier founisseur de carte configuré, ou non mentionné pour utiliser les fournisseurs de tuiles définis dans ce même fichier
EMAP: le chemin d'accès complet à la carte d'altitudes ou le nom d'un fournisseur de cartes d'altitudes paramétré dans le fichier de configuration ou vide pour utiliser le premier fournisseur de carte d'altitudes configuré, ou non mentionné pour utiliser les fournisseurs de tuiles et données d'altitudes définis dans ce même fichier
BOX: si le chemin d'une carte ou le nom d'un fournisseur de carte est mentionné ou laissé vide, la boîte au format "minlat, maxlat, minlon, maxlon" (avec les "") de la carte à retourner peut être indiquée au moyen de ce paramètre
SIZE: si le chemin d'une carte ou le nom d'un fournisseur de carte est mentionné ou laissé vide, les dimensions au format "hauteur, largeur" (avec les "") de la carte à retourner peuvent être indiquées au moyen de ce paramètre
DPI: si le nom d'un fournisseur de carte est mentionné ou laissé vide, la densité d'image en pixels par pouce de la carte à retourner peut être indiquée au moyen de ce paramètre (90 par défaut)
RECORD: si le nom d'un fournisseur de carte est mentionné ou laissé vide, ce paramètre permet d'indiquer un répertoire dans lequel enregistrer la carte
-noopen: pour que le script n'ouvre pas la page d'interface dans le navigateur par défaut (et ainsi pouvoir utiliser un autre navigateur, exclut l'utilisation de l'argument --open)
OPEN: le navigateur, défini dans le fichier de configuration, dans lequel ouvrir la page d'interface (navigateur par défaut sinon)
VERBOSITY: niveau de verbosité de 0 à 2 (0 par défaut)
Exemples:
GPXTweaker -v 1
GPXTweaker t.gpx
GPXTweaker t.gpx -m "d:\maps\m.png" -v 1
GPXTweaker t.gpx -c "%appdata%\gpxtweaker\" -m "IGN PLANV2" -e -s "3000, 6000"
Dans l'interface:
- clic gauche sur la carte pour la faire glisser
- clic gauche sur un point pour le sélectionner ou le déplacer
- clic gauche sur un segment pour le sélectionner
- clic droit sur la carte pour insérer un point après le point sélectionné ou un point de cheminement sinon
- ctrl + clic droit sur la carte pour insérer un point après le point sélectionné en mode suivi de chemin
- clic droit sur un point ou un segment pour le masquer
- roulette souris pour faire glisser la carte verticalement
- shift + roulette souris pour faire glisser la carte horizontalement
- ctrl + roulette souris pour zoomer ou dézoomer
- alt + roulette souris pour passer au point ou segment suivant ou précédent
- ctrl + clic sur les boutons de zoom pour modifier l'opacité de la carte
Pour associer les fichers dont l'extension est ".gpx" avec GPXTweaker:
- créer dans le même répertoire un fichier GPXTweaker.bat contenant la ligne, en remplaçant [path] par le chemin d'accès au script: @"[path]\GPXTweaker.py" %1
- dans l'explorateur de fichiers, double-cliquer sur un fichier ".gpx", cliquer sur "plus d'applications" puis sur "rechercher une autre application", et naviguer jusque puis choisir "GPXTweaker.bat"
----------English----------
GPXTweaker is an application, in Python (≥ 3.8) and Javascript, for visualizing, in 2D and in 3D, and editing, throught a web interface, GPX tracks on a cartographic background. It also offers the possibility of displaying geotagged photos and videos. No dependency is required.
When saving the updated track, the inital file is renamed, by adding the suffix "- original" or, the following times, "- backup", in the same folder. Unchanged datas are, as much as possible, kept as they are, without alteration, in order to ensure the conservation of fields constituting extensions relatively to standards.
Despite extensive testing, the utility is still susceptible to include programming errors. It is therefore necessary to be careful when using it in real conditions by making sure that no data loss or corruption occurred in the modified track as saved compared to the original version before deleting the initial file.
The tool is compatible with MyTrails in taking into account altitude datas coming from the barometric pressure sensor.
If the indicated file does not exist, a new track will be created from scratch.
The background on which the track is displayed can be made of a map generated by interrogation of a WMS server or saved locally or on a server, or also be built from raster or vector tiles retrieved from a WMTS or Web server or stored locally.
Are already set and callable under an alias these sources: IGN (provided a key and suitable connexion infos are given), OSM, Google, Bing, ESRI, OpenTopoMap, MapTiler, Thunderforest.
Elevation datas included in the track can be completed or replaced by the informations obtained by interrogation or a WMS, WMTS or HTTP(S) server sending back a response in x-bil-32, hgt or tiff format
or the IGN API (provided a key and suitable connexion infos are given) and Open Topo.
The drawing from point to point can be done in straight line or following pathes, thanks to a service of itineraries calculation (IGN ans OSRM are already configured).
Modifications and insertions of points can be undone/redone either point by point, or by segment and, if an operation dealing with several points is concerned (such as path following), by batch, on a segment or on the whole track.
The track can, irreversibly, be purged of unchecked elements by saving it then reloading the interface page.
The loading of the tracks can be distributed between several processes for a faster launch of the explorer (for an even reduced time by directly launching the .pyc bytecode, to be generated by importing the module, rather than the .py script).
The computation of the statistics of the track can be partially (option Gpu_comp on 1) ou totally, but with a less precise evaluation of the elevation gains, (option Gpu_comp on 2) onto the graphics processor unit via the WebGL 2 API. It is also possible (option Prefer_WebGPU on true) to opt for the WebGPU API subject to its support by the browser (which is now the case for Chrome/Edge, as well as, but with poor performance, for Firefox Nightly), for a complete transfer, including smoothing in explorer mode, without compromise on precision, thanks to the use of compute shaders.
It is possible to assemble a map from tiles in jpeg format thanks to the program jpegtran.
The application can be configured to access remote resources through a proxy; basic authentication and end-to-end encryption (TLS-in-TLS) are supported.
A track can be visualized in panoramic or subjective 3D. In this latest mode, it is possible to display the information relating to a point on the map retrieved from one of the configured reverse geocoding services. The use of the WebGPU API can be selected (option Prefer_WebGPU_also in the section 3DViewer on true) if it is active for the computation of the statistics.
Disabling the energy-saving features of the graphics processor unit (power management on maximum performance) improves the responsiveness and reduces the latency otherwise induced by the clock-down mechanism at idle and low load, particularly in subjective 3D visualization, but at the expense of consumption and temperature.
Instructions:
- copy the script GPXTWeaker in a folder
- copy and customize the configuration file GPXTweaker.cfg in the same folder
- optionally: copy the batch file jpegtean.bat and modify the path to the program jpegtran (needs to be downloaded)
- run GPXTweaker accordingly to the command line syntax describede below
The module provides different classes designed for direct handling of cartographic contents. The file "test.py" exsposes different possible use cases.
Syntax:
GPXTweaker [-h] URI [--conf|-c CONF] [--trk|-t TRK] [--map|-m MAP] [--emap|-e EMAP] [--box|-b BOX] [--size|-s SIZE] [--dpi|-d DPI] [--record|-r RECORD] [--noopen|-n] [--open|-o OPEN] [--v|-v VERBOSITY]
where:
-h: shows the help
URI: the path to the track (on local or, in read only mode, on a server) or argument not mentioned to start with the explorer of tracks
CONF: the path to the configuration file (same folder as the script by default)
TRK: the index of the track (starting at 0, for the gpx files containing several tracks) (0, that is to say the first one, by default)
MAP: the full path to the map (on local or on a server) or the name of a map provider set in the configuration file or blank to use the first map provider configured, or not mentioned in order to use the tiles providers defined in this file
EMAP: the full path to the elevations map or the name of an elevations map provider set in the configuration file or blank to use the first elevations map provider configured, or not mentioned in order to use the elevations tiles or data providers defined in this file
BOX: if the path to a map or the name of a map provider is mentioned or kept blank, the box in format "minlat, maxlat, minlon, maxlon" (with the "") of the map to be retrieved can be indicated with this argument
SIZE: if the path to a map or the name of a map provider is mentioned or kept blank, the dimensions in format "height, width" (with the "") of the map to be retrieved can be indicated with this argument
DPI: if the name of a map provider is mentioned or kept blank, the image density in dots per inch of the map to be retrieved can be indicated with this argument (90 by default)
RECORD: if the name of a map provider is mentioned or kept blank, this argument allows to indicate a folder in which save the map
-noopen: so that the script does not open the interface page in the default browser (and so, be able to use another browser, excludes the use of the argument --open)
OPEN: the browser, defined in the configuration file, in which to open the interface page (default browser otherwise)
VERBOSITY: verbosity level from 0 to 2 (0 by default)
Examples:
GPXTweaker -v 1
GPXTweaker t.gpx
GPXTweaker t.gpx -m "d:\maps\m.png" -v 1
GPXTweaker t.gpx -c "%appdata%\gpxtweaker\" -m "IGN PLANV2" -e -s "3000, 6000"
In the interface:
- left click on the map to scroll it
- left click on a dot to select or move it
- left click on a segment to select it
- right click on the map to insert a dot after the selected dot or a waypoint otherwise
- ctrl + right click on the map to insert a dot after the selected one in path following mode
- right click on a dot or a segment to hide it
- mouse wheel to scroll the map vertically
- shift + mouse wheel to scroll the map horizontally
- ctrl + mouse wheel to zoom in or out
- alt + mouse wheel to switch to the next or previous point or segment
- ctrl + click on the zoom buttons to change the opacity of the map
In order to associate the files whose extension is ".gpx" with GPXTweaker:
- create in the same folder a file GPXTweaker.bat containing the line, replacing [path] by the path to the script: @"[path]\GPXTweaker.py" %1
- in the files explorer, double-click on a ".gpx" file, click on "more applications" then on "look for another application", and navigate towards then choose "GPXTweaker.bat"
Raw data
{
"_id": null,
"home_page": "https://github.com/PCigales/GPXTweaker",
"name": "GPXTweaker",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "gpx, gis, wms, wmts, 3d, wgs84, mercator, geotag",
"author": "PCigales",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/3b/a0/8d87065d016af81f07c85f3fdbdf67fd1af7ce7a322b3a5c6aa490680f25/gpxtweaker-1.18.3.tar.gz",
"platform": "win64",
"description": "# GPXTweaker (\u00e9diteur GPX / GPX editor)\r\nA script in Python 3 to visualize, in 2D and 3D, and edit GPX tracks\r\n\r\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\nYou should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.\r\n\r\nThis program uses the MapLibre GL JS library (https://github.com/maplibre/maplibre-gl-js), licensed under the 3-Clause BSD license, to display tiles sets defined from a style in JSON format, by import of the main script and its style in the web interface pages, if the feature is enabled in the configuration file through the [JSONTiles] part on the [[Global]] section.\r\n\r\nDescription in english in the second part of this document.\r\n\r\n\r\n----------Fran\u00e7ais----------\r\n\r\nGPXTweaker est une application, \u00e9crite en Python (\u2265 3.8) et en Javascript, de visualisation, en 2D et en 3D, et d'\u00e9dition, au travers d'une interface web, de trace GPX sur fond cartographique. Elle offre \u00e9galement la possibilit\u00e9 d'afficher des photos et vid\u00e9os g\u00e9olocalis\u00e9es. Aucune d\u00e9pendance n'est requise.\r\n\r\nLors de la sauvegarde de la trace mise \u00e0 jour, le fichier inital est renomm\u00e9, par ajout du suffixe \" - original\" ou, les fois suivantes, \" - backup\", dans le m\u00eame r\u00e9pertoire. Les donn\u00e9es inchang\u00e9es sont, autant que faire se peut, conserv\u00e9es en l'\u00e9tat, sans alt\u00e9ration, pour assurer la pr\u00e9servation des champs constituant des extensions par rapport aux standards.\r\n\r\nMalgr\u00e9 des tests approfondis, l'utilitaire est toujours susceptible de comporter des erreurs de programmation. Il convient de ce fait de faire preuve de prudence lors de son utilisation en conditions r\u00e9elles en s'assurant de l'absence de perte ou de corruption de donn\u00e9es au niveau de la trace modifi\u00e9e telle qu'enregistr\u00e9e par rapport \u00e0 la version d'origine avant de supprimer le fichier initial.\r\nL'outil est compatible avec MyTrails, quant \u00e0 la prise en compte des donn\u00e9es d'altitude issues du capteur de pression barom\u00e9trique.\r\nSi le fichier indiqu\u00e9 n'existe pas, une nouvelle trace sera cr\u00e9\u00e9e \u00e0 partir de z\u00e9ro.\r\n\r\nLe fond sur lequel est affich\u00e9e la trace peut \u00eatre form\u00e9 d'une carte g\u00e9n\u00e9r\u00e9e par interrogation d'un serveur WMS ou enregistr\u00e9e en local ou sur un serveur, ou bien \u00eatre construit \u00e0 partir de tuiles, raster ou vectorielles, r\u00e9cup\u00e9r\u00e9es sur un serveur WMTS ou Web ou sauvegard\u00e9es localement.\r\nSont d\u00e9j\u00e0 param\u00e9tr\u00e9es et utilisables au travers d'un alias les sources suivantes: IGN (moyennant l'indication de la cl\u00e9 et d'informations compl\u00e9mentaires de connexion au serveur), OSM, Google, Bing, ESRI, OpenTopoMap, MapTiler, Thunderforest.\r\n\r\nLes donn\u00e9es d'\u00e9l\u00e9vation contenues dans la trace peuvent \u00eatre compl\u00e9t\u00e9es ou remplac\u00e9es par les informations obtenues par interrogation d'un serveur WMS, WMTS, HTTP(S) renvoyant une r\u00e9ponse au format x-bil-32, hgt ou tiff, ou les API IGN (moyennant l'indication de la cl\u00e9 et d'informations compl\u00e9mentaires de connexion au serveur) et Open Topo.\r\n\r\nLe trac\u00e9 de point en point peut s'effectuer en ligne droite ou en suivant les chemins, gr\u00e2ce \u00e0 un service de calcul d'itin\u00e9raires (IGN et OSRM sont d\u00e9j\u00e0 configur\u00e9s).\r\n\r\nLes modifications et insertions de points peuvent \u00eatre annul\u00e9es/r\u00e9tablies soit point par point, soit par segment et, s'il s'agit d'une op\u00e9ration portant sur plusieurs points (comme un suivi de chemin), par lot, sur un segment ou sur l'ensemble de la trace.\r\n\r\nLa trace peut, irr\u00e9versiblement, \u00eatre purg\u00e9e des \u00e9l\u00e9ments d\u00e9coch\u00e9s en la sauvant puis en actualisant la page d'interface.\r\n\r\nLe chargement des traces peut \u00eatre r\u00e9parti entre plusieurs processus pour un lancement plus rapide de l'explorateur (pour un temps encore r\u00e9duit en lan\u00e7ant directement le bytecode .pyc, \u00e0 g\u00e9n\u00e9rer en important le module, plut\u00f4t que le script .py).\r\n\r\nLe calcul des statistiques des traces peut \u00eatre partiellement (option Gpu_comp sur 1) ou totalement, mais moyennant une \u00e9valuation des d\u00e9nivel\u00e9s moins pr\u00e9cise, (option Gpu_comp sur 2) d\u00e9charg\u00e9 vers le processeur graphique via l'API WebGL 2. Il est aussi possible (option Prefer_WebGPU sur true) d'opter pour l'API WebGPU sous r\u00e9serve de sa prise en charge par le navigateur (ce qui est d\u00e9sormais le cas de Chrome/Edge, ainsi que, mais avec de pi\u00e8tres performances, de Firefox Nightly), pour un transfert complet, y compris du lissage en mode explorateur, sans compromis sur la pr\u00e9cision, gr\u00e2ce au recours aux compute shaders.\r\n\r\nIl est possible d'assembler une carte \u00e0 partir de tuiles au format jpeg au moyen du programme jpegtran.\r\n\r\nL'application peut \u00eatre configur\u00e9e de sorte \u00e0 acc\u00e9der aux ressources distantes via un proxy; l'authentification basique et le chiffrement de bout en bout (TLS-in-TLS) sont pris en charge.\r\n\r\nUne trace peut \u00eatre visualis\u00e9e en 3D panoramique ou subjective. Dans ce dernier mode, il est possible d'afficher les informations relatives \u00e0 un point de la carte r\u00e9cup\u00e9r\u00e9es aupr\u00e8s d'un des services de g\u00e9ocodage invers\u00e9 configur\u00e9. L'utilisation de l'API WebGPU peut \u00eatre s\u00e9lectionn\u00e9e (option Prefer_WebGPU_also dans la section 3DViewer sur true) si elle est activ\u00e9e pour le calcul des statistiques.\r\n\r\nLa d\u00e9sactivation des fonctionnalit\u00e9s d'\u00e9conomie d'\u00e9nergie du processeur graphique (gestion de l'alimentation sur performances maximales) am\u00e9liore la r\u00e9activit\u00e9 et r\u00e9duit la latence induite autrement par le m\u00e9canisme de diminution de la fr\u00e9quence de l'horloge au repos et \u00e0 faible charge, tout particuli\u00e8rement en visualisation 3D subjective, mais au d\u00e9triment de la consommation et de la temp\u00e9rature.\r\n\r\nMode d'emploi:\r\n - copier le script GPXTweaker.py dans un r\u00e9pertoire\r\n - copier et personnaliser le fichier de configuration GPXTweaker.cfg dans le m\u00eame r\u00e9pertoire\r\n - en option: copier le fichier de commandes jpegtran.bat et modifier le chemin d'acc\u00e8s vers le programme jpegtran (\u00e0 t\u00e9l\u00e9charger)\r\n - lancer GPXTweaker en observant la syntaxe de ligne de commande d\u00e9crite ci-dessous\r\n\r\nLe module fournit diverses classes destin\u00e9es \u00e0 la manipulation directe de contenus cartographiques. Le fichier \"test.py\" expose diff\u00e9rents cas d'usage possibles.\r\n\r\nSyntaxe: \r\n\r\n GPXTweaker [-h] URI [--conf|-c CONF] [--trk|-t TRK] [--map|-m MAP] [--emap|-e EMAP] [--box|-b BOX] [--size|-s SIZE] [--dpi|-d DPI] [--record|-r RECORD] [--noopen|-n] [--open|-o OPEN] [--v|-v VERBOSITY] \r\no\u00f9: \r\n -h: afficher l'aide \r\n URI: le chemin d'acc\u00e8s \u00e0 la trace (en local ou, en lecture seule, sur un serveur) ou argument pas mentionn\u00e9 pour d\u00e9marrer avec l'explorateur de traces \r\n CONF: le chemin d'acc\u00e8s au fichier de configuration (m\u00eame r\u00e9pertoire que le script par d\u00e9faut) \r\n TRK: l'indice de la trace (commen\u00e7ant \u00e0 0, pour les fichiers gpx contenant plusieurs traces) (0, c'est \u00e0 dire la premi\u00e8re, par d\u00e9faut) \r\n MAP: le chemin d'acc\u00e8s complet \u00e0 la carte (en local ou sur un serveur) ou le nom d'un fournisseur de carte param\u00e9tr\u00e9 dans le fichier de configuration ou vide pour utiliser le premier founisseur de carte configur\u00e9, ou non mentionn\u00e9 pour utiliser les fournisseurs de tuiles d\u00e9finis dans ce m\u00eame fichier \r\n EMAP: le chemin d'acc\u00e8s complet \u00e0 la carte d'altitudes ou le nom d'un fournisseur de cartes d'altitudes param\u00e9tr\u00e9 dans le fichier de configuration ou vide pour utiliser le premier fournisseur de carte d'altitudes configur\u00e9, ou non mentionn\u00e9 pour utiliser les fournisseurs de tuiles et donn\u00e9es d'altitudes d\u00e9finis dans ce m\u00eame fichier \r\n BOX: si le chemin d'une carte ou le nom d'un fournisseur de carte est mentionn\u00e9 ou laiss\u00e9 vide, la bo\u00eete au format \"minlat, maxlat, minlon, maxlon\" (avec les \"\") de la carte \u00e0 retourner peut \u00eatre indiqu\u00e9e au moyen de ce param\u00e8tre \r\n SIZE: si le chemin d'une carte ou le nom d'un fournisseur de carte est mentionn\u00e9 ou laiss\u00e9 vide, les dimensions au format \"hauteur, largeur\" (avec les \"\") de la carte \u00e0 retourner peuvent \u00eatre indiqu\u00e9es au moyen de ce param\u00e8tre \r\n DPI: si le nom d'un fournisseur de carte est mentionn\u00e9 ou laiss\u00e9 vide, la densit\u00e9 d'image en pixels par pouce de la carte \u00e0 retourner peut \u00eatre indiqu\u00e9e au moyen de ce param\u00e8tre (90 par d\u00e9faut) \r\n RECORD: si le nom d'un fournisseur de carte est mentionn\u00e9 ou laiss\u00e9 vide, ce param\u00e8tre permet d'indiquer un r\u00e9pertoire dans lequel enregistrer la carte \r\n -noopen: pour que le script n'ouvre pas la page d'interface dans le navigateur par d\u00e9faut (et ainsi pouvoir utiliser un autre navigateur, exclut l'utilisation de l'argument --open) \r\n OPEN: le navigateur, d\u00e9fini dans le fichier de configuration, dans lequel ouvrir la page d'interface (navigateur par d\u00e9faut sinon) \r\n VERBOSITY: niveau de verbosit\u00e9 de 0 \u00e0 2 (0 par d\u00e9faut)\r\n\r\nExemples: \r\n\r\n GPXTweaker -v 1 \r\n GPXTweaker t.gpx \r\n GPXTweaker t.gpx -m \"d:\\maps\\m.png\" -v 1 \r\n GPXTweaker t.gpx -c \"%appdata%\\gpxtweaker\\\" -m \"IGN PLANV2\" -e -s \"3000, 6000\"\r\n\r\nDans l'interface:\r\n - clic gauche sur la carte pour la faire glisser\r\n - clic gauche sur un point pour le s\u00e9lectionner ou le d\u00e9placer\r\n - clic gauche sur un segment pour le s\u00e9lectionner\r\n - clic droit sur la carte pour ins\u00e9rer un point apr\u00e8s le point s\u00e9lectionn\u00e9 ou un point de cheminement sinon\r\n - ctrl + clic droit sur la carte pour ins\u00e9rer un point apr\u00e8s le point s\u00e9lectionn\u00e9 en mode suivi de chemin\r\n - clic droit sur un point ou un segment pour le masquer\r\n - roulette souris pour faire glisser la carte verticalement\r\n - shift + roulette souris pour faire glisser la carte horizontalement\r\n - ctrl + roulette souris pour zoomer ou d\u00e9zoomer\r\n - alt + roulette souris pour passer au point ou segment suivant ou pr\u00e9c\u00e9dent\r\n - ctrl + clic sur les boutons de zoom pour modifier l'opacit\u00e9 de la carte\r\n\r\nPour associer les fichers dont l'extension est \".gpx\" avec GPXTweaker:\r\n - cr\u00e9er dans le m\u00eame r\u00e9pertoire un fichier GPXTweaker.bat contenant la ligne, en rempla\u00e7ant [path] par le chemin d'acc\u00e8s au script: @\"[path]\\GPXTweaker.py\" %1\r\n - dans l'explorateur de fichiers, double-cliquer sur un fichier \".gpx\", cliquer sur \"plus d'applications\" puis sur \"rechercher une autre application\", et naviguer jusque puis choisir \"GPXTweaker.bat\"\r\n\r\n\r\n----------English----------\r\n\r\nGPXTweaker is an application, in Python (\u2265 3.8) and Javascript, for visualizing, in 2D and in 3D, and editing, throught a web interface, GPX tracks on a cartographic background. It also offers the possibility of displaying geotagged photos and videos. No dependency is required.\r\n\r\nWhen saving the updated track, the inital file is renamed, by adding the suffix \"- original\" or, the following times, \"- backup\", in the same folder. Unchanged datas are, as much as possible, kept as they are, without alteration, in order to ensure the conservation of fields constituting extensions relatively to standards.\r\n\r\nDespite extensive testing, the utility is still susceptible to include programming errors. It is therefore necessary to be careful when using it in real conditions by making sure that no data loss or corruption occurred in the modified track as saved compared to the original version before deleting the initial file.\r\nThe tool is compatible with MyTrails in taking into account altitude datas coming from the barometric pressure sensor.\r\nIf the indicated file does not exist, a new track will be created from scratch.\r\n\r\nThe background on which the track is displayed can be made of a map generated by interrogation of a WMS server or saved locally or on a server, or also be built from raster or vector tiles retrieved from a WMTS or Web server or stored locally.\r\nAre already set and callable under an alias these sources: IGN (provided a key and suitable connexion infos are given), OSM, Google, Bing, ESRI, OpenTopoMap, MapTiler, Thunderforest.\r\n\r\nElevation datas included in the track can be completed or replaced by the informations obtained by interrogation or a WMS, WMTS or HTTP(S) server sending back a response in x-bil-32, hgt or tiff format\r\n or the IGN API (provided a key and suitable connexion infos are given) and Open Topo.\r\n\r\nThe drawing from point to point can be done in straight line or following pathes, thanks to a service of itineraries calculation (IGN ans OSRM are already configured).\r\n\r\nModifications and insertions of points can be undone/redone either point by point, or by segment and, if an operation dealing with several points is concerned (such as path following), by batch, on a segment or on the whole track.\r\n\r\nThe track can, irreversibly, be purged of unchecked elements by saving it then reloading the interface page.\r\n\r\nThe loading of the tracks can be distributed between several processes for a faster launch of the explorer (for an even reduced time by directly launching the .pyc bytecode, to be generated by importing the module, rather than the .py script).\r\n\r\nThe computation of the statistics of the track can be partially (option Gpu_comp on 1) ou totally, but with a less precise evaluation of the elevation gains, (option Gpu_comp on 2) onto the graphics processor unit via the WebGL 2 API. It is also possible (option Prefer_WebGPU on true) to opt for the WebGPU API subject to its support by the browser (which is now the case for Chrome/Edge, as well as, but with poor performance, for Firefox Nightly), for a complete transfer, including smoothing in explorer mode, without compromise on precision, thanks to the use of compute shaders.\r\n\r\nIt is possible to assemble a map from tiles in jpeg format thanks to the program jpegtran.\r\n\r\nThe application can be configured to access remote resources through a proxy; basic authentication and end-to-end encryption (TLS-in-TLS) are supported.\r\n\r\nA track can be visualized in panoramic or subjective 3D. In this latest mode, it is possible to display the information relating to a point on the map retrieved from one of the configured reverse geocoding services. The use of the WebGPU API can be selected (option Prefer_WebGPU_also in the section 3DViewer on true) if it is active for the computation of the statistics.\r\n\r\nDisabling the energy-saving features of the graphics processor unit (power management on maximum performance) improves the responsiveness and reduces the latency otherwise induced by the clock-down mechanism at idle and low load, particularly in subjective 3D visualization, but at the expense of consumption and temperature.\r\n\r\nInstructions:\r\n - copy the script GPXTWeaker in a folder\r\n - copy and customize the configuration file GPXTweaker.cfg in the same folder\r\n - optionally: copy the batch file jpegtean.bat and modify the path to the program jpegtran (needs to be downloaded)\r\n - run GPXTweaker accordingly to the command line syntax describede below\r\n\r\nThe module provides different classes designed for direct handling of cartographic contents. The file \"test.py\" exsposes different possible use cases.\r\n\r\nSyntax: \r\n\r\n GPXTweaker [-h] URI [--conf|-c CONF] [--trk|-t TRK] [--map|-m MAP] [--emap|-e EMAP] [--box|-b BOX] [--size|-s SIZE] [--dpi|-d DPI] [--record|-r RECORD] [--noopen|-n] [--open|-o OPEN] [--v|-v VERBOSITY] \r\nwhere: \r\n -h: shows the help \r\n URI: the path to the track (on local or, in read only mode, on a server) or argument not mentioned to start with the explorer of tracks \r\n CONF: the path to the configuration file (same folder as the script by default) \r\n TRK: the index of the track (starting at 0, for the gpx files containing several tracks) (0, that is to say the first one, by default) \r\n MAP: the full path to the map (on local or on a server) or the name of a map provider set in the configuration file or blank to use the first map provider configured, or not mentioned in order to use the tiles providers defined in this file \r\n EMAP: the full path to the elevations map or the name of an elevations map provider set in the configuration file or blank to use the first elevations map provider configured, or not mentioned in order to use the elevations tiles or data providers defined in this file \r\n BOX: if the path to a map or the name of a map provider is mentioned or kept blank, the box in format \"minlat, maxlat, minlon, maxlon\" (with the \"\") of the map to be retrieved can be indicated with this argument \r\n SIZE: if the path to a map or the name of a map provider is mentioned or kept blank, the dimensions in format \"height, width\" (with the \"\") of the map to be retrieved can be indicated with this argument \r\n DPI: if the name of a map provider is mentioned or kept blank, the image density in dots per inch of the map to be retrieved can be indicated with this argument (90 by default) \r\n RECORD: if the name of a map provider is mentioned or kept blank, this argument allows to indicate a folder in which save the map \r\n -noopen: so that the script does not open the interface page in the default browser (and so, be able to use another browser, excludes the use of the argument --open) \r\n OPEN: the browser, defined in the configuration file, in which to open the interface page (default browser otherwise) \r\n VERBOSITY: verbosity level from 0 to 2 (0 by default)\r\n\r\nExamples: \r\n\r\n GPXTweaker -v 1 \r\n GPXTweaker t.gpx \r\n GPXTweaker t.gpx -m \"d:\\maps\\m.png\" -v 1 \r\n GPXTweaker t.gpx -c \"%appdata%\\gpxtweaker\\\" -m \"IGN PLANV2\" -e -s \"3000, 6000\"\r\n\r\nIn the interface:\r\n - left click on the map to scroll it\r\n - left click on a dot to select or move it\r\n - left click on a segment to select it\r\n - right click on the map to insert a dot after the selected dot or a waypoint otherwise\r\n - ctrl + right click on the map to insert a dot after the selected one in path following mode\r\n - right click on a dot or a segment to hide it\r\n - mouse wheel to scroll the map vertically\r\n - shift + mouse wheel to scroll the map horizontally\r\n - ctrl + mouse wheel to zoom in or out\r\n - alt + mouse wheel to switch to the next or previous point or segment\r\n - ctrl + click on the zoom buttons to change the opacity of the map\r\n\r\nIn order to associate the files whose extension is \".gpx\" with GPXTweaker:\r\n - create in the same folder a file GPXTweaker.bat containing the line, replacing [path] by the path to the script: @\"[path]\\GPXTweaker.py\" %1\r\n - in the files explorer, double-click on a \".gpx\" file, click on \"more applications\" then on \"look for another application\", and navigate towards then choose \"GPXTweaker.bat\"\r\n",
"bugtrack_url": null,
"license": "GNU GPLv3",
"summary": "A script in Python 3 to visualize, in 2D and 3D, and edit GPX tracks",
"version": "1.18.3",
"project_urls": {
"Bug Tracker": "https://github.com/PCigales/GPXTweaker/issues",
"Homepage": "https://github.com/PCigales/GPXTweaker"
},
"split_keywords": [
"gpx",
" gis",
" wms",
" wmts",
" 3d",
" wgs84",
" mercator",
" geotag"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9611e73cc0ce328bc468f68c6be0eb6e8d89f9f892952c64771dbc6f7523cccd",
"md5": "6917e023a654585181e602b17b1217ff",
"sha256": "de9e5cfda6a98abcd2957bba47b40f3c93bf80cde615263951cfcdb70fb5ccec"
},
"downloads": -1,
"filename": "GPXTweaker-1.18.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6917e023a654585181e602b17b1217ff",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 251557,
"upload_time": "2024-06-08T19:52:11",
"upload_time_iso_8601": "2024-06-08T19:52:11.266592Z",
"url": "https://files.pythonhosted.org/packages/96/11/e73cc0ce328bc468f68c6be0eb6e8d89f9f892952c64771dbc6f7523cccd/GPXTweaker-1.18.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3ba08d87065d016af81f07c85f3fdbdf67fd1af7ce7a322b3a5c6aa490680f25",
"md5": "be4fd146ebab2348e0da0c0b55855599",
"sha256": "76bd1a68600089426a5622821e4161168a1dbc8ab231c1d877be1d0f8fb096d7"
},
"downloads": -1,
"filename": "gpxtweaker-1.18.3.tar.gz",
"has_sig": false,
"md5_digest": "be4fd146ebab2348e0da0c0b55855599",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 255030,
"upload_time": "2024-06-08T19:52:13",
"upload_time_iso_8601": "2024-06-08T19:52:13.178728Z",
"url": "https://files.pythonhosted.org/packages/3b/a0/8d87065d016af81f07c85f3fdbdf67fd1af7ce7a322b3a5c6aa490680f25/gpxtweaker-1.18.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-08 19:52:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PCigales",
"github_project": "GPXTweaker",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "gpxtweaker"
}