srg/heasarc/management/commands/heasarc_match_gaia.py
2024-04-25 17:50:51 +03:00

45 lines
1.5 KiB
Python

from django.core.management.base import BaseCommand, CommandError
import time
from datetime import date
from heasarc.models import INPUT_DATA_DIR
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
import numpy.ma as ma
from heasarc.tdat import tDat
from heasarc.models import HeasarcTable, TableColumn, HeasarcBase
from heasarc.models import NSIDE_SOURCES, ORDER
from astrobasis.models import GAIADR3
from heasarc.models import Heasarc4XMMDR10
from srglib.utils import find_counterparts
from astropy_healpix import HEALPix
from astropy.coordinates import SkyCoord # High-level coordinates
from astropy.coordinates import ICRS, Galactic, FK4, FK5 # Low-level frames
from astropy.coordinates import Angle, Latitude, Longitude # Angles
import astropy.units as u
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):
srcs = Heasarc4XMMDR10.objects.all()#.filter(EP_1_FLUX__gt=1e-13)
maxdist=60.0
minrad=5.0
print("Taken from HEASARC: {}".format(srcs.count()))
start_time = time.time()
find_counterparts(srcs, GAIADR3.objects.all(), "gaia3", maxdist=maxdist, minrad=minrad, verbose=True)
print("--- %s seconds ---" % (time.time() - start_time))
self.stdout.write(self.style.SUCCESS('Done'))