GithubHelp home page GithubHelp logo

sgraaf / gpx Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 3.0 104 KB

A python package that brings support for reading, writing and converting GPX files.

Home Page: https://gpx.readthedocs.io/en/stable/

License: Other

Python 100.00%
gps gpx xml

gpx's Introduction

PyGPX

PyPI Supported Python Versions pre-commit.ci status Documentation Status PyPI - License

PyGPX is a Python package that brings support for reading, writing and converting GPX files.

Installation

From PyPI

PyGPX is available on PyPI. Install with pip or your package manager of choice:

pip install gpx

From source

If you'd like, you can also install PyGPX from source (with flit):

git clone https://github.com/sgraaf/gpx.git
cd gpx
python3 -m pip install flit
flit install

Documentation

Check out the PyGPX documentation for the User's Guide and API Reference.

Usage

Reading a GPX file

>>> from gpx import GPX
>>> # read the GPX data from file
>>> gpx = GPX.from_file("path/to/file.gpx")
>>> # print the bounds of the GPX data
>>> print(gpx.bounds)

Manipulating GPX data

>>> from gpx import Waypoint
>>>
>>> # delete the last waypoint
>>> del gpx.waypoints[-1]
>>>
>>> # add a new waypoint
>>> wpt = Waypoint()
>>> wpt.latitude = 52.123
>>> wpt.longitude = 4.123
>>> gpx.waypoints.append(wpt)

Writing a GPX file

>>> # write the GPX data to a file
>>> gpx.to_file("path/to/file.gpx")

gpx's People

Contributors

sgraaf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gpx's Issues

Refactor using `cookiecutter-python-package`

Refactor the PyGPX repository using my cookiecutter-python-package project template.

When fully implemented, this will bring about the following improvements:

Import/Export of kml

Hello,
Would it be possible to add support for exporting/importing KML files?
Regards,
Jacques-D:

Mutable default values shared by class instances

Some classes have fields with mutable value (e.g. lists), which are assigned a default value (e.g. empty list). If you have several instances of such a class, they each share the default values.

See the following example for illustration:

my_track_seg = TrackSegement()

my_track_a = Track()
my_track_b = Track()

# Add track segment to track A.
my_track_a.trksegs.append(my_track_seg)

# Because all instances of Track share the same mutable default value for `trksegs`,
# the previous statement adds the track segment also to track B.
assert my_track_a.trksegs[0] == my_track_seg
assert my_track_b.trksegs[0] == my_track_seg

I assume this was an oversight and not a deliberate design decision. For a detailed explanation and possible solutions, see this section in the Python documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.