# 2级数据接口使用说明 ## 概述 2级数据接口模块是 `csst_dfs_client.level2`。该模块包含了搜索2级数据文件记录、更新2级数据状态、将本地文件写入DFS以及管理2级数据处理记录等功能的函数。 ## 函数列表 1. **find** - 功能:根据给定的参数搜索2级数据文件记录。 - 参数:包括项目ID、观测ID、模块ID、探测器编号、文件类型、滤光片、观测时间范围、创建时间范围、QC2状态、处理状态、文件名、目标赤经、目标赤纬、搜索半径、天体名称、RSS ID、Cube ID、数据集名称、批次ID、页码、每页数量等。 - 返回值:搜索结果对象。 2. **find_by_level2_id** - 功能:通过2级数据的ID查询2级数据。 - 参数:2级数据的ID。 - 返回值:查询结果对象。 3. **update_qc2_status** - 功能:更新2级数据的QC2状态。 - 参数:2级数据的ID、文件类型、QC2状态、批次ID。 - 返回值:更新结果对象。 4. **update_prc_status** - 功能:更新2级数据的处理状态。 - 参数:2级数据的ID、文件类型、处理状态、批次ID。 - 返回值:操作结果对象。 5. **write** - 功能:将本地的2级数据文件写入到DFS中。 - 参数:本地文件路径或文件对象、模块ID、2级数据的ID、文件类型、文件名、管线ID、构建号、0级数据的ID、1级数据的ID、数据集名称、批次ID、QC2状态等。 - 返回值:操作的结果对象。 6. **catalog_query** - 功能:查询2级数据的星表数据。 - 参数:SQL查询语句,limit参数限制查询结果的数量。 - 返回值:查询结果对象, result.data为pd.DataFrame。 ## 使用示例 ### 1. 搜索2级数据文件记录 ```python # 搜索2级数据文件记录 result = level2.find(obs_id='some_obs_id', data_type='csst-msc-l2-mbi' module_id='MSC', page=1, limit=10) print(result) # result.data为list类型,包含2级数据文件记录列表 ``` ### 2. 通过ID查询2级数据 ```python from csst_dfs_client import level2 result = level2.find_by_level2_id(level2_id='some_level2_id') print(result) # result.data为list类型,包含2级数据文件记录列表 ``` ### 3. 更新2级数据的QC2状态 ```python from csst_dfs_client import level2 result = level2.update_qc2_status(level2_id='some_level2_id', data_type='SCI', qc2_status=1, batch_id='some_batch_id') print(result) ``` ### 4. 更新2级数据的处理状态 ```python from csst_dfs_client import level2 result = level2.update_prc_status(level2_id='some_level2_id', data_type='SCI', prc_status=1, batch_id='some_batch_id') print(result) ``` ### 5. 将本地文件写入DFS ```python from csst_dfs_client import level2 # 将本地的2级数据文件写入到DFS中 local_file_path = '/path/to/your/level2_data.fits' module_id = 'MSC' level2_id = 'some_level2_id' file_type = 'SCI' file_name = 'level2_data.fits' pipeline_id = 'some_pipeline_id' build = 1 level0_id = 'some_level0_id' level1_id = 'some_level1_id' dataset = 'default_dataset' batch_id = 'default_batch_id' qc2_status = 0 result = level2.write(local_file_path, module_id, level2_id, file_type, file_name, pipeline_id, build, level0_id, level1_id, dataset, batch_id, qc2_status) print(result) ``` ### 6. 查询2级数据的星表数据 ```python from csst_dfs_client import level2 data_type = 'csst-msc-l2-mbi-cat' table_name = data_type.replace('-', '_') sql_query = f"SELECT * FROM {table_name}" result = level2.catalog_query(sql_query, limit=10) print(result) # result.data为pd.DataFrame类型,包含查询结果 ``` - [其他接口](./usage.md)