Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Avitab NAV data held in a SQLite database #200

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

mjh65
Copy link
Collaborator

@mjh65 mjh65 commented Mar 13, 2024

This is a relatively large feature addition that has been hinted at in several previous PRs, and is finally now being requested, having reached a state of (more-or-less) equivalent behaviour with the existing in-memory NAV data scraped from the simulator installation files on each Avitab startup.

In its current version, the new feature will remain inactive unless the Avitab user installs a compatible SQLite database file with the correct name, in the correct place, and with the correct structure. Since this is unlikely to be done accidentally, this PR should be relatively harmless to incorporate into the Avitab repo, and this PR is really to help tidy-up my fork of the Avitab master, and reduce the size of future updates.

For advanced users who wish to try using the feature, the code base now includes a tool which is able to generate an Avitab-compatible SQLite database file from a Little Navmap database. This is the first (and easiest) technique for database generation. It is planned to support other techniques in the future.

@mjh65
Copy link
Collaborator Author

mjh65 commented Mar 14, 2024

For the purposes of test and review, a pre-compiled database can be downloaded from https://www.dropbox.com/scl/fi/kmi8lgtjymq2otg7e24pv/avitab_navdb.sqlite.zip?rlkey=2p6fq338o6nbg5osxw0ou0cfu&dl=0.

To enable the new SQL NAV feature the unzipped database file (avitab_navdb.sqlite) should be put into a directory 'navdb' in the root directory of the plugin (or the directory containing the Avitab-standalone executable for desktop testing).

Even if not used when flying with X-Plane, the use of the SQL database significantly reduces startup times, and is great when debugging other parts of the Avitab code!

@mjh65 mjh65 requested a review from fpw March 15, 2024 14:55
@mjh65 mjh65 force-pushed the pr_navdb_sqlite branch 2 times, most recently from 07e3059 to 0dda78a Compare March 26, 2024 11:28
mjh65 and others added 5 commits May 28, 2024 16:12
This update includes the complete implementation of the sqlnav namespaced
derivations of abstract interfaces in the world API. It does not include
the additional code to activate this new code.
The initial version of this tool only supports database generation from a Little Navmap (Atools) SQLite3
database. Future enhancements will parse the simulator installation files directly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant