in src/api/dataloader.py [0:0]
def _get_coordinates_list(dataset: dict[str, RecordMetadata]):
coordinates = {
key: {"coordinates": dataset[key].coordinates, "coordinate_system": dataset[key].coordinate_system}
for key in dataset if dataset[key].coordinates}
coords_list = {}
for key in coordinates:
coordinate_frame = "icrs"
if coordinates[key]['coordinate_system']:
if coordinates[key]['coordinate_system'].lower() == "galactic":
coordinate_frame = 'galactic'
elif coordinates[key]['coordinate_system'].lower() == "ecliptic":
coordinate_frame = 'geocentrictrueecliptic'
elems = coordinates[key]['coordinates']
for el in elems:
try:
if len(el.split(' ')) > 2:
sc = SkyCoord(el, frame=coordinate_frame, unit=(u.hour, u.deg))
else:
sc = SkyCoord(el, frame=coordinate_frame, unit=(u.deg, u.deg))
coords_list[key] = sc
except:
pass
coords = [[coord.icrs.ra.deg, coord.icrs.dec.deg] for coord in coords_list.values()]
tree = KDTree(coords)
return coords_list, tree