Space Engineers

Space Engineers

87 ratings
[JON] Jawa's Orbital Navigation
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
450.624 KB
27 Apr, 2019 @ 9:06am
21 Dec, 2020 @ 1:36pm
7 Change Notes ( view )

Subscribe to download
[JON] Jawa's Orbital Navigation

Description
For a Sigma Draconis server specific version of this script, follow the link below:
https://steamproxy.net/sharedfiles/filedetails/?id=2583291777

Description:
This script was made to assist in navigating around planets. It generates orbital, drop, and surface coordinates. Since you cannot jump into a gravity well you either have to already have coordinates just outside the gravity well or jump even farther from the planet and fly in on slow sub-light engines. This script avoids this difficulty by providing exact coordinates to jump to. This script is useful for jumping to planets, dropping packages from orbit, or landing at a desired landing zone.

What it does:
When you run this script it will output orbital, drop, and surface coordinates for all planets in the system. These coordinates will be based on your current position so they will be as close to you as possible. You can also specify custom GPS coordinates to be use for calculations in addition to your current position. The jump coordinate is fairly obvious, it is a point just outside the planet's gravity that you can jump to. The drop coordinates are inside the planets gravity so that you can release a drop pod (or bomb!) and it will be pulled to the surface. The surface coordinates are directly under the drop coordinates which are directly under to orbital coordinates..

The script will also accept GPS coordinates as input. This allows you to generate all the coordinates (jump, drop, and surface) given any other single point. So if you have surface coordinates you can generate the drop and jump coordinates or the other way around. It also allows you to generate coordinates for someone else. All the have to do is give you their coordinates.

Features:
  • Coordinate generation for nearest jump, drop, and surface position
  • Coordinate generation for all planets
  • Coordinate generation based off of input GPS
  • Ability to use custom planets
  • Ability to specify orbital distance via command

How to use this:
To start:
  1. Place a programmable block and load the script.
  2. Click run to see results.

This is all you need to do, but there are more options. The script accepts two command formats.

Commands: (optional):
Format 1: GPS:GPS_NAME:X:Y:Z:Planet_Name:Padding_Distance
Format 2: Padding_Distance

-Format 1:
--GPS:
Entering GPS coordinates as an argument makes the program output data based on the GPS coordinates in addition to the data based on your ship's coordinates. The GPS coordinates are only accepted in the format used by the game when you use the "Copy to clipboard" option. You can replicate this format by typing, but it is recommended to simply use the "Copy to clipboard" button in the GPS tab.

--Planet_Name: (optional)
This argument is optional. This allows you to specify the planet your GPS coordinates are related to.
The name is case sensitive. The default planet names are lowercase for this script. If you add your own planets it is recommended to enter their names in lowercase letters as well. If you do not enter this argument the program will calculate which planet is closest to the coordinates you entered and will use that planet's data for calculations.

--Padding_Distance: (optional)
When using Format 1, this argument can only be used after the Planet_Name argument.
This argument allows you to change the distance between the orbit coordinates and the edge of gravity for the planet. The default is 500m. This means that if you fly or jump to the orbit coordinates you will be 500 meters outside of the range of the planet's gravity.

-Format 2:
This format is used when you only want to change the orbit distance without adding GPS coordinates.
This argument allows you to change the distance between the orbit coordinates and the edge of gravity for the planet. The default is 500m. This means that if you fly or jump to the orbit coordinates you will be 500 meters outside of the range of the planet's gravity.

Output:
Output is placed in the "Custom data" section of the programmable block and is in the following format:
GPS:GPSOrbit:59809.68:59809.68:59809.68: GPS:GPSDrop:59405.53:59405.53:59405.53: GPS:GPSSurf:35362.7:35362.7:35362.7: -------------------------------- earth -------------------------------- GPS:earthNearSurf:-37297.69:-43397.69:-21842.28: GPS:earthNearOrbit:-63082.36:-73399.42:-36942.3: GPS:earthNearDrop:-62656.1:-72903.45:-36692.67: -------------------------------- moon -------------------------------- GPS:moonNearSurf:13140.01:127965.91:-110639.04: GPS:moonNearOrbit:12008.23:125028.95:-109600.43: GPS:moonNearDrop:12247.26:125649.23:-109819.78: -------------------------------- mars -------------------------------- GPS:marsNearSurf:997487.43:124721.26:1579944.76: GPS:marsNearOrbit:975341.66:120533.56:1546231.29: GPS:marsNearDrop:975723.92:120605.84:1546813.23: -------------------------------- titan -------------------------------- GPS:titanNearSurf:911490.6:15922.12:1608137.71: GPS:titanNearOrbit:909669.3:15750.22:1605068.47: GPS:titanNearDrop:910026.11:15783.89:1605669.76: -------------------------------- alien -------------------------------- GPS:alienNearSurf:129029.45:128918.05:5671145.47: GPS:alienNearOrbit:127497.31:127302.35:5626193.89: GPS:alienNearDrop:127521.14:127327.48:5626893.03: -------------------------------- europa -------------------------------- GPS:europaNearSurf:36218.24:225891.92:5786898.2: GPS:europaNearOrbit:36160.41:225720.23:5783588.74: GPS:europaNearDrop:36172.62:225756.49:5784287.69:

Customization:
If you open the code for the script there is the option to add custom planets and change the default orbit and drop padding distances. When adding planets you will need to know the name, position, radius, and gravitational influence radius. new planets can be added to the "ADD NEW PLANETS HERE" section, and default planets can be removed in the "Default Planets Here" section. A template is provided in the code for adding new planets.

in the section titled "Change Constants Between These Lines" you can change the default distances for how far inside the gravitational influence of planets you want the drop coordinates to be and how far outside the gravitational influence the orbital coordinates to be. The orbital coordinates can also be changed on the fly using the commands listed above.

Limitation:
Since planets are not perfect spheres and their terrain changes elevation it is not possible to generate surface coordinates at the exact elevation for a specific point. Because of this the surface coordinates may be somewhat above or below the actual point on the surface.

Special thanks to Freak_Gene who posted all the planet info on the Steam General Discussions board for SE.

For those of you using custom planets, you will find that the planet position in the Sandbox.sbs is the for the corner of the panet's bounding box, not the center. You can use this script by Pennywise to easily find the center position of your planets. https://steamproxy.net/sharedfiles/filedetails/?id=558846217

Let me know if you have any feedback or bugs to report.
27 Comments
Hype365 22 Nov, 2022 @ 4:38pm 
Suggestion for an addition:
GPS coordinates for satellite networks along polar and equatorial "orbits" just outside gravity range. Perhaps 6 points by default (N and S poles and every 90 degrees along the equator) with optional additional points that would create 3 rings of coordinates (two polar at 90 degree angles, one equatorial) with points every 45 degrees.
Jawa  [author] 1 Feb, 2021 @ 7:09pm 
:D
MrFox 28 Jan, 2021 @ 7:35am 
Do u like coffee, ill buy u some :D
MrFox 28 Jan, 2021 @ 7:35am 
:o
Jawa  [author] 21 Dec, 2020 @ 1:37pm 
The planet Pertam has been added.
TheRealPro 17 Dec, 2020 @ 10:26am 
Could you add Pertam to the script thanks. Pro.
Jawa  [author] 20 Jun, 2020 @ 1:10pm 
Captain O's, I had not realized Triton was added to the default system.
I have added the planet Triton as well as updated the script so you no longer need to name the PB.
Jawa  [author] 18 Jun, 2020 @ 6:25pm 
Captain O's, custom planets have to be added to the script manually. Each server will have its own planet positions and possibly radii. I have another script which I was working on to make it easier to get the data you need, but had to take a break from the game for a while. I am getting back to SE now though.
Captain O's 15 Jun, 2020 @ 3:05pm 
Could you update the mod to support Triton please?
Fascist Pig Bank 17 Feb, 2020 @ 12:22am 
@Jawa

That is great! I will look out for that script when you do release it. Again thanks very much for this superb script!

@SirConnery

Yeah +1 to everything you have said! - I love how easy planetary navigation is with this script, love jumping into a planet with the coords generated from the script also!