77 lines
2.3 KiB
Python
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'))
|
|
|