{"id":13585694,"url":"https://github.com/nidhaloff/gpx-converter","last_synced_at":"2025-08-31T22:05:13.951Z","repository":{"id":43288981,"uuid":"262414538","full_name":"nidhaloff/gpx-converter","owner":"nidhaloff","description":"python package for manipulating gpx files and easily converting gpx to other different formats","archived":false,"fork":false,"pushed_at":"2023-08-28T04:29:22.000Z","size":295,"stargazers_count":73,"open_issues_count":10,"forks_count":19,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-28T17:14:47.378Z","etag":null,"topics":["converter","csv-converter","csv-files","csv-parser","csv-to-gpx","file-converter","gpx","gpx-converter","gpx-files","gpx-format","gpx-parser","gpx-to-csv","gpx-to-dataframe","gpx-to-excel","gpx-to-json"],"latest_commit_sha":null,"homepage":"https://gpx-converter.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nidhaloff.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"nidhaloff"}},"created_at":"2020-05-08T19:46:22.000Z","updated_at":"2025-02-08T16:58:30.000Z","dependencies_parsed_at":"2023-01-31T02:00:18.141Z","dependency_job_id":"52e746d8-321b-4e8f-a37e-1d4f46d38b0d","html_url":"https://github.com/nidhaloff/gpx-converter","commit_stats":null,"previous_names":["nidhaloff/gpx_converter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nidhaloff%2Fgpx-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nidhaloff%2Fgpx-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nidhaloff%2Fgpx-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nidhaloff%2Fgpx-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nidhaloff","download_url":"https://codeload.github.com/nidhaloff/gpx-converter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251352624,"owners_count":21575864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["converter","csv-converter","csv-files","csv-parser","csv-to-gpx","file-converter","gpx","gpx-converter","gpx-files","gpx-format","gpx-parser","gpx-to-csv","gpx-to-dataframe","gpx-to-excel","gpx-to-json"],"created_at":"2024-08-01T15:05:05.499Z","updated_at":"2025-04-28T17:14:54.185Z","avatar_url":"https://github.com/nidhaloff.png","language":"Python","funding_links":["https://github.com/sponsors/nidhaloff"],"categories":["Python"],"sub_categories":[],"readme":"=============\ngpx-converter\n=============\n\n.. image:: https://github.com/nidhaloff/gpx-converter/blob/master/assets/icon.png\n    :width: 100\n    :align: center\n    :alt: gpx-converter-icon\n\n|\n\n\n\n.. image:: https://img.shields.io/pypi/v/gpx-converter.svg\n        :target: https://pypi.python.org/pypi/gpx-converter\n\n.. image:: https://img.shields.io/travis/nidhaloff/gpx-converter.svg\n        :target: https://travis-ci.com/nidhaloff/gpx-converter\n\n.. image:: https://readthedocs.org/projects/gpx-converter/badge/?version=latest\n        :target: https://gpx-converter.readthedocs.io/en/latest/?badge=latest\n        :alt: Documentation Status\n.. image:: https://img.shields.io/pypi/wheel/gpx-converter\n        :alt: PyPI - Wheel\n        :target: https://pypi.python.org/pypi/gpx-converter\n\n.. image:: https://pepy.tech/badge/gpx-converter\n        :target: https://pepy.tech/project/gpx-converter\n\n\n.. image:: https://img.shields.io/pypi/l/gpx-converter\n        :alt: PyPI - License\n        :target: https://pypi.python.org/pypi/gpx-converter\n\n\n.. image:: https://img.shields.io/twitter/url?url=https%3A%2F%2Ftwitter.com%2FNidhalBaccouri\n        :alt: Twitter URL\n        :target: https://twitter.com/NidhalBaccouri\n\n\n\nGPX manipulation for humans\n----------------------------\n\nPython package for manipulating gpx files and easily convert gpx to other different formats.\n\n* Free software: MIT license\n* Documentation: https://gpx-converter.readthedocs.io.\n\nWhen \u0026 Why\n----------\n- You need to convert GPX to other formats\n- You need to convert other formats like csv to GPX\n- You want to interpolate the GPX coordinates\n- High level of abstraction\n- Stable API\n- easy to use and to extend\n\nMotivation\n----------\n\nI decided to create this project because I had gpx data that I needed to manipulate. I searched for a python\npackage for this but I did not find what I was looking for, therefore I created the gpx-converter package\nto make gpx files manipulation very easy. Furthermore, the package contains methods for applying interpolation\non the gpx data. This feature was very helpful for me since I also needed to interpolate the gpx data and\nconvert it to csv.\nFeel free to contribute or to give me feedback anytime :)\n\nFeatures\n--------\n\n- Convert gpx files to other formats such as csv, numpy arrays, dataframes, excel and json\n- Convert csv files to gpx\n- Apply interpolation on the gpx data\n\nInstallation\n------------\n\n.. code-block:: console\n\n    $ pip install -U gpx-converter\n\n\nQuick Usage\n-----------\n\n.. code-block:: python\n\n    from gpx_converter import Converter\n\n**Just read the gpx to dictionary**\n\n.. code-block:: python\n\n    dic = Converter(input_file='your_input.gpx').gpx_to_dictionary(latitude_key='latitude', longitude_key='longitude')\n    # now you have a dictionary and can access the longitudes and latitudes values from the keys\n    latitudes = dic['latitude']\n    longitudes = dic['longitude']\n\n**Convert GPX to other formats**\n\n- Convert from gpx to csv:\n\n.. code-block:: python\n\n    Converter(input_file='your_input.gpx').gpx_to_csv(output_file='your_output.csv')\n\n- Convert from gpx to excel sheets:\n\n.. code-block:: python\n\n    Converter(input_file='your_input.gpx').gpx_to_excel(output_file='your_output.xlsx')\n\n- Convert from gpx to json:\n\n.. code-block:: python\n\n    Converter(input_file='your_input.gpx').gpx_to_json(output_file='your_output.json)\n\n- Convert gpx file to dataframe:\n\n.. code-block:: python\n\n    df = Converter(input_file='your_input.gpx').gpx_to_dataframe()\n\n- Convert gpx file to numpy array:\n\n.. code-block:: python\n\n    np_array = Converter(input_file='your_input.gpx').gpx_to_numpy_array()\n\n\n**Now convert other formats to GPX**\n\n- csv to gpx\n\n.. code-block:: python\n\n    Converter(input_file='your_input.csv').csv_to_gpx(lats_colname='column_name_of_latitudes',\n                                                     longs_colname='column_name_of_longitudes',\n                                                     output_file='your_output.gpx')\n\n- excel to gpx\n\n.. code-block:: python\n\n    Converter(input_file='your_input.xlsx').excel_to_gpx(lats_colname='column_name_of_latitudes',\n                                                     longs_colname='column_name_of_longitudes',\n                                                     output_file='your_output.gpx')\n\n- dataframe to gpx (notice that the method is static)\n\n.. code-block:: python\n\n    Converter.dataframe_to_gpx(input_df=your_df,\n                               lats_colname='column_name_of_latitudes',\n                               longs_colname='column_name_of_longitudes',\n                               output_file='your_output.gpx')\n\n- json to gpx\n\n.. code-block:: python\n\n    Converter(input_file='your_input.json').json_to_gpx(input_df=your_df,\n                                                       lats_colname='column_name_of_latitudes',\n                                                       longs_colname='column_name_of_longitudes',\n                                                       output_file='your_output.gpx')\n\n\n- Automate the conversion of multiple csv file to gpx:\n\n.. code-block:: python\n\n    Converter.convert_multi_csv_to_gpx(dirpath='your_directory/')\n\n- Apply spline interpolation on gpx file (you need to install scipy for this to work):\n\n.. code-block:: python\n\n    interpolated_coordinates = Converter.spline_interpolation(cv=your_array_of_control_vertices)\n\nUsage from terminal\n--------------------\n\nAlternatively you can use the gpx_converter directly from terminal.\nYou just need to pass the function, input file and output file as arguments.\n\n- function: the conversion method you want to use. For example \"gpx_to_csv\"\n- input file: path to your input file\n- output file: path to your output file\n\n.. code-block:: console\n\n    $ gpx_converter --function \"gpx_to_csv\" --input_file \"home/your_input.gpx\" --output_file \"home/your_output.csv\"\n\nor maybe you prefer the short version\n\n.. code-block:: console\n\n    $ gpx_converter -func \"gpx_to_csv\" -in \"home/your_input.gpx\" -out \"home/your_output.csv\"\n\nLinks\n-----\nCheck this article to know more about gpx files and how to use the gpx-converter package.\nhttps://medium.com/p/57da00bd36fc/edit\n\nContributions\n--------------\nContributions are always welcome. Make sure you check the guidlines first https://gpx-converter.readthedocs.io/en/latest/contributing.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnidhaloff%2Fgpx-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnidhaloff%2Fgpx-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnidhaloff%2Fgpx-converter/lists"}