def _get_coordinates_list()

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