{"id":17126421,"url":"https://github.com/kellpossible/oldnav","last_synced_at":"2025-03-24T03:45:07.931Z","repository":{"id":71253195,"uuid":"68930879","full_name":"kellpossible/oldnav","owner":"kellpossible","description":"A library written in Rust full of functionality for old style aviation navigation","archived":false,"fork":false,"pushed_at":"2018-10-02T04:58:22.000Z","size":4733,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-29T10:15:40.692Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kellpossible.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-22T14:44:53.000Z","updated_at":"2018-10-02T04:58:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"dc2e5f36-da14-40f1-a606-245fb847477b","html_url":"https://github.com/kellpossible/oldnav","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kellpossible%2Foldnav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kellpossible%2Foldnav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kellpossible%2Foldnav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kellpossible%2Foldnav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kellpossible","download_url":"https://codeload.github.com/kellpossible/oldnav/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245206530,"owners_count":20577582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T18:47:57.067Z","updated_at":"2025-03-24T03:45:07.908Z","avatar_url":"https://github.com/kellpossible.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OldNav [![Build Status](https://travis-ci.org/kellpossible/oldnav.svg?branch=master)](https://travis-ci.org/kellpossible/oldnav) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n\n\nAn aviation navigation library. This library was created for developing old\nstyle navigation systems in x-plane with the fantastic\n[xplane_plugin](https://github.com/samcrow/rust-x-plane-plugin) crate,  but it\ncould be used for a variety of other geospatial purposes. A number of the\nfeatures will probably eventually be broken out into their own projects if they\nmature. Everything is still very much WIP as it has yet to be used in a\nserious plugin.\n\n[Documentation](https://kellpossible.github.io/oldnav/oldnav_lib/navdata/index.html)\n\n## Features\n+ [Navigation database](https://kellpossible.github.io/oldnav/oldnav_lib/navdata/database/index.html) - capable of loading x-plane's GNS430 data. Optimised for typical\nFMS queries.\n+ [Integer based geohash](https://kellpossible.github.io/oldnav/oldnav_lib/navdata/geohash/index.html)\n+ [Flight plan routes](https://kellpossible.github.io/oldnav/oldnav_lib/navdata/route/struct.Route.html), route statistics, route finding.\n\n## Initial Developement Plan\n\n- [ ] parse/load all information in the GNS430 database\n- [ ] basic database queries\n- [ ] query acceleration structure based on geohash in a method similar to what is suggested [here](http://gis.stackexchange.com/a/92331)\n- [ ] drawing in opengl in x-plane possibly using [nanovg](https://github.com/KevinKelley/nanovg-rs)\n- [ ] flight plan parsing (various formats)\n- [ ] route finding\n- [ ] route statistics\n- [ ] sample plugin\n\n## Motivations\n\n### OldNav?\n\nI've a fascination with older navigation tools and systems which require much\nmore interaction from the navigation and offer more learning, and interactive\ncontent at the expense of convenience and accuracy. I'm developing this library\nfor use in a few potential projects:\n\n+ [Omega](https://en.wikipedia.org/wiki/Omega_(navigation_system)) navigation system simulation\n+ A comprehensive [KNS660](http://www.herrmanninc.com/Herrmanninc/Resume/kns660.htm) simulation\n+ A celestial navigation simulation\n+ A seperate map application (possibly embedded in x-plane too if this is sensible)\n  with plotting tools similar to the [silent hunter](http://www.subsim.com/subsim_files/images05/nomobig.jpg), and with several useful\n  navigation map projections\n+ Aircraft systems for addon aircraft\n\n### Rust?\n\nHaving spent hours getting a basic x-plane c++ plugin to compile, it was a\nbreath of fresh air to discover the great work of samcrow on the [xplane_plugin](https://github.com/samcrow/rust-x-plane-plugin) crate, which\nmakes it dead easy to get up and running with x-plane plugin creation.\n\nA common source of bugs and frustration with x-plane plugins are crash to\ndesktop from segfaults in plugins. Halfway through a 7 hour flight, there's\nnothing more annoying. Rust's inherent safety is a potential solution\nto this problem, and its performance should put it at an advantage\nto the existing lua plugin tools.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkellpossible%2Foldnav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkellpossible%2Foldnav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkellpossible%2Foldnav/lists"}