NetTopologySuite.IO.GPX 0.6.0

Adds reading/writing support to go between NetTopologySuite features and GPX files.

There is a newer version of this package available.
See the version list below for details.
Install-Package NetTopologySuite.IO.GPX -Version 0.6.0
dotnet add package NetTopologySuite.IO.GPX --version 0.6.0
<PackageReference Include="NetTopologySuite.IO.GPX" Version="0.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NetTopologySuite.IO.GPX --version 0.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

NetTopologySuite.IO.GPX

See GitHub Pages for the latest and greatest docs.

Adds reading and writing capabilities to convert between GPX (*.gpx) files and NetTopologySuite features.

Or, if you'd like, you could use this to simply read / write the data exactly as stored in the GPX files using a rich, strongly-typed, unambiguous data model.

Targets .NET Standard 2.0.

Release Notes

0.6.0

  • Mark upper-bounds on package dependencies to make it clear that this only supports the 1.x series.

0.5.0

  • GpxWriterSettings.TimeZoneInfo is no longer completely ignored (#30).
  • Fix an issue where written timestamps were being rounded to the nearest second instead of preserving as many significant digits as DateTime allows (#31).
  • Tweak the settings used for GpxFile.BuildString to avoid repeating the xmlns declaration for extensions that are declared in the standard GPX namespace (#33).

0.4.0

  • GpxReaderSettings now has an IgnoreBadDateTime property to use for ignoring a timestamp value that we cannot parse as an instance of the DateTime struct, to work around a 0000-00-00T00:00:00Z coming from CompeGPS (#29).
  • Update referenced packages to latest revisions.

0.3.2

  • The opt-in GpxReaderSettings.AllowMissingVersionAttribute property added in 0.3.1 has been replaced by IgnoreVersionAttribute, which enables the same situations as AllowMissingVersionAttribute did, plus situations where version was specified as something other than version=&#39;1.1&#39; (#28).

0.3.1

  • GpxReaderSettings now has an opt-in AllowMissingVersionAttribute property, to allow reading files without a version attribute (#27).

0.3.0

  • GpxReaderSettings now has a DefaultCreatorIfMissing property to use for filling in a missing GpxMetadata.Creator value, to help read values saved from legacy versions of IHM (#23).
  • Custom GpxExtensionReader and GpxExtensionWriter subclasses can now override just one method if there's a common way to handle extensions regardless of where they show up (#26).
  • All immutable data model types now override Equals(object) and GetHashCode() to have "value" semantics (#9).
    • Mutable types, such as GpxFile, do not do this, for your own safety.
    • In all lists, including lists of web links, ordering matters. [A, B] is not considered equal to [B, A].
    • Extensions values are considered for equality.
      • If you do not use a custom GpxExtensionReader for extensions, or if yours always returns ImmutableXElementContainer, then this should work like you would expect it to work.
      • Otherwise, whenever you return non-null, it is your responsibility to make sure that the result's Equals(object) and GetHashCode() semantics match what you want the container's semantics to be.
  • GpxWebLink now has a constructor that accepts just the value for Href, since that's the only required value.
  • GpxLongitude no longer permits +180 as a legal value, in keeping with the GPX 1.1 schema. (#25).
    • Converting from NTS features will automatically replace +180 with the equivalent -180.
  • GpxLongitude, GpxLatitude, GpxDegrees, and GpxDgpsStationId now all have static MinValue and MaxValue fields to get the smallest and largest legal values.
  • GpxBounds now has a shortcut for getting the a value that covers the entire WGS-84 ellipsoid.
  • GpxWaypoint now has a constructor that accepts a GeoAPI.Geometries.Coordinate instance, for convenience (#20).
  • GpxWaypoint constructors and helper method now both reject infinite values of elevationInMeters (#24).
  • GpxWaypoint constructors and helper methods now throw ArgumentOutOfRangeException instead of ArgumentException in situations where the former is more appropriate.
  • Trying to set GpxFile.Metadata to null now throws ArgumentNullException right away (#21).
  • Add methods on GpxFile to allow converting to / from string, for convenience (#19).

NetTopologySuite.IO.GPX

See GitHub Pages for the latest and greatest docs.

Adds reading and writing capabilities to convert between GPX (*.gpx) files and NetTopologySuite features.

Or, if you'd like, you could use this to simply read / write the data exactly as stored in the GPX files using a rich, strongly-typed, unambiguous data model.

Targets .NET Standard 2.0.

Release Notes

0.6.0

  • Mark upper-bounds on package dependencies to make it clear that this only supports the 1.x series.

0.5.0

  • GpxWriterSettings.TimeZoneInfo is no longer completely ignored (#30).
  • Fix an issue where written timestamps were being rounded to the nearest second instead of preserving as many significant digits as DateTime allows (#31).
  • Tweak the settings used for GpxFile.BuildString to avoid repeating the xmlns declaration for extensions that are declared in the standard GPX namespace (#33).

0.4.0

  • GpxReaderSettings now has an IgnoreBadDateTime property to use for ignoring a timestamp value that we cannot parse as an instance of the DateTime struct, to work around a 0000-00-00T00:00:00Z coming from CompeGPS (#29).
  • Update referenced packages to latest revisions.

0.3.2

  • The opt-in GpxReaderSettings.AllowMissingVersionAttribute property added in 0.3.1 has been replaced by IgnoreVersionAttribute, which enables the same situations as AllowMissingVersionAttribute did, plus situations where version was specified as something other than version=&#39;1.1&#39; (#28).

0.3.1

  • GpxReaderSettings now has an opt-in AllowMissingVersionAttribute property, to allow reading files without a version attribute (#27).

0.3.0

  • GpxReaderSettings now has a DefaultCreatorIfMissing property to use for filling in a missing GpxMetadata.Creator value, to help read values saved from legacy versions of IHM (#23).
  • Custom GpxExtensionReader and GpxExtensionWriter subclasses can now override just one method if there's a common way to handle extensions regardless of where they show up (#26).
  • All immutable data model types now override Equals(object) and GetHashCode() to have "value" semantics (#9).
    • Mutable types, such as GpxFile, do not do this, for your own safety.
    • In all lists, including lists of web links, ordering matters. [A, B] is not considered equal to [B, A].
    • Extensions values are considered for equality.
      • If you do not use a custom GpxExtensionReader for extensions, or if yours always returns ImmutableXElementContainer, then this should work like you would expect it to work.
      • Otherwise, whenever you return non-null, it is your responsibility to make sure that the result's Equals(object) and GetHashCode() semantics match what you want the container's semantics to be.
  • GpxWebLink now has a constructor that accepts just the value for Href, since that's the only required value.
  • GpxLongitude no longer permits +180 as a legal value, in keeping with the GPX 1.1 schema. (#25).
    • Converting from NTS features will automatically replace +180 with the equivalent -180.
  • GpxLongitude, GpxLatitude, GpxDegrees, and GpxDgpsStationId now all have static MinValue and MaxValue fields to get the smallest and largest legal values.
  • GpxBounds now has a shortcut for getting the a value that covers the entire WGS-84 ellipsoid.
  • GpxWaypoint now has a constructor that accepts a GeoAPI.Geometries.Coordinate instance, for convenience (#20).
  • GpxWaypoint constructors and helper method now both reject infinite values of elevationInMeters (#24).
  • GpxWaypoint constructors and helper methods now throw ArgumentOutOfRangeException instead of ArgumentException in situations where the former is more appropriate.
  • Trying to set GpxFile.Metadata to null now throws ArgumentNullException right away (#21).
  • Add methods on GpxFile to allow converting to / from string, for convenience (#19).

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.0 214 8/26/2019
1.0.0-pre001 44 8/25/2019
0.6.0 241 6/29/2019
0.5.0 268 4/2/2019
0.4.0 957 2/12/2019
0.3.2 1,104 9/25/2018
0.3.1 232 9/13/2018
0.3.0 182 9/9/2018
0.2.1 173 8/29/2018
0.2.0 212 8/20/2018
0.1.1 191 8/4/2018
0.1.0 190 7/28/2018