You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**JPX** is a Java library for creating, reading and writing [GPS](https://en.wikipedia.org/wiki/Global_Positioning_System) data in [GPX](https://en.wikipedia.org/wiki/GPS_Exchange_Format) format. It is a *full* implementation of version [1.1](http://www.topografix.com/GPX/1/1/) and version [1.0](http://www.topografix.com/gpx_manual.asp) of the GPX format. The data classes are completely immutable and allows a functional programming style. They are working also nicely with the Java [Stream](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/stream/Stream.html) API. It is also possible to convert the location information into strings which are compatible to the [ISO 6709](http://en.wikipedia.org/wiki/ISO_6709) standard.
7
+
8
+
**JPX** is a Java library for creating, reading and writing [GPS](https://en.wikipedia.org/wiki/Global_Positioning_System) data in [GPX](https://en.wikipedia.org/wiki/GPS_Exchange_Format) format. It is a *full* implementation of version [1.1](http://www.topografix.com/GPX/1/1/) and version [1.0](http://www.topografix.com/gpx_manual.asp) of the GPX format. The data classes are completely immutable and allows a functional programming style. They are working also nicely with the Java [Stream](https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/stream/Stream.html) API. It is also possible to convert the location information into strings which are compatible to the [ISO 6709](http://en.wikipedia.org/wiki/ISO_6709) standard.
8
9
9
10
Besides the basic functionality of reading and writing GPX files, the library also allows manipulating the read GPX object in a functional way.
10
11
11
12
12
13
## Dependencies
13
14
14
-
The _JPX_ library needs no external dependencies. It only needs **Java 17** to compile and run. It also runs and compiles with **Java 21** and **Java 23**.
15
+
The _JPX_ library needs no external dependencies. It needs **Java 25** to compile and run.
*[#162](https://github.com/jenetics/jpx/issues/162): Elevation serialization for values > 1000m is incompatible with deserialization.
*[#125](https://github.com/jenetics/jpx/issues/125): **Breaking change** - Use `Instant` instead of `ZonedDateTime` for `Point.time` property.
373
-
*[#148](https://github.com/jenetics/jpx/issues/148): **Breaking change** - Update to Java17.
374
-
*[#155](https://github.com/jenetics/jpx/issues/155): Improved `GPX.Reader` and `GPX.Writer` classes.
375
-
*[#158](https://github.com/jenetics/jpx/issues/158): Add XML `Document` reader/writer methods.
376
-
```java
377
-
finalGPX gpx =...;
378
-
379
-
finalDocument doc =XMLProvider.provider()
380
-
.documentBuilderFactory()
381
-
.newDocumentBuilder()
382
-
.newDocument();
383
-
384
-
// The GPX data are written to the empty `doc` object.
385
-
GPX.Writer.DEFAULT.write(gpx, newDOMResult(doc));
386
-
```
387
-
388
-
#### Bugs
389
349
390
-
*[#151](https://github.com/jenetics/jpx/issues/151): `Double`'s being written as exponents in GPX file.
391
-
*[#152](https://github.com/jenetics/jpx/issues/152): `LocationFormatter::parse` method is not thread-safe.
0 commit comments