Skip to content
deckyardPublic

About

Read, edit and write geographic coordinate formats - GPX, KML, KMZ, GeoJSON and the GML geometry subset - over one point model, with geodesy, track statistics, simplification, geohashes and map tiles

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

@deckyard/geo

test Documentation release

A Jennifer deck that reads, edits and writes GPX, KML, KMZ, GeoJSON and the GML geometry subset through one Document type, so a conversion is a read and a write. It also measures: great-circle distances and bearings, track statistics, simplification, point-in-polygon tests, geohashes and Web Mercator map tiles.

Install

jvc add @deckyard/geo

Or unpack src/ from a release archive (deckyard-geo-<version>.tar.gz) into vendor/deckyard/geo/.

Requires Jennifer 0.25.0 or newer. The deck declares no capabilities, so it runs on jennifer-tiny; only open, save and their per-format siblings touch the disk.

Example

use io;
import "@deckyard/geo/" as geo;

def doc as geo.Document init geo.open("hike.gpx");
def km as float init geo.trackDistance($doc.tracks[0]) / 1000.0;
io.printf("%s: %f|prec=1 km\n", geo.describe($doc), $km);

geo.save($doc, "hike.kml");
geo.convertFile("hike.gpx", "hike.geojson");

Coordinates are WGS 84 degrees and are never reprojected: a document in a projected system (a national grid, a UTM zone) is rejected, not misread. GPX <extensions>, KML styles and timestamps, and polygon holes are not carried (GML reads a hole as a track of its own), and there is no TCX, FIT or NMEA. Formats lists what each conversion loses.

Documentation

deckyard.github.io/deck-geo, with the full API in the cheatsheet. Runnable programs are in examples/. tools/check-all.sh runs the CI gate.

Licence

LGPL-3.0-only, see LICENSE. Copyright (C) 2026 mplx <mplx@jennifer-lang.dev>.

About

Read, edit and write geographic coordinate formats - GPX, KML, KMZ, GeoJSON and the GML geometry subset - over one point model, with geodesy, track statistics, simplification, geohashes and map tiles

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages