from django.core.management.base import BaseCommand, CommandError from django.db.models import F, Q from datetime import date import datetime from django.utils import timezone import astropy from astropy.io import ascii import pandas as pd import pymysql import numpy as np from sqlalchemy import create_engine from astropy import units as u from astropy.coordinates import SkyCoord from astropy.coordinates import ICRS, Galactic, FK5 from astropy_healpix import HEALPix, neighbours from heasarc.models import HeasarcBase from artsurvey.models import ArtSurveySource, ArtSurvey, EnergyBand, MetaSource from artsurvey.utils import update_metasource from astrobasis.models import GAIADR2 from srglib.utils import find_counterparts from srglib.utils import crossmatch from srglib.utils import transfer from heasarc.models import NSIDE_SOURCES, ORDER def update_meta(survey_version,survey_name,en='E0',minrad=15,maxdist=120): try: s = ArtSurvey.objects.get(Q(version=survey_version) & Q(name=survey_name)) except ArtSurvey.DoesNotExist: print("ArtSurvey {} {} not found".format(survey_name,survey_version)) return try: band = EnergyBand.objects.get(slug=en) except EnergyBand.DoesNotExist: print("EnergyBand bot found") return srcs=s.artsurveysource_set.all().filter(band=band) count = update_metasource(srcs, minrad=minrad, maxdist=maxdist) print("use ArtSurvey {} band={} nrows={} , meta={}".format(s, band, srcs.count(), count)) 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): """ arcsecond """ minrad=30.0 maxdist=500.0 """ Detele MetaSource """ #msrcs=MetaSource.objects.all() #print("Delete MetaSource nrows={}".format(msrcs.count())) #msrcs.delete() """ Start filling MetaSource with the most deep survey Attention! Start with S12.E0 because only it contains extended objects """ """ update_meta(survey=12.5, en='E0', minrad=minrad, maxdist=maxdist) update_meta(survey=12.5, en='E1', minrad=minrad, maxdist=maxdist) update_meta(survey=12.5, en='E2', minrad=minrad, maxdist=maxdist) update_meta(survey=12.5, en='E3', minrad=minrad, maxdist=maxdist) update_meta(survey=12.5, en='E4', minrad=minrad, maxdist=maxdist) update_meta(survey=1.7, en='E0', minrad=minrad, maxdist=maxdist) update_meta(survey=1.7, en='E1', minrad=minrad, maxdist=maxdist) update_meta(survey=1.7, en='E2', minrad=minrad, maxdist=maxdist) update_meta(survey=1.7, en='E3', minrad=minrad, maxdist=maxdist) update_meta(survey=1.7, en='E4', minrad=minrad, maxdist=maxdist) update_meta(survey=2.7, en='E0', minrad=minrad, maxdist=maxdist) update_meta(survey=2.7, en='E1', minrad=minrad, maxdist=maxdist) update_meta(survey=2.7, en='E2', minrad=minrad, maxdist=maxdist) update_meta(survey=2.7, en='E3', minrad=minrad, maxdist=maxdist) update_meta(survey=2.7, en='E4', minrad=minrad, maxdist=maxdist) """ #update_meta(survey=0.0, en='E0', minrad=minrad, maxdist=maxdist) #update_meta(survey=0.0, en='E1', minrad=minrad, maxdist=maxdist) #update_meta(survey=0.0, en='E2', minrad=minrad, maxdist=maxdist) #update_meta(survey=123.0, en='E0', minrad=minrad, maxdist=maxdist) #update_meta(survey=1234.0, en='E0', minrad=minrad, maxdist=maxdist) #update_meta(survey=3.0, en='E0', minrad=minrad, maxdist=maxdist) #update_meta(survey=4.0, en='E0', minrad=minrad, maxdist=maxdist) #update_meta(34.0, "34", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(5.0, "5", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(12345.0, "1-5", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(12345.1, "1-5", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(12345.11, "1-5", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(12345.12, "1-5", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(12345.12, "1-5", en='E5', minrad=minrad, maxdist=maxdist) #update_meta(12345.13, "1-5", en='E5', minrad=minrad, maxdist=maxdist) update_meta(12345.14, "1-5", en='E5', minrad=minrad, maxdist=maxdist) #update_meta(0.12, "L20", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(0.12, "L20p1", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(0.12, "L20p2", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(0.12, "L20p3", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(0.12, "L20p4", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(0.13, "L20rb", en='E0', minrad=minrad, maxdist=maxdist) #update_meta(0.15, "L20rb_ml", en='E0', minrad=minrad, maxdist=maxdist) version=0.11 #names=['GP025','GP020','GP015','GP010','GP005','GP000','GP355','GP350','GP345',] #names=['GP055','GP060','GP065'] #names=['GP070','GP075','GP080','GP085','GP090', 'GP270','GP275','GP280','GP285','GP290','GP295','GP300','GP305','GP310','GP215','GP320','GP325'] #names=['GP315'] names=['GP330','GP335','GP340'] """ for name in names: update_meta(version, name, en='E0', minrad=minrad, maxdist=maxdist) update_meta(version, name, en='E1', minrad=minrad, maxdist=maxdist) update_meta(version, name, en='E2', minrad=minrad, maxdist=maxdist) update_meta(version, name, en='E3', minrad=minrad, maxdist=maxdist) update_meta(version, name, en='E4', minrad=minrad, maxdist=maxdist) """ self.stdout.write(self.style.SUCCESS('Done'))