首页 > 其他分享 >使用IDL进行氚羽流监测(五)——绘制污染物扩散带等值线图

使用IDL进行氚羽流监测(五)——绘制污染物扩散带等值线图

时间:2024-02-05 17:56:31浏览次数:21  
标签:等值线图 数据 创建 T3 IDL 羽流 csv ASCII

此项部分研究内容是确定氚污染带的当前范围和预测其未来范围。文件 "MonitoringWells.csv" 包含了氚浓度的当前数值(T0)以及使用算法模拟的未来不同时间点的氚浓度数据。在本示例中,使用对应于2030年的污染带范围的 T3 列数据。

使用文件 "MonitoringWells.csv" 和 "TankTerrainData.csv" 中的数据,创建地形等高线图,以显示模拟的2030年氚羽流的范围。

读入地形和羽流数据并对其进行网格化

首先读取地形和羽流数据文件。地形数据位于 IDL 安装目录中 \examples\data 目录下的 TankTerrainData.csv 文件中。此数据包含研究区域的地表地形数据,以 X、Y、Z 坐标表示(均以米为单位),第四列包含了底部含水层表面的海拔高度。第二个文件 ("MonitoringWells.csv") 包含了研究区域在四个不同时间点(T0=当前,T1=2020,T2=2025,T3=2030)的氚浓度数据。

在这个示例中,我们使用 ASCII_TEMPLATE 创建模板,然后使用 READ_ASCII 读取数据。

; 确保数据从第 2 行开始

; (第 1 行为标题行)。

; 创建基本模板并手动指定 X、Y、Z和 AQ 作为变量名。

myTemplate = ASCII_TEMPLATE(FILEPATH('TankDataTerrain.csv', $

  SUBDIRECTORY=['examples', 'data']))

site = READ_ASCII(FILEPATH('TankDataTerrain.csv', $

  SUBDIRECTORY=['examples', 'data']),TEMPLATE=myTemplate)




; 使用克里金法对地形数据进行网格化

grid = GRIDDATA(site.X, site.Y, site.Z, $

   DIMENSION=1000, METHOD="Kriging")




; 创建模板并读入羽流数据。

; 手动指定:Field1=Labels, Field2=X, Field3=Y, Field4=T0,; Field5=T1, Field6=T2, Field7=T3.

myTemplate2 = ASCII_TEMPLATE(FILEPATH('MonitoringWells.csv', $

  SUBDIRECTORY=['examples', 'data']))

wells = READ_ASCII(FILEPATH('MonitoringWells.csv', $

  SUBDIRECTORY=['examples', 'data']), $

   TEMPLATE=myTemplate2)




; 对 T3 的羽流数据进行网格化。

gridT3 = GRIDDATA(wells.X, wells.Y, wells.T3/27, $

   DIMENSION=1000, METHOD="Kriging")

创建等高线图

首先创建等高线图。然后,我们将在其上叠加氚羽流的等值线,然后使用散点图来标示储罐位置。

请注意,等高线从 445 开始与河流的水位一致,并在生成的地图中显示为白色区域。

; 创建一个颜色表变量。使用REVERSE关键字

; 使用 #74号颜色表作为 COLORTABLE 函数的关键字

; 翻转颜色,使较深的颜色在地形较低的地区。

 myCT = COLORTABLE(74, /REVERSE)




; 设置索引变量来保存轮廓级别。

; 从网格数据创建等高线图。

index = [445,450,460,470,480,490,500,510,520,530, $

   540,550,560,570,580]

myContour = CONTOUR(grid, RGB_TABLE=myCT, $

   C_VALUE=index, ASPECT_RATIO=.75, /FILL, $

   TITLE="氚污染2030年模拟扩散带", $

   XTITLE="Meters (x10)", YTITLE="Meters (x10)" , $

      font_name = 'Microsoft Yahei')

myContour2 = CONTOUR(grid, COLOR='black', $

   C_VALUE=index, ASPECT_RATIO=.75, /OVERPLOT)

创建氚羽流等值线并标注储井位置

创建 T3 (2030) 的模拟氚羽流范围。

; 设置井位置的变量。

; 井的位置使用与我们初始地形的 (x, y) 坐标相同的坐标系。

xLoc = [66,276,566,471,484]

yLoc = [210,221,146,483,313]




; 设置用于轮廓的颜色。

colors = ['indigo','purple','medium violet red','medium orchid', $

   'hot pink','fuchsia','deep pink']




; 创建第二个索引变量来保存轮廓级别

; 然后创建模拟的氚羽流范围。

index2 = [740,3703,7407,18518,37037,55555,74074]

myContourT3 = CONTOUR(gridT3, ASPECT_RATIO=.75, C_LABEL_INTERVAL=0.75, $

   C_VALUE=index2, C_LABEL_SHOW=1, C_COLOR=colors, /OVERPLOT)




; 在窗口的右下角添加注释。

; 使用相对坐标。

areaText2 = TEXT(1, -.1, TARGET=myContour2, /RELATIVE, $

   '氚浓度(Bq/L)', ALIGNMENT=1, $

   COLOR='black', FONT_SIZE=8, FONT_STYLE='italic', $

      font_name = 'Microsoft Yahei')




; 绘制储井的位置。

tanks = SCATTERPLOT(xLoc, yLoc, /SYM_FILLED, SYMBOL='star', $

   SYM_COLOR='red', /OVERPLOT, /DATA)

标签:等值线图,数据,创建,T3,IDL,羽流,csv,ASCII
From: https://www.cnblogs.com/enviidl/p/18008568

相关文章

  • 使用IDL进行氚羽流监测(四)——绘制预期氚衰变图
    这项研究的部分内容包括确定储罐/井中氚的预期衰变率,假设储罐保持完好并且没有氚泄漏到周围的沉积物中。根据这些假设,储罐中的氚浓度要多久才能低于《核电厂放射性液态流出物排放技术要求》(GB14587-2011)中要求的排放口下游1km处受纳水体中H-3浓度不能超过100Bq/L的标准?本例计算......
  • 定义HarmonyOS IDL接口
    HarmonyOSIDL简介HarmonyOSInterfaceDefinitionLanguage(简称HarmonyOSIDL)是HarmonyOS的接口描述语言。HarmonyOSIDL与其他接口语言类似,通过HarmonyOSIDL定义客户端与服务端均认可的编程接口,可以实现在二者间的跨进程通信(IPC,Inter-ProcessCommunication)。跨进程通信意味着......
  • AIDL与HIDL
    AIDL:AndroidInterfaceDefinitionLanguage,即Android接口定义语言。用来定义Android基于Binder通信的Client和Service之间的接口。即负责App之间通信,App与Framework通信。HIDL:HAL(HardwareAbstractLayer)interfacedefinitionlanguage,即HAL接口定义语言。用来定义An......
  • 为什么"idle_session_timeout"的设置可能是个坏主意?
    PostgreSQL14引入了参数idle_session_timeout,新参数让DBA可以轻松清除所有空闲连接。问题在于它可能造成的附带损害。 导致与连接有关的故障的常见因素1.不受限制的连接设置:max_connections和每个用户限制等连接设置会使系统遭受恶意拒绝服务(DoS)攻击。这些攻击会迅速......
  • 基于 Aidlux的智慧教育版面分析场景下的实践
    基于Aidlux的智慧教育版面分析场景下的实践基于Aidlux的智慧教育版面分析应用一、Aidlux环境介绍所有代码均可通过加课程小助手wx获得:AidLux_Me官网:https://aidlux.com/1.产品优势AidLux是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIoT应用快速开发和部署平台APP。......
  • 使用IDL进行氚羽流监测(三)——绘制含水层相对流速
    本文我们将介绍描述研究区的另一个特征:研究区域含水层的相对流速。本例使用GRIDDATA和CONTOUR生成基础地形图,并在其上绘制含水层流速的矢量图。将地形数据网格化使用文件"TankDataTerrain.csv"中的数据(可参阅"对研究区域和环境进行建模"一文),绘制地形等高线图,作为流向矢......
  • 基于Aidlux平台的智能版面分析
    版面分析是将文档图像进行文档对象识别并判断各区域所属类别,如配图、表格、公式、分栏等,并对不同类型的区域进行切分、识别。后面的工作是实现包括组卷、以题搜题、文档电子化存储、结构化解析等功能。版面分析的背景介绍:目标:图像版面分析任务拆解:PDF转Word:本实战采用CDLA数据集(A......
  • 解释cmd命令 idle test.py
    在Windows的命令行(CMD)中,idletest.py是一个用来打开并编辑名为test.py的Python文件的命令¹。这里的idle是Python自带的集成开发环境(IntegratedDevelopmentandLearningEnvironment)的简称¹。当你在命令行中输入idletest.py并按下回车键,系统会使用IDLE打开test......
  • QGridLayout使用
    一、概述使用QGridLayout制作一个九宫格,如下图: 二、代码示例#include"GridLayoutExampleWindow.h"GridLayoutExampleWindow::GridLayoutExampleWindow(QWidget*parent):QWidget(parent){this->setWindowTitle("网格布局");this->setFixedSize(......
  • Oracle12c新增max_idle_time参数的学习与感触
    Oracle12c新增max_idle_time参数的学习与感触TLDR其实任何软件出了新版本.readme是很重要的.尤其是数据库,涉及到底层问题的.比如这次遇到的Oracle的max_idle_time参数,以及前几天遇到的Mysql的新增的parallel关键字.自己之前的积累可能是一盏明灯,也可能是一堵墙.......