Discussion What is the most efficient way to crowdsource the 3D system coordinates

Thanks for the explanation. How on earth have commanders found that ;-)
I've noticed a commander who created a triangulation program already has taken that into account. But I don't know why he is taking it into account. Brain can't compute it but perhaps its better not to try to understand it completely....

TL;DR: It's no use using "-62.78345" for a co-ordinate, because that's what your calculations gave you, if the game will be using "-62.78125".

If the game is only holding co-ordinates to 1/32ly precision then any answer we get for calculated co-ordinates must obey that as well. It's both a way of correcting a computed result for errors in the distances and a way of making sure that the computed co-ordinates match what the game will have for calculations based on them.

Else you could be as much as almost 1/64ly (half rounding) out on each co-ordinate and these errors would combine in calculations to produce a larger error in things like distance calculations. And if you then use these erroneous co-ordinates to 'fix' other systems, and then those for others etc... you could end up with even larger errors.
 
Last edited:

wolverine2710

Tutorial & Guide Writer
TL;DR: It's no use using "-62.78345" for a co-ordinate, because that's what your calculations gave you, if the game will be using "-62.78125".

If the game is only holding co-ordinates to 1/32ly precision then any answer we get for calculated co-ordinates must obey that as well. It's both a way of correcting a computed result for errors in the distances and a way of making sure that the computed co-ordinates match what the game will have for calculations based on them.

Else you could be as much as almost 1/64ly (half rounding) out on each co-ordinate and these errors would combine in calculations to produce a larger error in things like distance calculations. And if you then use these erroneous co-ordinates to 'fix' other systems, and then those for others etc... you could end up with even larger errors.

Perfect explanation. Now I understand what is going on. Except for the 1/64ly half rounding thing ;-( Good that I'm a programmer and not a math boy.

I will send Michael Brookes a PM about this. Hopefully some FDdev can confirm/deny the found 1/32y thing.
 
Thanks for the hard work. Have you compared it with the 3D coordinates calculated by other commanders? Are they the same?

I've compared them with the ones in the crowd-sourced spreadsheet. Most are nearly the same but some are completely different.

Hagalaz crowd-sourced spreadsheet: -51.967872, 36.653411, 2.52069
Hagalaz calculatet by me: -50.59375, 45.15625, 11.09375

I checked Hagalaz in game and the spreadsheet coords are wrong. I didn't check all of them.

Might I ask why you have rounded it to 3 decimals?

The rounding was done only to compare the manual and calculatet values and the galaxy map only shows 3 decimals.

The programm works internaly with the whole numbers (x*32, ...) of the coordinates and only converts them for display. This makes the trilateration more accurate.

/edit: added crowd-sourced to spreadsheet to be clear which one I mean.
 
Last edited:

wolverine2710

Tutorial & Guide Writer
@Gazelle. Thanks for your explanation. The fact that some coordinates from the spreadsheet are NOT correct is really suboptimal to say the least....
 
@Gazelle. Thanks for your explanation. The fact that some coordinates from the spreadsheet are NOT correct is really suboptimal to say the least....

He doesn't mean in Michael Brookes' spreadsheet. "Hagalaz" isn't in that. It'll be someone's calculations from crowd-sourced distances.
 
What's the point of exploring when it is just the same procedurally generated systems over and over again with nothing different to do?
 

wolverine2710

Tutorial & Guide Writer
Suggestion for the new volunteer thread.

Ok. I'm ready to create a new thread called: "Volunteers need for a crowd sourding effort to get the SB2 star coordinates". To make sure I didn't make a mistake or misinterpreted things incorrectly before creating the thread I post the contents here. Please let me know if things can be done better, more concise or that I made some kind of horrible mistake. Here is the upcoming post.

--------------------------------------------------------------------

Hello commanders - the community needs your help!!

The galactic pill in Standard Beta 2 (SB2) has grown from 55 star systems to 570 star systems. Atm the Galaxy map only shows all routes which can be taken given the LY jump range of your current ship with equipment. It does NOT show you which route to take when going from A to B. This is suboptimal when trying to take a long trip. This is were third party navigation route planner (NRP) come to the rescue.

Navigation route planners need 3D system coordinates for being able to calculate a route from A to B. Trading tools also need 3D coordinates for plotting a route. For SB1 all coordinates/routes where known due to the excellent work of wtbw. He did this by accessing ED. As probably known this is no longer allowed by FD as they changed there data access policy. Michael Brookes could supply us with a list of 307 star systems with the 3D coordinates. Which means 570-307= 263 star systems have no coordinates. This has the following consequence for NRP's. Remark: because some crowd sourcing has already been done we now have the coordinates of 336 systems.

1) A route suggested is NOT optimal.
2) A route sometimes can not be calculated because atm there is no connection to that star system.

To get NRP's fully and optimally working again work has started to determine "What is the most efficient way to crowd source the 3D sytem coordinates for Beta 2 ? ". At this point programs have been created by multiple commanders to calculate 3D coordinates for a star system using a method called trilateration. Basically to calculate the 3D coordinates for star system X the distances to four reference point star systems needs to be known. By taking the distances to more reference points the accuracy enhances AND its possible to determine which coordinates were entered incorrectly - greatly reducing human error.

Requirements for helping out: A ship capable of at least a 13 LY jumprange. 20+ or more is even better. I'm doing this with a Hauler with a class E FSD and I'm getting a 20 LY jump range.

Actions to take. Open the Galaxy Map (GM) and search for a star system X in the Galaxy Pill which has "economy: none" and "allegiance: None". Which means the star system has no stations. The reason for is that the spreadsheet provided by Michael Brookes contains ONLY star systems with a station in it. Check if the system is NOT in the "known 3D coordinates for SB2.txt" file. Fly to system X. When out of hyperspace leave super cruise asap. Now go to the GM and search for a reference star system and enter the distance into the spreadsheet created by commander Codec using the form he created.
Do this for all reference points (RP). Determine the distances to at least 4 RP's. If possible take the distance to all 9 RP's.

Optional: use the route planner of Trade Dangerous to plan a route to the nearest star system which has a station near system X. Example of this.
Code:
$ trade.py --detail  nav   "eranin" "xi wangkala"  --ly-per 19.04
From ERANIN to XI WANGKALA with 19.04ly per jump limit.
Action | System                         | Jump Ly | Total Ly
------------------------------------------------------------
Depart | ERANIN                         |    0.00 |     0.00
Via    | H DRACONIS                     |   18.57 |    18.57
Via    | LP 71-157                      |   13.22 |    31.79
Via    | LP 45-128                      |   18.34 |    50.13
Via    | LHS 3586                       |   17.01 |    67.14
Via    | GCRV 13292                     |   18.52 |    85.65
Via    | BD+63 1764                     |   17.20 |   102.86
Via    | WIKMEANG                       |   14.62 |   117.48
Arrive | XI WANGKALA                    |   16.66 |   134.14

Using the spreadsheet form its best to copy/paste the name of system X into the 'First system' field. You can do this for the 'destination system' field as well but the following works faster. After you have entered all the reference points the browser remembers that. When entering data for system Y typing the first two characters of the name and then the browser shows what matches. Save a lot of copy/paste actions.

The 9 reference star systems have been selected by Chromatix. These RP's should give the best results. The 9 reference points are: Sol, Flousop, Tring, Rahu, Parcae, Hepa, Poqomathi, Hyperion and Aulin

Links:

I want to thank all commanders who have made this thread possible. They have done the hard work in analysing things and creating trilateration programs, updating TD with coordinates etc. I'm merely the guy who created a few threads and tries to get VOLUNTEERS for this project.

I hope that there are enough volunteers so that the work for every one involved is minimized. More hands means less work for every commander!!
 
Last edited:
Additional Raw + trilaterated data

I'm not sure if it's useful to anyone at this point, but I've been independently doing a lot of the same work. I have the raw data for a number of systems, and have trilaterated data for around 100 stars. I've checked a handful of the estimated distances and they all seem to be reasonably accurate.

You can see my raw and trilaterated data at http://goo.gl/FhHqyf
 

ShadowGar

Banned

Looks good. The only issues I have is that the spreadsheet Codec is using hasn't been updated for a bit. His spreadsheet was already used for trade dangerous and errors are being reported in the calculations.

I see that other members have functional programs that can calculate. But I haven't seen any releases. I would like to see someone write of a small webpage that allowed people to enter the distances to a star and the site calculates the coords and stores them for us. Would only need two pages. One to enter the data and one that the data would populate on for the public. We could always cross reference it ourselves during entry.

I have webspace to donate if anyone needed it for a project like that. I also have a teamspeak server outlined HERE that was donated to the community. I would be glad to put in a developer channel for everyone working on these projects to talk in a private environment.



Also, if someone has a list of systems with valid calculations can someone PM me with them. I would like to get them into trade dangerous as soon as possible. kfsone has given me write access to the project as that he is busy with a new job. I can continue to update the program with systems as we get them. *keep everyone in one fork then have a ton of branches*

And for anyone sending me python code updates, I am not working on any python updates or features. That has been left to kfsone. I am only updating the database with systems so he doesn't have to worry about that and only focus on features and bug fixes. If you have any additions to tradedangerous, please request a pull and kfsone will review the code to determine if it is to be added.
 
Last edited:
I'm not sure if it's useful to anyone at this point, but I've been independently doing a lot of the same work. I have the raw data for a number of systems, and have trilaterated data for around 100 stars. I've checked a handful of the estimated distances and they all seem to be reasonably accurate.

You can see my raw and trilaterated data at http://goo.gl/FhHqyf

I've updated my data to take into account Michael Brookes' data dump, and I also tweaked my algorithm to ensure that the final coordinates are aligned to a 1/32LY grid. Currently, I have trilaterated coordinates for 48 systems not included in Michael Brookes' data dump.
 

wolverine2710

Tutorial & Guide Writer
I've updated my data to take into account Michael Brookes' data dump, and I also tweaked my algorithm to ensure that the final coordinates are aligned to a 1/32LY grid. Currently, I have trilaterated coordinates for 48 systems not included in Michael Brookes' data dump.

Sounds VERY promising, appreciated. I KNOW how time consuming getting distances and programming can be!! 307+48=355. Yesterday I created a document which contains the codec coordinates plus the coordinates from trade dangerous. In total 336 coordinates. Hence you got more AND I'm interested if there are duplicates or unique new coordinates. Could you perhaps share your data with us. Atm I'm only interested in the names of the systems and I'm sure with some Linux magic (regex, sort) I can determine how many unique coordinates we now have. You could also do it yourself if you download my "known 3D coordinates for SB2.txt" file.

How many distances did you take for every star sytem?
The minimum of four or more?
If more then four did you use the extra data to check if perhaps some data was wrongly entered?

This brings me to the following point: validation. With SB1 Slopey of the BPC coordinated a crowd sourcing effort as well. There was some bad data amongst it which caused the following effect. A direct path between A and C was sometimes LONGER then the route A, B, C calcuated by Dijkstra's shortest path algorithm. Which is NOT possible. When wtbw extracted the 3D coordinates from ED Slopey created some unit tests, validation program to test that data to see if there were problems with it. All data was flawless.

Now my question: Would something similar not be possible for this crowd sourcing effort as well. All coordinates have to obey the 1/32 rule BUT also obey to what I described above. It would give us an extra method to check for faulty input. Would such a thing be feasible and would you perhaps be interested in creating such a validation program?
 
Last edited:
Could you perhaps share your data with us.

I did! The url was in my post :). http://goo.gl/FhHqyf

How many distances did you take for every star sytem?
The minimum of four or more?
I wrote down all the distances listed in the travel panel in the systems I visited. So for the star systems that I specifically visited, there's a ton of connections. And that way I also accumulate enough connections for other systems which I haven't even visited yet, by visiting at least 4 of their neighbors.

But yes, the inferred stars had at least 4 connections. My spreadsheet includes a rough estimate of how accurate the inferred coordinate is. Basically, I construct a 5x5x5 grid of 1/32LY points centered on the star, and then for each point (125 of them), I check if that coordinate is also valid, per the data that I have. And I keep a count of how many valid points there are. This is basically a rough estimate of the volume of the overlap of the 4 (or more) spheres. So a higher number means a larger overlap, and less accuracy.


If more then four did you use the extra data to check if perhaps some data was wrongly entered?

Yeah, I had a couple of pieces of data that had been typoed. This generally manifested as my algorithm failing to converge for some star. Then I would go visit the system, get it's data and double-check any existing data I had for it from other systems.
 
=Edit2: Michael Brookes has been able to supply us with a spreadsheet with 307 out of 570 star systems.

Come on ED team, are we in the 3300s, Hand cranked spreadsheets are so 2014!

We should have in our space ship the means to find a route to known stars of more than 1 hop (not to mention track where we bought and sold items at good prices in the past)
 
I've updated my data to take into account Michael Brookes' data dump, and I also tweaked my algorithm to ensure that the final coordinates are aligned to a 1/32LY grid. Currently, I have trilaterated coordinates for 48 systems not included in Michael Brookes' data dump.

Thank you for sharing this data. I added them to my map as well.

Perhaps I made something wrong, but I see only 47 systems with inferred data. ;)
 

wolverine2710

Tutorial & Guide Writer
I would like to see someone write of a small webpage that allowed people to enter the distances to a star and the site calculates the coords and stores them for us. Would only need two pages. One to enter the data and one that the data would populate on for the public. We could always cross reference it ourselves during entry.

I have webspace to donate if anyone needed it for a project like that. I also have a teamspeak server outlined HERE that was donated to the community. I would be glad to put in a developer channel for everyone working on these projects to talk in a private environment.

I guess I can wait 1-2 days before creating my mentioned thread.

I agree with the codec coordinates. The codec form and spreadsheet works rater well BUT for I can imagine for new volunteers we should try to make things as easy/streamlined as possible.

I have to disagree with your tab 2. It would mean we concentrate on one method while there are multiple commanders who have created programs for calculating coordinates. Imho its easier to collect the raw distances and then have the commanders crunch the numbers - with a 5 decimal accurary. If all is well all coordinates calculated would be the same. If not it can be discussed and the best value used.

My slightly adapted suggestion: A webpage with two tabs or two seperate pages.
  1. Tab/Page1. Submitting distances data to reference star sytems.
  2. Tab/Page2. Displays the collected distances.

Page1: Contains input field for the star system you are in and from which you are going to take distances. A 'check' button near this input field. We don't have list of systems so we can't only display systems for which we still need data. BUT we can have the commander input a star system and by hitting 'check' it shows if we already have data for that system.
Page 1 contains also input fields for all 9 reference star systems. Only 4 are needed but more is better. A simple javascript could check how many fields have data entered. <4 deny submitting. >4 and <9 give warning and ask commander to enter data for all fields BUT allow to submit data. 9: no warning, submit data.

Page2: This shows in CSV format entered distance data. A download button would be nice so commanders can download the data easily (instead of copy/paste) and use it with their programs to calculate the needed 3D coordinates.

Concerning the check button. A list of system names for which we have coordinates. My list could be used for that initially. It can be extended with the systems which have the most accurate coordinates calculated by JesusFreke. When new data is submitted on page1 its a simple matter of determining the system name and adding that system to the known systems list.

Iirc I've seen authors of webpages visiting this thread. Perhaps one is able to create this webpage. Either hosted by you or by themselves.

As I said before, I can wait 1-2 days before I create my 'volunteer' thread. If we don't have a webpage by then or no signs of one being created I will suggest in my thread using the codec form for input. We BADLY need those coordinates.

I hope we find a volunteer for the webpage. In the end ALL authors who need coordinates for their third party programs will benefit.
 
Last edited:
If someone's making a web page for entering data then I'd highly suggest making it so after you submit one source,destination,distance tuple you have the same source filled in already for the next input.

The fact that the google form doesn't do this is a major reason I've not input more than one set of data.

Ideally it would also use every entered source and destination to allow completion in both source and destination fields for quicker (and more accurate) entry.
 

wolverine2710

Tutorial & Guide Writer
If someone's making a web page for entering data then I'd highly suggest making it so after you submit one source,destination,distance tuple you have the same source filled in already for the next input.

The fact that the google form doesn't do this is a major reason I've not input more than one set of data.

Ideally it would also use every entered source and destination to allow completion in both source and destination fields for quicker (and more accurate) entry.

This is why I suggested a form with 'current system' input field and the nine reference star systems. You only have to input the current system ONCE and then fill in just numbers for the reference points. It makes it easier to input the data and it also makes it easier to know what data you have already entered - my brain isn't what it used to be when I was in my twenties (now almost 49).

Wrt completion: A modern browser already completes your input - if you have entered data in its field before. It works relative well with the codec form. I copy/paste the current system every time and use the browser completion for the destination field. This work relative well. Still it takes some time its not ideal.

I think my suggestion is quite easy to implement. Especially for those authors who already have created great looking websites with lots of info/interactivity. Fingers crossed.
 
Ah, but I was proposing server-side mediated completion, where it'll autofill with any star name it knows. This way people can benefit from others having already entered star names (hopefully accurately).

If you're using the same set of stars as references for each new source star it'd be nice if they were easy to fill in, yes ?

There is a slight concern with the number of stars ballooning and making this a little clunky, but a little RESTful API to it with the server set to use some compression will mean no bandwidth worries, and I'd hope anyone playing the game has a machine capable of doing quick lookups on an array of even 200,000 elements....

The basic point is to make the data entry as easy as we possibly can so that people don't feel it's too much of a chore. Encourage as much data as possible!
 
Sorry for only coming into this discussion so late, I only picked up the thread now.

I have the calcs for quadrangulating the coords as well, (using a different approach, I think), I am happy to share this with you, and also to contribute to the crowd sourcing.

I'm at work at the moment, but will see what I can do about uploading data this evening or tomorrow.
 
Back
Top Bottom