Skip to content

Commit

Permalink
#1 Work in progress:
Browse files Browse the repository at this point in the history
-Documentation test

[ci skip]
  • Loading branch information
FABallemand committed Sep 1, 2023
1 parent 4b0b878 commit a41a85b
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 35 deletions.
32 changes: 16 additions & 16 deletions ezgpx/gpx_elements/gpx.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Tuple
from typing import List, Tuple
import logging
import xmlschema
import pandas as pd
Expand All @@ -23,15 +23,15 @@ def __init__(
xmlns: str = None,
version: str = None,
xmlns_xsi: str = None,
xsi_schema_location: list[str] = None,
xsi_schema_location: List[str] = None,
xmlns_gpxtpx: str = None,
xmlns_gpxx: str = None,
xmlns_gpxtrk: str = None,
xmlns_wptx1: str = None,
metadata: Metadata = None,
wpt: list[WayPoint] = None,
rte: list[Route] = None,
tracks: list[Track] = None,
wpt: List[WayPoint] = None,
rte: List[Route] = None,
tracks: List[Track] = None,
extensions: Extensions = None) -> None:
"""
Initialize Gpx instance.
Expand All @@ -42,15 +42,15 @@ def __init__(
xmlns (str, optional): XML xmlns. Defaults to None.
version (str, optional): Version. Defaults to None.
xmlns_xsi (str, optional): XML xmlns_xsi. Defaults to None.
xsi_schema_location (list[str], optional): XML schema location. Defaults to None.
xsi_schema_location (List[str], optional): XML schema location. Defaults to None.
xmlns_gpxtpx (str, optional): _description_. Defaults to None.
xmlns_gpxx (str, optional): _description_. Defaults to None.
xmlns_gpxtrk (str, optional): _description_. Defaults to None.
xmlns_wptx1 (str, optional): _description_. Defaults to None.
metadata (Metadata, optional): Metadata. Defaults to None.
wpt (list[WayPoint], optional): Way points. Defaults to None.
rte (list[Route], optional): Routes. Defaults to None.
tracks (list[Track], optional): List of tracks. Defaults to None.
wpt (List[WayPoint], optional): Way points. Defaults to None.
rte (List[Route], optional): Routes. Defaults to None.
tracks (List[Track], optional): List of tracks. Defaults to None.
extensions (Extensions, optional): Extensions. Defaults to None.
"""
self.tag: str = tag
Expand All @@ -70,17 +70,17 @@ def __init__(

self.metadata: Metadata = metadata
if wpt is None:
self.wpt:list[WayPoint] = []
self.wpt:List[WayPoint] = []
else:
self.wpt:list[WayPoint] = wpt
self.wpt:List[WayPoint] = wpt
if rte is None:
self.rte: list[Route] = []
self.rte: List[Route] = []
else:
self.rte: list[Route] = rte
self.rte: List[Route] = rte
if tracks is None:
self.tracks: list[Track] = []
self.tracks: List[Track] = []
else:
self.tracks: list[Track] = tracks
self.tracks: List[Track] = tracks
self.extensions: Extensions = extensions

def check_schemas(self, file_path: str, extensions_schemas: bool = False) -> bool:
Expand Down Expand Up @@ -675,7 +675,7 @@ def remove_gps_errors(self, error_distance=100):
error_distance (int, optional): Error threshold distance (meters) between two points. Defaults to 1000.
Returns:
list: List of removed points (GPS errors).
List: List of removed points (GPS errors).
"""
previous_point = None
gps_errors = []
Expand Down
10 changes: 6 additions & 4 deletions ezgpx/gpx_elements/point_segment.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from typing import List

from .point import Point

class PointSegment():
Expand All @@ -8,16 +10,16 @@ class PointSegment():
def __init__(
self,
tag: str = "ptseg",
points: list[Point] = None) -> None:
points: List[Point] = None) -> None:
"""
Initialize PointSegment instance.
Args:
tag (str, optional): XML tag. Defaults to "ptseg".
points (list[Point], optional): List of points. Defaults to None.
points (List[Point], optional): List of points. Defaults to None.
"""
self.tag: str = tag
if points is None:
self.points: list[Point] = []
self.points: List[Point] = []
else:
self.points: list[Point] = points
self.points: List[Point] = points
9 changes: 5 additions & 4 deletions ezgpx/gpx_elements/route.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from typing import List
from .extensions import Extensions
from .link import Link
from .way_point import WayPoint
Expand All @@ -18,7 +19,7 @@ def __init__(
number: int = None, # non negative integer
type: str = None,
extensions: Extensions = None,
rtept: list[WayPoint] = None) -> None:
rtept: List[WayPoint] = None) -> None:
"""
Initialize Route instance.
Expand All @@ -31,7 +32,7 @@ def __init__(
link (Link, optional): Link. Defaults to None.
number (int, optional): Number. Defaults to None.
extensions (Extensions, optional): Extensions. Defaults to None.
rtept (list[WayPoint], optional): Route points. Defaults to None.
rtept (List[WayPoint], optional): Route points. Defaults to None.
"""
self.tag: str = tag
self.name: str = name
Expand All @@ -43,6 +44,6 @@ def __init__(
self.type: str = type
self.extensions: Extensions = extensions
if rtept is None:
self.rtept: list[WayPoint] = []
self.rtept: List[WayPoint] = []
else:
self.rtept: list[WayPoint] = rtept
self.rtept: List[WayPoint] = rtept
10 changes: 6 additions & 4 deletions ezgpx/gpx_elements/track.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from typing import List

from .extensions import *
from .link import Link
from .track_segment import *
Expand All @@ -18,7 +20,7 @@ def __init__(
number: int = None,
type: str = None,
extensions: Extensions = None,
trkseg: list[TrackSegment] = None):
trkseg: List[TrackSegment] = None):
"""
Initialize Track instance.
Expand All @@ -32,7 +34,7 @@ def __init__(
number (int, optional): Number. Defaults to None.
type (str, optional): Type. Defaults to None.
extensions (Extensions, optional): Extensions. Defaults to None.
trkseg (list[TrackSegment], optional): List of track segments. Defaults to None.
trkseg (List[TrackSegment], optional): List of track segments. Defaults to None.
"""
self.tag: str = tag
self.name: str = name
Expand All @@ -44,9 +46,9 @@ def __init__(
self.type: str = type
self.extensions: Extensions = extensions
if trkseg is None:
self.trkseg: list[TrackSegment] = trkseg
self.trkseg: List[TrackSegment] = trkseg
else:
self.trkseg: list[TrackSegment] = trkseg
self.trkseg: List[TrackSegment] = trkseg

def project(self, projection: str):
"""
Expand Down
10 changes: 6 additions & 4 deletions ezgpx/gpx_elements/track_segment.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from typing import List

from .extensions import Extensions
from .way_point import WayPoint

Expand All @@ -9,21 +11,21 @@ class TrackSegment():
def __init__(
self,
tag: str = "trkseg",
trkpt: list[WayPoint] = None,
trkpt: List[WayPoint] = None,
extensions: Extensions = None) -> None:
"""
Initialize TrackSegment instance.
Args:
tag (str, optional): XML tag. Defaults to "trkseg".
trkpt (list[WayPoint], optional): List of track points. Defaults to None.
trkpt (List[WayPoint], optional): List of track points. Defaults to None.
extensions (Extensions, optional): Extensions. Defaults to None.
"""
self.tag: str = tag
if trkpt is None:
self.trkpt: list[WayPoint] = []
self.trkpt: List[WayPoint] = []
else:
self.trkpt: list[WayPoint] = trkpt
self.trkpt: List[WayPoint] = trkpt
self.extensions: Extensions = extensions

def project(self, projection: str):
Expand Down
7 changes: 4 additions & 3 deletions ezgpx/utils/algorithms.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
from typing import List
import logging
from math import degrees

from .distance import EARTH_RADIUS, perpendicular_distance

def ramer_douglas_peucker(points: list, epsilon: float = degrees(2/EARTH_RADIUS)):
def ramer_douglas_peucker(points: List, epsilon: float = degrees(2/EARTH_RADIUS)):
"""
Simplify a curve using the Ramer-Douglas-Peucker algorithm.
Source: https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm
Parameters
----------
points : list[TrackPoint]
points : List[TrackPoint]
List of points defining the track to simplify.
epsilon : float, optional
Ramer-Douglas-Peucker threshold distance (higher value means more simplifications), by default degrees(2/EARTH_RADIUS) (ie: the angle corresponding to a distance of 2 meters at the surface of the earth).
Returns
-------
list[TrackPoint]
List[TrackPoint]
List of points defining the simplified track.
"""
# Find the point with the maximum distance
Expand Down

0 comments on commit a41a85b

Please # to comment.