HyperLEDA / db-app

Backend for HyperLeda astronomical database of extragalactic objects
https://hyperleda.github.io/db-app/
MIT License
0 stars 0 forks source link

Implement CrossIdentifyUseCase #139

Open d-makarov-d opened 2 months ago

d-makarov-d commented 2 months ago

Implement CrossIdentifyUseCase. Note, that it should cross identify not only with data, that is in DB, but also with currently processing data. Check performance.

dimakarov commented 2 months ago

Очевидно, что размер областей для кроссидентификации должен зависеть от точности координат и размеров объектов (типичная ситуация, что чем больше галактика тем менее точным получается оценка центра).

Поиск нужно вести только внутри соответствующих классов объектов. Т.е. звезды отождествлять среди звезд, галактики среди галактик, скопления среди скоплений и т.д.

Наверное, имеет смысл позволить пользователю выбирать радиус круга отождествления

Можно выделить следующие ситуации:

1) Известно только имя галактики ) Если это хорошо известные имена типа NGC, PGC и т.д. то неотождествленные случаи нужно будет отправлять на ручную проверку. ) Если каталог содержит что-то экзотическое, то надо будет где-то искать координаты. *) Если для объекта дается несколько имен необходима проверка на соответствие, т.е. чтобы все имена возвращали один и тот же PGC-number (либо NULL, если отождествиться не получилось)

2) Известны имена и координаты *) Помимо пункта (1) необходимо делать проверку на соответствие координат. Окно соответствия может быть довольно большим 10-20 arcsec (для старых каталогов до 60 arcsec). Наверное, имеет смысл дать возможность пользователю варьировать этот параметр.

3) Известны координаты и размеры объектов -) в идеале мы знаем также и ориентацию, что позволяет проводить поиск соответствия внутри эллипса охватывающего центральную область галактики, но это можно отложить для последующего улучшения -) Далее a,b - большая и малая полуось эллипса, описывающего размер галактики -) Все размеры в arcsec ) размер задан как sigma распределения света в галактике, тогда R1 = max( 0.3sqrt(ab) , 1.5 ) ) размер задан как эффективный размер (размер половины света), т.е. эллипс внутри которого сосредоточена половина света галактики R1 = max( 0.45sqrt(ab) , 1.5 ) ) Надо учесть точность координат R1 = sqrt( R1^2 + err^2 ) ) R2 = 3R1 ) Надо бы проверять соответствие размеров отождествленных объектов, т.е. странно было бы отождествлять мелочевку с протяженными объектами

4) Известны только координаты -) В принципе, в Леда для большого количества галактик хранятся размеры и их можно было бы учитывать при отождествлении *) Современные каталоги, как правило, имеют высокоточные координаты, для них можно использовать R1=1.5 R2=4.5 исключение составляют, пожалуй, слепые радиообзоры, где точность координат порядка 1-10 arcmin, но отождествление таких объектов - это отдельная задача