Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
csst-dfs
csst-dfs-api-local
Commits
7137724f
Commit
7137724f
authored
Oct 07, 2022
by
Xie Zhou
Browse files
✨
为msc_level0_header添加更多字段
parent
dd5a3c0d
Changes
4
Hide whitespace changes
Inline
Side-by-side
csst_dfs_api_local/common/db.sql
View file @
7137724f
...
...
@@ -203,8 +203,18 @@ create table msc_level0_data
create
table
msc_level0_header
(
id
int
(
20
)
not
null
,
ra
float
,
"dec"
float
,
ra_obj
float
,
dec_obj
float
,
crpix1
float
,
crpix2
float
,
crval1
float
,
crval2
float
,
ctype1
varchar
(
10
),
ctype2
varchar
(
10
),
cd1_1
float
,
cd1_2
float
,
cd2_1
float
,
cd2_2
float
,
create_time
datetime
,
primary
key
(
id
)
);
...
...
csst_dfs_api_local/ifs/level0.py
View file @
7137724f
...
...
@@ -46,9 +46,9 @@ class Level0DataApi(object):
prc_status
=
get_parameter
(
kwargs
,
"prc_status"
)
file_name
=
get_parameter
(
kwargs
,
"file_name"
)
limit
=
get_parameter
(
kwargs
,
"limit"
,
0
)
ra
=
get_parameter
(
kwargs
,
"ra"
,
None
)
dec
=
get_parameter
(
kwargs
,
"
limit
"
,
None
)
radius
=
get_parameter
(
kwargs
,
"
limit
"
,
0
)
ra
=
get_parameter
(
kwargs
,
"ra"
,
None
)
dec
=
get_parameter
(
kwargs
,
"
dec
"
,
None
)
radius
=
get_parameter
(
kwargs
,
"
radius
"
,
0
)
sql_count
=
'select count(*) as c from ifs_level0_data d left join ifs_level0_header h on d.id=h.id where 1=1'
sql_data
=
'select d.* from ifs_level0_data d left join ifs_level0_header h on d.id=h.id where 1=1'
...
...
csst_dfs_api_local/msc/ingest.py
View file @
7137724f
...
...
@@ -40,14 +40,15 @@ def ingest_one(file_path, db, copyfiles):
dest_root_dir
=
os
.
getenv
(
"CSST_LOCAL_FILE_ROOT"
,
"/opt/temp/csst"
)
hdul
=
fits
.
open
(
file_path
)
header
=
hdul
[
0
].
header
fits_header
=
hdul
[
0
].
header
img_header
=
hdul
[
1
].
header
obs_id
=
header
[
"OBSID"
]
exp_start_time
=
f
"
{
header
[
'DATE-OBS'
]
}
{
header
[
'TIME-OBS'
]
}
"
exp_time
=
header
[
'EXPTIME'
]
obs_id
=
fits_
header
[
"OBSID"
]
exp_start_time
=
f
"
{
fits_
header
[
'DATE-OBS'
]
}
{
fits_
header
[
'TIME-OBS'
]
}
"
exp_time
=
fits_
header
[
'EXPTIME'
]
module_id
=
header
[
"INSTRUME"
]
obs_type
=
header
[
"FILETYPE"
]
module_id
=
fits_
header
[
"INSTRUME"
]
obs_type
=
fits_
header
[
"FILETYPE"
]
qc0_status
=
-
1
prc_status
=
-
1
time_now
=
datetime
.
datetime
.
now
()
...
...
@@ -64,8 +65,8 @@ def ingest_one(file_path, db, copyfiles):
(
obs_id
,
exp_start_time
,
exp_time
,
module_id
,
obs_type
,
facility_status_id
,
module_status_id
,
qc0_status
,
prc_status
,
create_time
))
db
.
end
()
#level0
detector
=
header
[
"DETECTOR"
]
filename
=
get_header_value
(
"FILENAME"
,
header
,
os
.
path
.
basename
(
file_path
))
detector
=
fits_
header
[
"DETECTOR"
]
filename
=
get_header_value
(
"FILENAME"
,
fits_
header
,
os
.
path
.
basename
(
file_path
))
existed
=
db
.
exists
(
"select * from msc_level0_data where filename=?"
,
...
...
@@ -81,7 +82,7 @@ def ingest_one(file_path, db, copyfiles):
file_full_path
=
file_path
if
copyfiles
:
file_dir
=
f
"
{
dest_root_dir
}
/
{
module_id
}
/
{
obs_type
.
upper
()
}
/
{
header
[
'EXPSTART'
]
}
/
{
obs_id
}
/MS"
file_dir
=
f
"
{
dest_root_dir
}
/
{
module_id
}
/
{
obs_type
.
upper
()
}
/
{
fits_
header
[
'EXPSTART'
]
}
/
{
obs_id
}
/MS"
if
not
os
.
path
.
exists
(
file_dir
):
os
.
makedirs
(
file_dir
)
file_full_path
=
f
"
{
file_dir
}
/
{
filename
}
.fits"
...
...
@@ -95,13 +96,24 @@ def ingest_one(file_path, db, copyfiles):
db
.
end
()
level0_id_id
=
db
.
last_row_id
()
#level0-header
ra_obj
=
header
[
"RA_OBJ"
]
dec_obj
=
header
[
"DEC_OBJ"
]
ra_obj
=
fits_header
[
"RA_OBJ"
]
dec_obj
=
fits_header
[
"DEC_OBJ"
]
crpix1
=
img_header
[
"CRPIX1"
]
crpix2
=
img_header
[
"CRPIX2"
]
crval1
=
img_header
[
"CRVAL1"
]
crval1
=
img_header
[
"CRVAL2"
]
ctype1
=
img_header
[
"CTYPE1"
]
ctype2
=
img_header
[
"CTYPE2"
]
cd1_1
=
img_header
[
"CD1_1"
]
cd1_2
=
img_header
[
"CD1_2"
]
cd2_1
=
img_header
[
"CD2_1"
]
cd2_2
=
img_header
[
"CD2_2"
]
db
.
execute
(
"delete from msc_level0_header where id=?"
,(
level0_id_id
,))
db
.
execute
(
"insert into msc_level0_header
\
(id, ra, `dec`, create_time)
\
values (?,?,?,?)"
,
(
level0_id_id
,
ra_obj
,
dec_obj
,
create_time
))
(id, ra_obj, dec_obj, crpix1, crpix2, crval1, crval1,
\
ctype1, ctype2, cd1_1, cd1_2, cd2_1, cd2_2, create_time)
\
values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
,
(
level0_id_id
,
ra_obj
,
dec_obj
,
crpix1
,
crpix2
,
crval1
,
crval1
,
ctype1
,
ctype2
,
cd1_1
,
cd1_2
,
cd2_1
,
cd2_2
,
create_time
))
if
copyfiles
:
#copy files
...
...
csst_dfs_api_local/msc/level0.py
View file @
7137724f
...
...
@@ -29,7 +29,20 @@ class Level0DataApi(object):
prc_status : [int],
file_name: [str]
limit: limits returns the number of records,default 0:no-limit
ra_obj: [float],
dec_obj: [float],
crpix1: [float],
crpix2: [float],
crval1: [float],
crval1: [float],
ctype1: [float],
ctype2: [float],
cd1_1: [float],
cd1_2: [float],
cd2_1: [float],
cd2_2: [float],
radius: [float],
return: csst_dfs_common.models.Result
'''
try
:
...
...
@@ -42,25 +55,64 @@ class Level0DataApi(object):
prc_status
=
get_parameter
(
kwargs
,
"prc_status"
)
file_name
=
get_parameter
(
kwargs
,
"file_name"
)
limit
=
get_parameter
(
kwargs
,
"limit"
,
0
)
sql_count
=
"select count(*) as c from msc_level0_data where 1=1"
sql_data
=
f
"select * from msc_level0_data where 1=1"
ra_obj
=
get_parameter
(
kwargs
,
"ra_obj"
,
None
)
dec_obj
=
get_parameter
(
kwargs
,
"dec_obj"
,
None
)
crpix1
=
get_parameter
(
kwargs
,
"crpix1"
,
None
)
crpix2
=
get_parameter
(
kwargs
,
"crpix2"
,
None
)
crval1
=
get_parameter
(
kwargs
,
"crval1"
,
None
)
crval1
=
get_parameter
(
kwargs
,
"crval1"
,
None
)
ctype1
=
get_parameter
(
kwargs
,
"ctype1"
,
None
)
ctype2
=
get_parameter
(
kwargs
,
"ctype2"
,
None
)
cd1_1
=
get_parameter
(
kwargs
,
"cd1_1"
,
None
)
cd1_2
=
get_parameter
(
kwargs
,
"cd1_2"
,
None
)
cd2_1
=
get_parameter
(
kwargs
,
"cd2_1"
,
None
)
cd2_2
=
get_parameter
(
kwargs
,
"cd2_2"
,
None
)
radius
=
get_parameter
(
kwargs
,
"radius"
,
0
)
sql_count
=
"select count(*) as c from msc_level0_data d left join msc_level0_header h on d.id=h.id where 1=1"
sql_data
=
f
"select * from msc_level0_data d left join msc_level0_header h on d.id=h.id where 1=1"
sql_condition
=
""
if
obs_id
:
sql_condition
=
f
"
{
sql_condition
}
and obs_id='
{
obs_id
}
'"
sql_condition
=
f
"
{
sql_condition
}
and
d.
obs_id='
{
obs_id
}
'"
if
detector_no
:
sql_condition
=
f
"
{
sql_condition
}
and detector_no='
{
detector_no
}
'"
sql_condition
=
f
"
{
sql_condition
}
and
d.
detector_no='
{
detector_no
}
'"
if
obs_type
:
sql_condition
=
f
"
{
sql_condition
}
and obs_type='
{
obs_type
}
'"
sql_condition
=
f
"
{
sql_condition
}
and
d.
obs_type='
{
obs_type
}
'"
if
exp_time_start
:
sql_condition
=
f
"
{
sql_condition
}
and obs_time >='
{
exp_time_start
}
'"
sql_condition
=
f
"
{
sql_condition
}
and
d.
obs_time >='
{
exp_time_start
}
'"
if
exp_time_end
:
sql_condition
=
f
"
{
sql_condition
}
and obs_time <='
{
exp_time_end
}
'"
sql_condition
=
f
"
{
sql_condition
}
and
d.
obs_time <='
{
exp_time_end
}
'"
if
qc0_status
:
sql_condition
=
f
"
{
sql_condition
}
and qc0_status=
{
qc0_status
}
"
sql_condition
=
f
"
{
sql_condition
}
and
d.
qc0_status=
{
qc0_status
}
"
if
prc_status
:
sql_condition
=
f
"
{
sql_condition
}
and prc_status=
{
prc_status
}
"
sql_condition
=
f
"
{
sql_condition
}
and d.prc_status=
{
prc_status
}
"
if
ra_obj
:
sql_condition
=
f
"
{
sql_condition
}
and (h.ra_obj <='
{
ra_obj
+
radius
}
and h.ra_obj >=
{
ra_obj
-
radius
}
'"
if
dec_obj
:
sql_condition
=
f
"
{
sql_condition
}
and (h.dec_obj <='
{
dec_obj
+
radius
}
and h.dec_obj >=
{
dec_obj
-
radius
}
'"
if
crpix1
:
sql_condition
=
f
"
{
sql_condition
}
and h.crpix1 ='
{
crpix1
}
'"
if
crpix2
:
sql_condition
=
f
"
{
sql_condition
}
and h.crpix2 ='
{
crpix2
}
'"
if
crval1
:
sql_condition
=
f
"
{
sql_condition
}
and h.crval1 ='
{
crval1
}
'"
if
crval1
:
sql_condition
=
f
"
{
sql_condition
}
and h.crval1 ='
{
crval1
}
'"
if
ctype1
:
sql_condition
=
f
"
{
sql_condition
}
and h.ctype1 ='
{
ctype1
}
'"
if
ctype2
:
sql_condition
=
f
"
{
sql_condition
}
and h.ctype2 ='
{
ctype2
}
'"
if
cd1_1
:
sql_condition
=
f
"
{
sql_condition
}
and h.cd1_1='
{
cd1_1
}
'"
if
cd1_2
:
sql_condition
=
f
"
{
sql_condition
}
and h.cd1_2='
{
cd1_2
}
'"
if
cd2_1
:
sql_condition
=
f
"
{
sql_condition
}
and h.cd2_1='
{
cd2_1
}
'"
if
cd2_2
:
sql_condition
=
f
"
{
sql_condition
}
and h.cd2_2='
{
cd2_2
}
'"
if
file_name
:
sql_condition
=
f
" and filename='
{
file_name
}
'"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment