I've made a route planner in Python which uses data from EDDB to produce routes for specified jump ranges.
It's also able to guess at optimal ways to visit a certain set of stations (a.k.a. the travelling salesman problem), as well as various other sort-of useful scripts. The functionality to create full routes between systems can produce significantly more optimal routes than the in-game route planner, although it often doesn't run quite as quickly.
I'm not anticipating this being hugely popular - it'll likely see some use within the Buckyball racing community though - I just want it to have a thread for support/help.
The project page is here; there are currently no formal releases, I'd recommend downloading a ZIP of the master branch (or cloning it if you're familiar with git). The develop branch is often slightly ahead of master, but may be less stable.
The scripts are written in Python; the only requirements are a Python 2.7+ or Python 3.x interpreter, and about 200MB of RAM to run the scripts.
The usage for the main script is on the website (and in help flags within the applications), but the basics are as follows:
The other scripts are documented on the project wiki and are basically in development; feel free to ask about them or suggest new features.
Other scripts
Other functionality
You might ask: "can't the EDDB website do most of this?" The answer is yes, this is just intended an instantly-available command-line alternative for those who prefer that sort of thing. I'm not imagining that will be a lot of people, but it might be some.
Contributors
CMDR furrycat: submitted many patches for these tools, for which I am very grateful
Onane: helped to investigate a very odd issue related to file size limits
Bruski: helped in our ongoing fight against ever-increasing EDSM/EDDB data file sizes
It's also able to guess at optimal ways to visit a certain set of stations (a.k.a. the travelling salesman problem), as well as various other sort-of useful scripts. The functionality to create full routes between systems can produce significantly more optimal routes than the in-game route planner, although it often doesn't run quite as quickly.
I'm not anticipating this being hugely popular - it'll likely see some use within the Buckyball racing community though - I just want it to have a thread for support/help.
The project page is here; there are currently no formal releases, I'd recommend downloading a ZIP of the master branch (or cloning it if you're familiar with git). The develop branch is often slightly ahead of master, but may be less stable.
The scripts are written in Python; the only requirements are a Python 2.7+ or Python 3.x interpreter, and about 200MB of RAM to run the scripts.
The usage for the main script is on the website (and in help flags within the applications), but the basics are as follows:
On first run, the latest EDDB system and station data must be downloaded, as well as Coriolis data for ship FSD sizes:
python update.py
Once this is done, the script can be used:
python edts.py -j 35.2 --start="Sol/Galileo" --end="Alioth/Golden Gate" "Wolf 359/Powell High" "Agartha/Enoch Port" "Alpha Centauri"
This example assumes you wish to go from Galileo in Sol, to Golden Gate in Alioth, via Powell High, Enoch Port and Alpha Centauri. All of this will be done in a ship with a 35.2Ly jump range. Note that for the case of Alpha Centauri, we only specify the system name; this is because we definitely do not want to visit any stations in Alpha Centauri. It is a silly place.
The output might look similar to the following:
Code:Sol, Galileo (505Ls, Ocellus Starport) === 7.78Ly ( 1 jump ) ===> Wolf 359, Powell High (99Ls, Coriolis Starport), SC: ~83s === 8.33Ly ( 1 jump ) ===> Alpha Centauri === 145.96Ly ( 5 jumps) ===> Agartha, Enoch Port (878Ls, Coriolis Starport), SC: ~118s === 230.65Ly ( 8 jumps) ===> Alioth, Golden Gate (7783Ls, Unknown Starport), SC: ~224s Total distance: 392.72Ly; total jumps: 15; total SC distance: 8760Ls; ETT: 24:20
The other scripts are documented on the project wiki and are basically in development; feel free to ask about them or suggest new features.
Other scripts
- close_to: find systems close to one or more provided systems (with restrictions, e.g. must have stations of a certain pad size, must be of a certain allegiance)
- coords: print coordinates of provided systems
- distance: print the distance between two systems
- find: find systems and/or stations of a certain name, allowing wildcards
- fuel_usage: determine the fuel usage required for a set of jumps
- galmath: calculate "magic numbers" for plotting in the core
- edi: an interactive interpreter to run all of the above commands whilst keeping the EDDB data persistently loaded for speed
Other functionality
- Representations of FSDs and ships, allowing for easy calculation of jump ranges/fuel costs.
- A module to determine the approximate position of a PG system/sector from its name, and vice versa.
You might ask: "can't the EDDB website do most of this?" The answer is yes, this is just intended an instantly-available command-line alternative for those who prefer that sort of thing. I'm not imagining that will be a lot of people, but it might be some.
Contributors
CMDR furrycat: submitted many patches for these tools, for which I am very grateful
Onane: helped to investigate a very odd issue related to file size limits
Bruski: helped in our ongoing fight against ever-increasing EDSM/EDDB data file sizes
Last edited: