NetTopologySuite.IO.GPX 0.3.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package NetTopologySuite.IO.GPX --version 0.3.0                
NuGet\Install-Package NetTopologySuite.IO.GPX -Version 0.3.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NetTopologySuite.IO.GPX" Version="0.3.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.3.0                
#r "nuget: NetTopologySuite.IO.GPX, 0.3.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NetTopologySuite.IO.GPX as a Cake Addin
#addin nuget:?package=NetTopologySuite.IO.GPX&version=0.3.0

// Install NetTopologySuite.IO.GPX as a Cake Tool
#tool nuget:?package=NetTopologySuite.IO.GPX&version=0.3.0                

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.3.0

  • GpxReaderSettings now has a DefaultCreatorIfMissing attribute 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).

0.2.1

  • Add a default constructor for GpxTrackSegment so that its .WithX methods are actually meaningful (#22).

0.2.0

  • Give most data objects constructors and .WithX methods to make it easier to create instances that only set a few members (#13).
  • Add GpxFile as a significantly easier way to read + write our underlying data object representation all in one go (#12 / #14).
  • Make NetTopologySuiteFeatureBuilderGpxVisitor internal, since it's really just an implementation detail.
  • Some more appropriate early null handling in miscellaneous places across-the-board.
  • Default time zone is now UTC instead of local, since the documentation indicates that this is the convention.
  • Reorder some data members (both in constructors and .ToString() overrides) according to XSD order.
  • Remove the awkward GpxReader.ReadFeatures overload that took in NetTopologySuiteFeatureBuilderGpxVisitor.
  • Fix an off-by-one issue that would cause features to get skipped over when not separated by whitespace. (#18).
  • Fix an issue where values very close to zero would be written in scientific notation, violating the GPX spec. (#15).
  • Add some more ToString() overrides
  • GpxWaypoint constructor parameters reordered to match the order of the elements that the XSD schema requires
  • ImmutableGpxWaypointTable now throws ArgumentException if it encounters a null waypoint.
  • Rename GpxMetadata.CreationTime to GpxMetadata.CreationTimeUtc and validate that it is, in fact, marked as UTC (when specified at all).
  • xmldoc (#6)
  • No longer exposing save / load methods on individual data elements.

0.1.1

  • Fix a copy-paste error in GpxTrack (#11)

0.1.0

  • Initial release.
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on NetTopologySuite.IO.GPX:

Package Downloads
OpenpilotSdk

Package Description

VerificadorPoligonal_marcio_gomes

Verifica se as latitudes/longitudes enviadas fecham uma poligonal ou não.

VerificadorPoligonal

Verifica se as latitudes/longitudes enviadas fecham uma poligonal ou não.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.1 69,859 7/31/2020
1.1.0 3,336 2/5/2020
1.0.0 2,587 8/26/2019
1.0.0-pre001 454 8/25/2019
0.6.0 4,840 6/29/2019
0.5.0 864 4/2/2019
0.4.0 1,757 2/12/2019
0.3.2 2,533 9/25/2018
0.3.1 905 9/13/2018
0.3.0 855 9/9/2018
0.2.1 862 8/29/2018
0.2.0 991 8/20/2018
0.1.1 891 8/4/2018
0.1.0 883 7/28/2018