The filtering process employed by Anders et al. removed roughly half the points in the StarHorse collection. That is fortunate for us, since it gives a very nice example to study, before taking on the 265-million star challenge. That's not to say 136,606,128 points are going to be a snap to handle, but the reduced memory requirement does make it easier to get started.
The full catalogue is available for download on the AIP data service page (doi:10.17876/data/2019_1). It contains 36 fields of data for each of its stars, including lots of information other than the 3D positions we need for the TSP instance. Those positions are stored in fields 32, 33, and 34, labeled XGal, YGal, and ZGal. To build sh136606128, extract these three fields only for those entries such that fields 3 and 4, labeled SH_GAIAFLAG and SH_OUTFLAG, are both 0. This process should give you 3D coordinates for 136,606,128 points. The coordinate values are given in kiloparsecs, so you will need to scale them by 10000 to change the units to 1/10th parsecs. As a check, here is a file with the resulting coordinates for the first 1,000 points.
Note that the coordinates are Galactocentric, that is, the (0,0,0) point is the center of the Milky Way. This is in contrast to the other Star TSP instances, where the coordinate system places the Sun at the (0,0,0) point. This shift does not impact the TSP solution.
To create an instance of the TSP, we need to specify precisely the point-to-point distances we use. For this, we adopt the standard TSPLIB norm for 3D Euclidean data. This norm takes the straight-line distance between two points and rounds the resulting value to the nearest integer. In our case, the star-to-star distance is therefore measured to the nearest 1/10th parsec. Here is a simplified version of the computer code used in Concorde for the distance calculation.
The video pans across the point set, then zooms out for a full view.
The point set is rendered with the three.js JavaScript 3D library.