NetTopologySuite.IO.GPX
0.4.0
Prefix Reserved
See the version list below for details.
dotnet add package NetTopologySuite.IO.GPX --version 0.4.0
NuGet\Install-Package NetTopologySuite.IO.GPX -Version 0.4.0
<PackageReference Include="NetTopologySuite.IO.GPX" Version="0.4.0" />
paket add NetTopologySuite.IO.GPX --version 0.4.0
#r "nuget: NetTopologySuite.IO.GPX, 0.4.0"
// Install NetTopologySuite.IO.GPX as a Cake Addin #addin nuget:?package=NetTopologySuite.IO.GPX&version=0.4.0 // Install NetTopologySuite.IO.GPX as a Cake Tool #tool nuget:?package=NetTopologySuite.IO.GPX&version=0.4.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.4.0
GpxReaderSettings
now has anIgnoreBadDateTime
property to use for ignoring a timestamp value that we cannot parse as an instance of theDateTime
struct, to work around a0000-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 byIgnoreVersionAttribute
, which enables the same situations asAllowMissingVersionAttribute
did, plus situations whereversion
was specified as something other thanversion='1.1'
(#28).
0.3.1
GpxReaderSettings
now has an opt-inAllowMissingVersionAttribute
property, to allow reading files without aversion
attribute (#27).
0.3.0
GpxReaderSettings
now has aDefaultCreatorIfMissing
property to use for filling in a missingGpxMetadata.Creator
value, to help read values saved from legacy versions of IHM (#23).- Custom
GpxExtensionReader
andGpxExtensionWriter
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)
andGetHashCode()
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 returnsImmutableXElementContainer
, 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'sEquals(object)
andGetHashCode()
semantics match what you want the container's semantics to be.
- If you do not use a custom
- Mutable types, such as
GpxWebLink
now has a constructor that accepts just the value forHref
, 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
, andGpxDgpsStationId
now all have staticMinValue
andMaxValue
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 aGeoAPI.Geometries.Coordinate
instance, for convenience (#20).GpxWaypoint
constructors and helper method now both reject infinite values ofelevationInMeters
(#24).GpxWaypoint
constructors and helper methods now throwArgumentOutOfRangeException
instead ofArgumentException
in situations where the former is more appropriate.- Trying to set
GpxFile.Metadata
tonull
now throwsArgumentNullException
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 inNetTopologySuiteFeatureBuilderGpxVisitor
. - 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 requiresImmutableGpxWaypointTable
now throwsArgumentException
if it encounters anull
waypoint.- Rename
GpxMetadata.CreationTime
toGpxMetadata.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 | Versions 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. |
-
.NETStandard 2.0
- NetTopologySuite (>= 1.15.1)
- NetTopologySuite.Features (>= 1.15.0)
- System.Collections.Immutable (>= 1.5.0)
- System.Memory (>= 4.5.2)
- System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
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 | 70,158 | 7/31/2020 |
1.1.0 | 3,337 | 2/5/2020 |
1.0.0 | 2,588 | 8/26/2019 |
1.0.0-pre001 | 455 | 8/25/2019 |
0.6.0 | 4,841 | 6/29/2019 |
0.5.0 | 865 | 4/2/2019 |
0.4.0 | 1,758 | 2/12/2019 |
0.3.2 | 2,535 | 9/25/2018 |
0.3.1 | 906 | 9/13/2018 |
0.3.0 | 856 | 9/9/2018 |
0.2.1 | 863 | 8/29/2018 |
0.2.0 | 992 | 8/20/2018 |
0.1.1 | 892 | 8/4/2018 |
0.1.0 | 884 | 7/28/2018 |