srg/artsurvey/management/commands/00_artsurvey_update.py
2024-04-26 12:43:00 +03:00

77 lines
2.3 KiB
Python

from django.core.management.base import BaseCommand, CommandError
from datetime import date
import datetime
from django.utils import timezone
import astropy
from astropy.io import ascii
import pandas as pd
import pymysql
from sqlalchemy import create_engine
from heasarc.models import HeasarcBase
from artsurvey.models import ArtSurveySource, ArtSurvey
from srglib.utils import load_vizier_nvss
from srglib.utils import load_vizier_first
from srglib.utils import load_vizier_sumss
from astrobasis.models import GAIADR3
from srglib.utils import find_counterparts
from srglib.utils import load_vizier_allwise
from astropy import units as u
from astropy.coordinates import SkyCoord
from astropy.coordinates import ICRS, Galactic, FK5
from astropy.coordinates import BarycentricTrueEcliptic
from astropy.coordinates import HeliocentricTrueEcliptic
from astropy.coordinates import GeocentricTrueEcliptic
def do_all(survey_version):
minrad=40
maxdist=120
try:
survey = ArtSurvey.objects.get(version=survey_version)
print("use ArtSurvey {}".format(survey))
except ArtSurvey.DoesNotExist:
print("ArtSurvey {} not found".format(survey_version))
return
srcs = survey.artsurveysource_set.all()
print("Selected {} sources".format(srcs.count()))
for src in srcs:
crd = SkyCoord(src.ra, src.dec, frame="fk5", unit="deg")
src.ecl_l=crd.transform_to(BarycentricTrueEcliptic).lon.value
src.ecl_b=crd.transform_to(BarycentricTrueEcliptic).lat.value
src.save()
return
for src in srcs:
if(src.skymapsource_set.all().count()):
orig=src.skymapsource_set.all()[0]
"""
src.nfalse=orig.nfalse
src.save()
print("{} <-- {}".format(src.nfalse,orig.nfalse))
"""
if not orig.ext_id == '':
src.ext_id=orig.ext_id
src.save()
print("{} {} <-- {}".format(src,src.ext_id,orig.ext_id))
class Command(BaseCommand):
help = 'Initiates data dase'
# def add_arguments(self, parser):
# parser.add_argument('poll_id', nargs='+', type=int)
def handle(self, *args, **options):
do_all(12345.0)
self.stdout.write(self.style.SUCCESS('Done'))