=============
gpx-converter
=============
.. image:: https://github.com/nidhaloff/gpx-converter/blob/master/assets/icon.png
:width: 100
:align: center
:alt: gpx-converter-icon
|
.. image:: https://img.shields.io/pypi/v/gpx-converter.svg
:target: https://pypi.python.org/pypi/gpx-converter
.. image:: https://img.shields.io/travis/nidhaloff/gpx-converter.svg
:target: https://travis-ci.com/nidhaloff/gpx-converter
.. image:: https://readthedocs.org/projects/gpx-converter/badge/?version=latest
:target: https://gpx-converter.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/wheel/gpx-converter
:alt: PyPI - Wheel
:target: https://pypi.python.org/pypi/gpx-converter
.. image:: https://pepy.tech/badge/gpx-converter
:target: https://pepy.tech/project/gpx-converter
.. image:: https://img.shields.io/pypi/l/gpx-converter
:alt: PyPI - License
:target: https://pypi.python.org/pypi/gpx-converter
.. image:: https://img.shields.io/twitter/url?url=https%3A%2F%2Ftwitter.com%2FNidhalBaccouri
:alt: Twitter URL
:target: https://twitter.com/NidhalBaccouri
GPX manipulation for humans
----------------------------
Python package for manipulating gpx files and easily convert gpx to other different formats.
* Free software: MIT license
* Documentation: https://gpx-converter.readthedocs.io.
When & Why
----------
- You need to convert GPX to other formats
- You need to convert other formats like csv to GPX
- You want to interpolate the GPX coordinates
- High level of abstraction
- Stable API
- easy to use and to extend
Motivation
----------
I decided to create this project because I had gpx data that I needed to manipulate. I searched for a python
package for this but I did not find what I was looking for, therefore I created the gpx-converter package
to make gpx files manipulation very easy. Furthermore, the package contains methods for applying interpolation
on the gpx data. This feature was very helpful for me since I also needed to interpolate the gpx data and
convert it to csv.
Feel free to contribute or to give me feedback anytime :)
Features
--------
- Convert gpx files to other formats such as csv, numpy arrays, dataframes, excel and json
- Convert csv files to gpx
- Apply interpolation on the gpx data
Installation
------------
.. code-block:: console
$ pip install -U gpx-converter
Quick Usage
-----------
.. code-block:: python
from gpx_converter import Converter
**Just read the gpx to dictionary**
.. code-block:: python
dic = Converter(input_file='your_input.gpx').gpx_to_dictionary(latitude_key='latitude', longitude_key='longitude')
# now you have a dictionary and can access the longitudes and latitudes values from the keys
latitudes = dic['latitude']
longitudes = dic['longitude']
**Convert GPX to other formats**
- Convert from gpx to csv:
.. code-block:: python
Converter(input_file='your_input.gpx').gpx_to_csv(output_file='your_output.csv')
- Convert from gpx to excel sheets:
.. code-block:: python
Converter(input_file='your_input.gpx').gpx_to_excel(output_file='your_output.xlsx')
- Convert from gpx to json:
.. code-block:: python
Converter(input_file='your_input.gpx').gpx_to_json(output_file='your_output.json)
- Convert gpx file to dataframe:
.. code-block:: python
df = Converter(input_file='your_input.gpx').gpx_to_dataframe()
- Convert gpx file to numpy array:
.. code-block:: python
np_array = Converter(input_file='your_input.gpx').gpx_to_numpy_array()
**Now convert other formats to GPX**
- csv to gpx
.. code-block:: python
Converter(input_file='your_input.csv').csv_to_gpx(lats_colname='column_name_of_latitudes',
longs_colname='column_name_of_longitudes',
output_file='your_output.gpx')
- excel to gpx
.. code-block:: python
Converter(input_file='your_input.xlsx').excel_to_gpx(lats_colname='column_name_of_latitudes',
longs_colname='column_name_of_longitudes',
output_file='your_output.gpx')
- dataframe to gpx (notice that the method is static)
.. code-block:: python
Converter.dataframe_to_gpx(input_df=your_df,
lats_colname='column_name_of_latitudes',
longs_colname='column_name_of_longitudes',
output_file='your_output.gpx')
- json to gpx
.. code-block:: python
Converter(input_file='your_input.json').json_to_gpx(input_df=your_df,
lats_colname='column_name_of_latitudes',
longs_colname='column_name_of_longitudes',
output_file='your_output.gpx')
- Automate the conversion of multiple csv file to gpx:
.. code-block:: python
Converter.convert_multi_csv_to_gpx(dirpath='your_directory/')
- Apply spline interpolation on gpx file (you need to install scipy for this to work):
.. code-block:: python
interpolated_coordinates = Converter.spline_interpolation(cv=your_array_of_control_vertices)
Usage from terminal
--------------------
Alternatively you can use the gpx_converter directly from terminal.
You just need to pass the function, input file and output file as arguments.
- function: the conversion method you want to use. For example "gpx_to_csv"
- input file: path to your input file
- output file: path to your output file
.. code-block:: console
$ gpx_converter --function "gpx_to_csv" --input_file "home/your_input.gpx" --output_file "home/your_output.csv"
or maybe you prefer the short version
.. code-block:: console
$ gpx_converter -func "gpx_to_csv" -in "home/your_input.gpx" -out "home/your_output.csv"
Links
-----
Check this article to know more about gpx files and how to use the gpx-converter package.
https://medium.com/p/57da00bd36fc/edit
Contributions
--------------
Contributions are always welcome. Make sure you check the guidlines first https://gpx-converter.readthedocs.io/en/latest/contributing.html
Raw data
{
"_id": null,
"home_page": "https://github.com/nidhaloff/gpx_converter",
"name": "gpx-converter",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": "",
"keywords": "gpx_converter,GPX,GPS,GSI,Global Positioning System,Positioning System,Position,GPS conversion,GPX conversion,convert gpx to csv,convert csv to gpx,convert gpx to json,convert gpx to array,convert json to gpx",
"author": "Nidhal Baccouri",
"author_email": "nidhalbacc@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/aa/0a/8a919957b0359738a9b40b335deaf84340764f01d1973174d6ab66f97fe1/gpx_converter-2.1.0.tar.gz",
"platform": null,
"description": "=============\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 & 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\n\n\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "Python package for manipulating gpx files and easily convert gpx to other different formats.",
"version": "2.1.0",
"split_keywords": [
"gpx_converter",
"gpx",
"gps",
"gsi",
"global positioning system",
"positioning system",
"position",
"gps conversion",
"gpx conversion",
"convert gpx to csv",
"convert csv to gpx",
"convert gpx to json",
"convert gpx to array",
"convert json to gpx"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e8036b2f1a65998738a962f38e2bc2f6f5e8875310b62910108cadc11836f06d",
"md5": "8a967045cd9f1e1a3f9d0ea854ef85fc",
"sha256": "347097cc1e99afc2b42b9fa721d4f4904fb84cfe90a1790ad3be09d75ef8491f"
},
"downloads": -1,
"filename": "gpx_converter-2.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "8a967045cd9f1e1a3f9d0ea854ef85fc",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.5",
"size": 8146,
"upload_time": "2023-02-07T21:00:02",
"upload_time_iso_8601": "2023-02-07T21:00:02.752600Z",
"url": "https://files.pythonhosted.org/packages/e8/03/6b2f1a65998738a962f38e2bc2f6f5e8875310b62910108cadc11836f06d/gpx_converter-2.1.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aa0a8a919957b0359738a9b40b335deaf84340764f01d1973174d6ab66f97fe1",
"md5": "d3f5a9546da5162918eb2b0cb03eab31",
"sha256": "77d32230c04d4871ffdf91bf9135ef62caf4f04903f3e479c5313c9b47531fbe"
},
"downloads": -1,
"filename": "gpx_converter-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "d3f5a9546da5162918eb2b0cb03eab31",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 18512,
"upload_time": "2023-02-07T21:00:04",
"upload_time_iso_8601": "2023-02-07T21:00:04.313848Z",
"url": "https://files.pythonhosted.org/packages/aa/0a/8a919957b0359738a9b40b335deaf84340764f01d1973174d6ab66f97fe1/gpx_converter-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-07 21:00:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "nidhaloff",
"github_project": "gpx_converter",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "gpx-converter"
}