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

Trilateration itself is not cpu intensive at all. But you can do it for each combination of 3 distances from the total set. If you do that then you're running it n(n-1)(n-2)/6 times. So that's O(n^3) which would be a big problem if we were dealing with a lot of distances. In my implementation most of the time is spent checking distances but it's still fast enough up to about 15 distances which takes around a second on my machine. I have thought of various optimisations, mostly taking advantage of the way distances are added incrementally (e.g. only testing the n/(n-3) new candidate regions along with the leading current candidate), but I haven't bothered implementing many of them yet.

I don't think anyone here has implemented trilateration in php. It's pretty straight forward though. Should be easy to implement from the wikipedia article. Alternatively you could port it from my javascript (trilateration.js/getCandidates()).

Any way to push out the calculation to the client machines? For example, for a set of distances, send to the client all neighboring points, have the client perform the calculation, and send back the result? I realize this requires a piece of software, or perhaps just javascript in the browser.
 
Any way to push out the calculation to the client machines? For example, for a set of distances, send to the client all neighboring points, have the client perform the calculation, and send back the result? I realize this requires a piece of software, or perhaps just javascript in the browser.

You could but I doubt it's worth it. People would have to be submitting prodigious numbers of systems for performance to be a problem for a server. My implementation actually does do the work in the browser (which unfortunately means it's single threaded). My goal is to inform users as soon there is enough data to get a good location and to highlight errors as soon as possible. So it tries to calculate a location every time a distance is added. Once there is a good location the user can submit the system to TGC. This is a different approach to EDSC which is more of the traditional model of a data entry form that collects distances and provides no feedback until the data is submitted to the server.
 
It would probably be best if a TGC replacement provided a compatible API but I think it would involve quite a lot of work to keep the error/status reporting the same.

For the record, my plan was only to provide a complete download of the complete systems-json of TGC only. But I could not make the import of TGC data automated, so there is no ready to serve live cache yet.

My first priority is to make the history of changes recorded properly and accessible using an API for my own data, similar in concept to Wikipedia and OpenStreetMap. I'm lacking the time to do it however.

I agree there should be a compatible API, even if there is an improved (V3?) using HTTP GET for GetSystems and GetDistances.
 
Some more corrections from errors people have reported in my route planning tool.

'Macalites' has moved. It's not at 76.53125 | 21.78125 | 40.46875 as listed in the FD spreadsheet, instead it's somewhere around 31.5 | -18 | 0.5 . I'm just going to delete this one from my database.

'Hydrae Sector KM-W B1-4' appears to have been renamed to 'Crucis Sector GM-V B2-4'. I've done the rename in my database.

And now a strange one. 'Crucis Sector DL-Y C23' is actually where we think it is, but it can't initially be found by name search, and even after finding it manually and selecting it I can still only find it by name search some of the time. I've told the reporter to report it as a bug to FD.
 

wolverine2710

Tutorial & Guide Writer
Reposting here to get traction, as it impacts this project.

If you guys haven't seen this thread, you better head on over. It's the External API requirements thread by Michael :D

https://forums.frontier.co.uk/showthread.php?t=99437

And again ninja-ed by a little devil ;-)
Lets get over there and ket FD know what we need.

Note: This is going to get on the announcements section of the 3rd party tools thread. Updating right now!!!
 
I've been playing around with THREE.js for visualising the galaxy (well as much of it as we have in TGC). This is based on a page TornSoul put together a while back. It's quite interesting to see where people have been working:



And with the FD supplied systems:



If you want to have a play with this you can get it from here: https://github.com/SteveHodge/ed-systems. The page is systemsvis.html.

PS. Nice work JesusFreke, that's a lot of systems you've added!
 
I've been playing around with THREE.js for visualising the galaxy (well as much of it as we have in TGC). This is based on a page TornSoul put together a while back. It's quite interesting to see where people have been working:

...

PS. Nice work JesusFreke, that's a lot of systems you've added!

Thanks! :D I love the little blob of systems I have off to the side. Iirc, I just picked a random star a little ways from civilized space and got all the stars in the nav panel, and then got all the coords and visited/scanned each of those systems, mostly just to see what the exploration payouts would be. (It was pretty disappointing)
 
Hi.. I am a newbie.. and don't understand the meaning of this thread. It looks to me very complicated.. and there is i.m.o. a sufficient coordinates system in the in Universal Cartographic Map (UCM) of the galaxy. The edges of the in game basic grid cube have a distance of 1 light year. The reference coordinates in the UCM (game map) being X=0 Z=0 Y=0, is exactly where the star Sol (our in real live sun) is situated. The y-axis is in the in game coordinate system the prime meridian of the galaxy map, thus the most important one. If you tilt the galaxy map to show the disk of the Milky Way you can see (discover) that the y axis really acts as the in game prime meridian because it is the only coordinate axis that is crossing the x=0, z=0 and y=0 point and the center of the galaxy too! The x-axis do cross the location of the star Sol (our sun) but don't cross the center of the galaxy. The z axis, being in the cross-cut of the 3D game-map the top down axis, is not crossing the center of the galaxy but is crossing the star Sol. The z grid lines are not shown on the game map presentation, only the z coordinate value (being the middle one between the x and y values) are shown. The new players spawn location (solar system LHS 3447) is located 71.04 light years away from Sol (the sun) and planet Earth. The LHS 3447 system is situated in space cube Y= -45, Z= -5 and X= 56, being a little closer to the center of the galaxy, seen on a 2D x, y map coordination's presentation about 71 light years to the north-west of our sun.
 
Last edited:
Hi.. I am a newbie.. and don't understand the meaning of this thread. It looks to me very complicated.. and there is i.m.o. a sufficient coordinates system in the in Universal Cartographic Map (UCM) of the galaxy. The edges of the in game basic grid cube have a distance of 1 light year. The reference coordinates in the UCM (game map) being X=0 Z=0 Y=0, is exactly where the star Sol (our in real live sun) is situated. The y-axis is in the in game coordinate system the prime meridian of the galaxy map, thus the most important one. If you tilt the galaxy map to show the disk of the Milky Way you can see (discover) that the y axis really acts as the in game prime meridian because it is the only coordinate axis that is crossing the x=0, z=0 and y=0 point and the center of the galaxy too! The x-axis do cross the location of the star Sol (our sun) but don't cross the center of the galaxy. The z axis, being in the cross-cut of the 3D game-map the top down axis, is not crossing the center of the galaxy but is crossing the star Sol. The z grid lines are not shown on the game map presentation, only the z coordinate value (being the middle one between the x and y values) are shown. The new players spawn location (solar system LHS 3447) is located 71.04 light years away from Sol (the sun) and planet Earth. The LHS 3447 system is situated in space cube Y= -45, Z= -5 and X= 56, being a little closer to the center of the galaxy, seen on a 2D x, y map coordination's presentation about 71 light years to the north-west of our sun.

It's about getting system co-ordinates more accurately than you can eyeball.
 
Hi.. I am a newbie.. and don't understand the meaning of this thread. It looks to me very complicated.. and there is i.m.o. a sufficient coordinates system in the in Universal Cartographic Map (UCM) of the galaxy. The edges of the in game basic grid cube have a distance of 1 light year. The reference coordinates in the UCM (game map) being X=0 Z=0 Y=0, is exactly where the star Sol (our in real live sun) is situated. The y-axis is in the in game coordinate system the prime meridian of the galaxy map, thus the most important one. If you tilt the galaxy map to show the disk of the Milky Way you can see (discover) that the y axis really acts as the in game prime meridian because it is the only coordinate axis that is crossing the x=0, z=0 and y=0 point and the center of the galaxy too! The x-axis do cross the location of the star Sol (our sun) but don't cross the center of the galaxy. The z axis, being in the cross-cut of the 3D game-map the top down axis, is not crossing the center of the galaxy but is crossing the star Sol. The z grid lines are not shown on the game map presentation, only the z coordinate value (being the middle one between the x and y values) are shown. The new players spawn location (solar system LHS 3447) is located 71.04 light years away from Sol (the sun) and planet Earth. The LHS 3447 system is situated in space cube Y= -45, Z= -5 and X= 56, being a little closer to the center of the galaxy, seen on a 2D x, y map coordination's presentation about 71 light years to the north-west of our sun.

The purpose of the thread is getting exact coordinates for every known star. FD provided a database dump, and several methods were devised by the people here to derive what was not in the database.

The approach you describe looks a lot like what Biteketkergetek has proposed (based on Snuble's method). I do not know the progress on this, but you can help out if you wish. FD is coming out with an external API which hopefully will include star coordinates and make everyone's life easier.
 

wolverine2710

Tutorial & Guide Writer
The purpose of the thread is getting exact coordinates for every known star. FD provided a database dump, and several methods were devised by the people here to derive what was not in the database.

The approach you describe looks a lot like what Biteketkergetek has proposed (based on Snuble's method). I do not know the progress on this, but you can help out if you wish. FD is coming out with an external API which hopefully will include star coordinates and make everyone's life easier.

Should the web-api not be providing 3D coordinates I´m afraid of what it would be supplying. Coords is really one of the most basic and most wanted info!!
 
Should the web-api not be providing 3D coordinates I´m afraid of what it would be supplying. Coords is really one of the most basic and most wanted info!!

I expect it will provide coordinates but it will have to be limited in some way - it's not like it can output the coordinates for all 400 billion systems. That'd be terabytes worth of data just for coordinates and names. I guess it'll either be limited to systems within a certain distance of your ship or it'll return coordinates within a requested volume (as TGC can do). If it's limited to a particular distance from your ship then there will still be some value in a collection service.

Either way the actual calculation of coordinates should become obsolete. However I think it's going to be at least a couple of months before the API is released.
 
I expect it will provide coordinates but it will have to be limited in some way - it's not like it can output the coordinates for all 400 billion systems. That'd be terabytes worth of data just for coordinates and names. I guess it'll either be limited to systems within a certain distance of your ship or it'll return coordinates within a requested volume (as TGC can do). If it's limited to a particular distance from your ship then there will still be some value in a collection service.

Either way the actual calculation of coordinates should become obsolete. However I think it's going to be at least a couple of months before the API is released.
As well as an API call for "all the systems within 100ly of my current position" I'd hope FD will then make use of said API in test mode to give us a solid dump of all the star positions in, and within 100 or more LY of the inhabited volume. If they don't then people will just travel around and hammer the API to gain that info anyway, so it'll be a bandwidth/CPU saving for them to create a static file we can download.
 
I expect it will provide coordinates but it will have to be limited in some way - it's not like it can output the coordinates for all 400 billion systems. That'd be terabytes worth of data just for coordinates and names. I guess it'll either be limited to systems within a certain distance of your ship or it'll return coordinates within a requested volume (as TGC can do). If it's limited to a particular distance from your ship then there will still be some value in a collection service.

Either way the actual calculation of coordinates should become obsolete. However I think it's going to be at least a couple of months before the API is released.

Well, seemingly all 400 billion systems have at least their position already determined, since you can browse them in the galaxy map. Having the ability to query their position should be trivial, be it for the game client or by a web api.

EDIT: Or if not all 400 billion, at least those that have been generated by player presence.
 
Back
Top Bottom