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

COL 285 Sector VG-1 B24-6 doesn't exist in game and in the database. Sefrys exists in game, unknown coordinates. Good start to do some coordinate grinding, so pls submit distances to it. ;)
 
COL 285 Sector VG-1 B24-6 doesn't exist in game and in the database. Sefrys exists in game, unknown coordinates. Good start to do some coordinate grinding, so pls submit distances to it. ;)

I checked when I saw the Galnet post before 1.3.1 and it hadn't changed. I guess it changed with the 1.3.1 update.

Edit: incidentally, they obviously got the name in the Galnet article wrong as "...VG-1..." is not a valid generated name. Assuming it was supposed to be "VG-I" it's still wrong as Col 285 Sector VG-I b24-6 does still exist a short distance from Sefrys. There are other names missing from the "Col 285 Sector VG-I b24-*" sequence though so perhaps it was "...b24-5" or something.
 
Last edited:
Short answer (long one is prepared on notebook, but couldn't finish because they found a WW2 bomb): Finding coordinates using EDSC works but is a PITA, because it doesnt trilaterate backwards (always). So if you're at system A, and systems x, y & z have unknown coordinates, and you want to transmit distances, you can't submit A-X A-Y & A-Z at once. You need to switch to expert mode and transmit X-A, then Y-A and then Z-A.

My page does actually handle the reverse trilateration case: that's why I added expert mode in the first place ;). What you need to do is submit system A first with good references so that TGC/EDSC can trilaterate it. Then you put "A" in as the new system again and use X, Y, and Z as references (the page will warn that these are unknown, but that's fine). TGC/EDSC doesn't always accept multiple unknown reference systems properly so my page checks the response and automatically resubmits distances that TGC/EDSC has ignored. You can then move to the next star and repeat. The "recently added" list that appears when you're in expert mode gives feedback on which systems have been successfully trilaterated by TGC/EDSC so you can stop submitting new distances for them. Clicking on a name in the "recently added" list adds it back to the data entry form - you can use that to copy and paste the "A" system name so it's exactly right.

You can actually submit most "A" systems just once as TGC/EDSC only needs to be triggered to trilaterate X/Y/Z once (which happens when you submit them together with any already located "A"). So you can do something like this:
Submit A (unlocated) with distances to reference systems plus X, Y, Z
Submit B (unlocated) with distances to reference systems plus X, Y, Z
Submit C (unlocated) with distances to reference systems plus X, Y, Z
Submit D (unlocated) with distances to reference systems plus X, Y, Z
Submit E (unlocated) with distances to reference systems
Submit E (now located) with distances to X, Y, Z
TGC/EDSC will then try to trilaterate X, Y, and Z, and if you're lucky it will succeed. In practice the set of A to E will often not be good references for X, Y, and Z and you'll have to provide more distances, and that is the problem with mapping this way: you'll measure and submit a lot of distances that aren't useful for trilateration. For that reason I don't bother with this unless I'm trying to do a comprehensive mapping of some (small!) volume of space.
 
Last edited:
Hi All

I have an idea about how we could potentially hugely expand the triangulation of uncharted systems. I am presuming EDSC is still the de-facto place to log new systems? If not please reply and tell me the better option(s)!

So, on to my idea....

The current approach is that every star you visit, if you suspect it might not be charted yet, you visit EDSC and type in its name to find out. If it isn't charted you spend a few minutes in the Galaxy map finding distances to a few reference systems, and enter them into EDSC (or another tool).

The problem with this is that it takes quite a time out of gameplay, so is not not done as much as we would like. It's also a pain having to check if the system is unknown.

So, if we had a list of unknown systems (I'll come on to that...) and posted it on a site somewhere, then public spirited CMDRs could visit the site and punch in the distance from wherever they happen to be to a few unknown systems. Once enough CMDRs report distances to an individual unknown system, it can be submitted to EDSC for triangulation using EDSC's API.

So how do we get the list of unknown systems?

In the various apps that use the IOS API (I use EDCE), the retrieved JSON contains a JSON array of every system you have ever visited, it is here in the JSON 'stats'->'explore'->'visited'->>'starsystem'

That's very interesting, thanks. I'll check out EDCE as I'm interested in keeping a log of my trips and that seems perfect. It should be easy to write something that automatically submits the names to EDSC (currently still the primary repository, but unmaintained) and Inhumierer's system (hopefully will be adopted as the replacement for EDSC). API here: http://the-temple.de/public/api.php.

To be honest though, collecting names is not the problem. We already have about twice as many submitted systems that aren't trilaterated as are (18000 vs 9000). I think the bit we need is a tool that can automatically figure out where you are (e.g. via EDCE, or via the logfiles as EDDiscovery does), and then present a few systems to get distances to. It would need to be smart enough to figure out which un-trilaterated systems are going to most benefit from a distance to the current system - the suggestion code in my webpage pretty much does that already but I'm not sure how easy it would be for that page to get the current location.
 
That's very interesting, thanks. I'll check out EDCE as I'm interested in keeping a log of my trips and that seems perfect. It should be easy to write something that automatically submits the names to EDSC (currently still the primary repository, but unmaintained) and Inhumierer's system (hopefully will be adopted as the replacement for EDSC). API here: http://the-temple.de/public/api.php.

To be honest though, collecting names is not the problem. We already have about twice as many submitted systems that aren't trilaterated as are (18000 vs 9000). I think the bit we need is a tool that can automatically figure out where you are (e.g. via EDCE, or via the logfiles as EDDiscovery does), and then present a few systems to get distances to. It would need to be smart enough to figure out which un-trilaterated systems are going to most benefit from a distance to the current system - the suggestion code in my webpage pretty much does that already but I'm not sure how easy it would be for that page to get the current location.

I can already figure out last place I docked from the EDCE data. When you run the EDCE client (edce_client.py) it produces 2 useful files, last.json (always overwritten with expanded JSON full CMDR save data), and last.time containing a timestamp. I've written a small *nix script that inserts this into my EDDB derived database, so all I have to do is select from my CMDR_SAVE table order by descending timestamp and limit to 1 row.

This is my shell script to insert the JSON text blob into my Postgres 9.4 database, (needs the GNU version of sed which is standard sed on most Linux, needs to be installed with homebrew on OSX, is standard sed in Windows Git bash shell). The script puts the timestamp into a shell variable and then generates an INSERT statement which is piped straight to the Postgres psql client to execute it...

Code:
python3 edce_client.py

JTIME=`cat last.time`
gsed -r "s/'/''/g" ./last.json | gsed -r "s/(.+)/INSERT INTO \"ED_STG\".\"STG_CMDR_SAVE\" VALUES($JTIME,\'\1\');/g" | psql -h 192.168.1.73 -U simon --no-password

So every time I dock I run the script as follows which posts the market data to EDDN (standard EDCE stuff) and then INSERTS the JSON data to my database...

SY_iMac:edce-client simonyoung$ ./sy_savecmdr.sh
CMDR: Zoy
System: Gliese 1269/Jaques Station
Ship: Asp
Attempting to post market data to EDDN, this may take a minute...
Done.
INSERT 0 1


This query then lets me see "last docked"...

Code:
SELECT to_timestamp(tstamp) AS tstamp,
       data->'lastSystem'->>'name' AS system,
       data->'lastStarport'->>'name' AS station
  FROM "ED_STG"."STG_CMDR_SAVE" s
 ORDER BY tstamp desc LIMIT 1;

Output:

tstamp system station
07/06/2015 18:01:36 BST Gliese 1269 Jaques Station

See also http://www.reddit.com/r/EliteDanger...le_api_based_tools_ideal_for_trading_logbook/

N.B. FD are still deliberating on whether to allow tools like EDCE, so be aware it may be short term which would be massively disappointing!

HTH
 
I am presuming EDSC is still the de-facto place to log new systems? If not please reply and tell me the better option(s)!
Well, partly... EDSC creator TornSoul is MIA since mid of December. I am building a replacement for it, and it does good at the moment. You may use the web FE at http://the-temple.de or you may use an actual version of RedWizzards wonderful Java page for entering distances, mirrored here.
EDDiscovery is an excellent tool for recording your journeys, and (I guess) soon there will be an updated version which checks system information against my API. EDDiscovery forum thread.
Currently EDDsicovery displays systems at unknown positions in blue upon arrival, and others in black, so very easy to see if they are known or not. When entering a new system from EDDsicovery, a webbrowser is opened and RedWizzards page is shown. The version is a bit old, but I believe this is a matter of days.

then public spirited CMDRs could visit the site and punch in the distance from wherever they happen to be to a few unknown systems. Once enough CMDRs report distances to an individual unknown system, it can be submitted to EDSC for triangulation using EDSC's API.
Partly, again. EDSC data contains several bad errors, and as far as I understood it, it doesn't try trilateration "backwards" every time.
At my page you may give the system name where you actually are, and (if the coordinates are known) the site asks to verify some calculated distances to verify them, and to submit some distances to systems with unknown coordinates, so they may be calculated. Actually there are 17690 systems where we need more distances to calculate the coordinates, and many of them only have 0 or 1 usable distances, and we need 4 minimum. So we need several 10.000 more distances.

So how do we get the list of unknown systems?
In the various apps that use the IOS API (I use EDCE), the retrieved JSON contains a JSON array of every system you have ever visited, it is here in the JSON 'stats'->'explore'->'visited'->>'starsystem'
Oh nice, I didn't know that EDCE shows a list of all visited systems. I tried to use it 2 or 3 weeks ago, couldn't manage to run it on my linux boxes, Python is too old. Maybe I sould try the windows versions.
And AFAIK the API these tools use isn't officially supported, and I'm unsure if FD allows us to use it.

Resume: EDSC/TGC is a very good start, but unsupported and outdated. My list of wrong systems counts 333 entries, most of them come from EDSC. And my wrong distance count is 3.595 so far...
EDDB is a very good (and nice) site about very wide spread system data. But it consumes a lot of game time to enter the data. I concentrated on finding coordinates, and several system names and coordinates in EDDB are wrong, so I stopped polling them. I'm unsure if EDDB is maintained.

My site is mainly an API to a maintained system, distance & coordinate database. The web FE is ony very basic, I know. And it's ugly ;) Anyone volunteering to jump into the boat?
 
For all you data collectors out there: GM behaves a bit strange since the last update. When I open GM, navigation, search "Hypoae Aewsy XK-E c25-0" and click on the arrow, nothing apparently happens. When I click again, GM jumps to Hypoae Aewsy XK-E c25-1. When I click again and again, it jumps all Hypoae Aewsy XK-E c25-n up to the last, and then finally shows me the system I want to see. Easy to pick the wrong system, so be careful when entering distances or traveling.
 
For all you data collectors out there: GM behaves a bit strange since the last update. When I open GM, navigation, search "Hypoae Aewsy XK-E c25-0" and click on the arrow, nothing apparently happens. When I click again, GM jumps to Hypoae Aewsy XK-E c25-1. When I click again and again, it jumps all Hypoae Aewsy XK-E c25-n up to the last, and then finally shows me the system I want to see. Easy to pick the wrong system, so be careful when entering distances or traveling.

I noticed this in beta and posted a bug, might be good to post a new bug now that 1.3 is live.
 
Yes, I'll do. Happens sometimes, unsure when/why. Only system names ending on "0" found so far to behave strange, Chu Thaa CU-R d4-0 does, too. But not all...
 
Yes, I'll do. Happens sometimes, unsure when/why. Only system names ending on "0" found so far to behave strange, Chu Thaa CU-R d4-0 does, too. But not all...

I've noticed it with bare "sector" names - sometimes one click/return will take you to the right region, sometimes it take two.
 
Ok, was doing some tests with the API.
a couple of things:
1 - Remove systems A and U ( My bad ;) )
2 - http://www.the-temple.de/user/showsysdists.php?sysname=A => Adding system A to database.
That should not automatically add system in database in my opinion ;) Or may be it's confusing.
If not confusing, you can add systems like that anyone can enter anything in the URI.
3 - I pass p0 => Usiratiach but strangely, it always give me back with U as the system name.
May be something on my side ?

Code:
[COLOR=#000000]array(3) {
[/COLOR][COLOR=#000000]  ["commander"] => string(6) "Anthor"
[/COLOR][COLOR=#000000]  ["p0"] => string(10) "Usiratiach"
[/COLOR][COLOR=#000000]  ["refs"] => array(1) {
[/COLOR][COLOR=#000000]    [0] => array(2) {
[/COLOR][COLOR=#000000]      ["name"] => string(7) "Ross 76"
[/COLOR][COLOR=#000000]      ["dist"] => string(6) "351.81"
[/COLOR][COLOR=#000000]    }
[/COLOR][COLOR=#000000]  }
[/COLOR][COLOR=#000000]}
[/COLOR]


So I add it in a data array, json it and got that url to send:
-
http://the-temple.de/public/submitdistances.php?
%7B%22data%22%3A%7B%22commander%22%3A%22Anthor%22%2C%22p0%22%3A%22Usiratiach%22%2C%22refs%22%3A%5B%7B%22name%22%3A%22Ross+76%22%2C%22dist%22%3A%22351.81%22%7D%5D%7D%7D

Decoded:
-
http://the-temple.de/public/submitdistances.php?
{"data":{"commander":"Anthor","p0":"Usiratiach","refs":[{"name":"Ross 76","dist":"351.81"}]}}

And the return:
Code:
{
  "basesystem":{"msgnum":108,"name":"U","msg":"need 4 refs minimum","new":"true","refnum":1},
  "systems":[],
  "distances":[{"msgnum":200,"name":"Ross 76","dist":"351.81","msg":"distance saved"}]
}



Any idea of what i mess ?

EDIT: Just find, that p0 must contain an array with name key ;) So it's working now !
You may add a check on that key while receiving data.
 
Last edited:
Ups, I did not check if a base system name is submitted in the correct form. Now it should check, and moan if not ;)

- - - Updated - - -

I've noticed it with bare "sector" names - sometimes one click/return will take you to the right region, sometimes it take two.

Sometimes it takes 2,3 maybe 4 or 5 clicks to jump to the specified system. But with the names given as an example, it does not - it jumps to the WRONG system, making it easy to enter a wrong distance. Blabla Sector D0 jumps to Blabla Sector D1, then D2, D3... D12, and THEN jumps to the correct system ending in "0". So maybe 15 or 18 clicks... Ticketed, although I can't find the ticket in the FE.
 
Deng, my fault. Fixed. Sorry.
Edit: Replies now: {"basesystem":{"msgnum":110,"msg":"base system name not found in submission - please check your API call"},"systems":null,"distances":null}
 
Last edited:
Deng, my fault. Fixed. Sorry.
Edit: Replies now: {"basesystem":{"msgnum":110,"msg":"base system name not found in submission - please check your API call"},"systems":null,"distances":null}

Thanks it's working, I'm now connected to the temple, and presenting 4 distances for confirmation and 4 for new distances, when someone edit a system.
 
Last edited:
Oh nice, I didn't know that EDCE shows a list of all visited systems. I tried to use it 2 or 3 weeks ago, couldn't manage to run it on my linux boxes, Python is too old. Maybe I sould try the windows versions.
And AFAIK the API these tools use isn't officially supported, and I'm unsure if FD allows us to use it.

You are correct, it isn't officially supported, but we are trying to get FD to tolerate the use of the Companion web API, as long as it doesn't impact the game or the team. Michael has indicated that they are discussing it internally. There is so much great data in there, like the full list of visited systems, as was mentioned.

In the meantime, great alternatives to EDCE that use the Companion API are EDMC and EDAPI. You may have better luck with them if python is an issue.
 
Last edited:
Sometimes it takes 2,3 maybe 4 or 5 clicks to jump to the specified system. But with the names given as an example, it does not - it jumps to the WRONG system, making it easy to enter a wrong distance. Blabla Sector D0 jumps to Blabla Sector D1, then D2, D3... D12, and THEN jumps to the correct system ending in "0". So maybe 15 or 18 clicks... Ticketed, although I can't find the ticket in the FE.

Right, yeah. What I meant is that if you just enter "blabla" it should take you to the first "blabla" system, or at least the general region. But because of this bug the first click/enter doesn't do anything and you have to click/hit enter again (but it always works on the second one because you're not searching for a specific system).
 
Last edited:
Back
Top Bottom