构造分钟降水R01文件

news2025/1/19 8:10:52

格式为:四川省降水强度数据集

目的:主要练习提取降水强度,而创建随机的分钟降水文件。

处理:

雨量筒降水不需要,统一处理为666666。

无降水与缺测(标志2,3)增加出现概率,以符合正常情况,同时两种不同标志不能相邻同时出现。

        private static void Main(string[] args)
        {
            string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "R01.txt");
            StringBuilder sb = new StringBuilder();

            //创建开始与结束日期
            DateTime startDay = new DateTime(2001, 1, 1, 20, 1, 0);//气象日,日界20时,20:01-20:00为一天
            DateTime endDay = new DateTime(2001, 12, 31, 20, 0, 0);

            DateTime curDay = startDay.Date;
            Random r = new Random();
            int pre = r.Next(100);//先产生一个,后面产生的比较与之不同
            if (pre > 80) pre = 3;
            else if (pre > 6) pre = 2;
            int z;

            while (curDay <= endDay.Date)
            {
                //设置一天的时间段 20:01-20:00
                DateTime curTime = new DateTime(curDay.Year, curDay.Month, curDay.Day, 20, 1, 0);
                DateTime endTime = curTime.AddDays(1).AddMinutes(-1);
                sb.Append($"{curDay:yyyy MM dd} 1 666666 ");

                while (curTime <= endTime)
                {
                    do
                    {
                        z = r.Next(100);//种类
                        if (z > 80) z = 3;
                        else if (z > 6) z = 2;
                    } while (pre == z);
                    pre = z;//生成z  数据段的开始,=0,1正常,=2无降水,=3缺测,=5正常,=6翻斗式。
                    sb.Append(z + " ");
                    sb.Append(curTime.ToString("HHmm "));// 生成 t1t1t1t1
                    TimeSpan ts = endTime - curTime;//19:55-20:00 55-60共6分钟,但差值是5
                    int ts1 = (int)ts.TotalMinutes;//5
                    int len;         //产生原剩余分钟数2倍的随机数 ,为的是尽快结束
                    if (z == 2 || z == 3) len = r.Next(2 * ts1) + 10;
                    else len = r.Next(ts1 / 2) + 10;
                    Console.WriteLine(curTime.ToString("yyyyMMdd hh:mm ") + z.ToString());
                    if (z == 2 || z == 3)//缺测无降水情况
                    {
                        if (len < ts1)//4<5
                        {
                            curTime = curTime.AddMinutes(len);
                            sb.Append(curTime.ToString("HHmm "));
                        }
                        else
                        {
                            sb.AppendLine(endTime.ToString("HHmm"));
                            break;
                        }
                    }
                    else
                    {
                        //19:55-20:00  ts1=5实际为6分钟
                        if (len < ts1)//3<5
                        {
                            curTime = curTime.AddMinutes(len);
                            sb.Append(curTime.ToString("HHmm "));
                            for (int i = 0; i < len; i++)
                            {
                                sb.Append(r.Next(1, 200).ToString("000 "));//0.01mm
                            }
                        }
                        else
                        {
                            sb.Append(endTime.ToString("HHmm "));
                            for (int i = 0; i < ts1 + 1; i++)//5:0-4   6:0-5=>55-60
                            {
                                sb.Append(r.Next(1, 200).ToString("000 "));
                            }
                            sb.Remove(sb.Length - 1, 1);//删除多余空格,添加回车
                            sb.AppendLine();
                            break;
                        }
                    }
                }
                curDay = curDay.AddDays(1);
            }
            File.WriteAllText(filePath, sb.ToString(), Encoding.UTF8);
        }

结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1458294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

.NET 9 首个预览版发布:瞄准云原生和智能应用开发

前言 前不久.NET团队发布了.NET 9 的首个预览版&#xff0c;并且分享.NET团队对 .NET 9 的初步愿景&#xff0c;该愿景将于今年年底在 .NET Conf 2024 上发布。其中最重要的关注领域是&#xff1a;云原生和智能应用开发。 云原生开发人员平台 过去几年&#xff0c;.NET团队一…

在四维轻云中,如何实现地理空间数据云管理?

四维轻云是一款轻量化的地理空间数据网页管理平台&#xff0c;支持倾斜模型(.osgb)、激光点云(.las)、正射影像(dom)和数字高程模型(dem)等多种地理空间数据的在线管理、编辑及分享&#xff0c;其他类型地理空间数据也将陆续上线。 目前&#xff0c;平台具有项目管理、数据上传…

苹果打破App Store垄断,允许第三方应用商店存在 /马斯克的Neuralink首次成功植入芯片 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件&#x1f525;&#xff0c;更新AIGC的最新动态&#xff0c;生成相应的魔法简报&#xff0c;节省阅读时间&#x1f47b; &#x1f525;资讯预览 苹果打破App Store垄断&#xff0c;允许第三方应用商店存在&#xff0c;但开…

关于SQL的各种Join你知道多少?

SQL中的 join&#xff0c;无外乎 inner join、outer join 以及 cross join&#xff0c;而 inner join 其实就是我们熟知的 join&#xff0c;outer join 其实就是 left outer join、right outer join 和 full outer join。 inner join 通过连接键列中的值进行匹配&#xff0c;…

深入浅出JVM(二)之运行时数据区和内存溢出异常

Java虚拟机在运行Java程序时,把所管理的内存分为多个区域, 这些区域就是运行时数据区 运行时数据区可以分为:程序计数器,Java虚拟机栈,本地方法栈,堆和方法区 程序计数器 Program Counter Register 程序记数寄存器 什么是程序计数器? 程序计数器是一块很小的内存,它可以当作…

LeetCode 0589.N 叉树的前序遍历:深度优先搜索(DFS)

【LetMeFly】589.N 叉树的前序遍历&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/n-ary-tree-preorder-traversal/ 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表…

灵活的数据权限思路

1、 前言 我一年java&#xff0c;在小公司&#xff0c;当前公司权限这块都没有成熟的方案&#xff0c;目前我知道权限分为功能权限和数据权限&#xff0c;我不知道数据权限这块大家是怎么解决的&#xff0c;但在实际项目中我遇到数据权限真的复杂&#xff0c;你永远不知道业主…

扫盲:什么是webGPU,和webGL对比哪些优点?

web端的3D图像渲染&#xff0c;大都采用webGL&#xff0c;不过其性能让大家很崩溃&#xff0c;webGPU的出现&#xff0c;让大家看到了访问加速的可能&#xff0c;本文通过对比webGPU与webGL&#xff0c;给老铁们普及一下。老铁们如有数据可视化的设计和开发需求&#xff0c;可以…

【Linux取经路】文件系统之重定向的实现原理

文章目录 一、再来理解重定向1.1 输出重定向效果演示1.2 重定向的原理1.3 dup21.4 输入重定向效果演示1.5 输入重定向代码实现 二、再来理解标准输出和标准错误2.1 同时对标准输出和标准错误进行重定向2.2 将标准输出和标准错误重定向到同一个文件 三、再看一切皆文件四、结语 …

代码随想录算法训练营day17||二叉树part04、110.平衡二叉树 、257. 二叉树的所有路径 、404.左叶子之和

注意&#xff1a;迭代法&#xff0c;可以先过&#xff0c;二刷有精力的时候 再去掌握迭代法。 110.平衡二叉树 &#xff08;优先掌握递归&#xff09; 再一次涉及到&#xff0c;什么是高度&#xff0c;什么是深度&#xff0c;可以巩固一下。 题目&#xff1a;给定一个二叉树&am…

Error creating bean with name ‘formContentFilter‘ defined in class path

问题描述 运行之前能正常的项目出现以上报错&#xff0c;提示创建“formContentFilter”时错误&#xff1b;org.springframework.boot版本2.4.8 org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name formContentFilter define…

Hadoop-Yarn-调度器总结

一、Yarn有哪些调度器 在cdh中Yarn组件中查看配置如下&#xff1a; 可以看到Yarn有三种调度器&#xff0c;分别是FairScheduler、FifoScheduler、CapacityScheduler&#xff0c;它们都是Hadoop的一个可插入调度器。 cdh默认的调度器是FairScheduler&#xff0c;hadoop默认的调…

Process Explorer下载安装使用教程(图文教程)超详细

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 Process Explore 是微软的一款「进程资源管理器」&#xff0c;比Windows系统自带的任务管…

2024年最适合计算机专业看的三部电影

2024年最适合计算机专业看的三部电影 计算机专业必看的几部电影&#xff0c;我推荐的三部电影&#xff0c;分别是&#xff1a;黑客帝国4&#xff1a;矩阵重启、沙丘2和头号玩家。 其中《沙丘2》2024-03-08上映。 1. 黑客帝国4&#xff1a;矩阵重启 (2021年上映) 为什么推荐…

高效Excel操作:Python开发者的指南

高效Excel操作&#xff1a;Python开发者的指南 引言Python与Excel交互的基础知识选择合适的库安装Python库 安装与设置1. 安装openpyxl2. 安装xlrd和xlwt3. 安装pandas4. 安装xlsxwriter环境验证 读取Excel文件使用openpyxl读取xlsx文件使用xlrd读取xls文件使用pandas读取Excel…

安全名词解析-攻防演练

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 攻防演练 01 攻防演练 《网络安全法》中明确提出&#xff0c;“定期组织关键信息基础设施的运营者进行网络安全应急演练&#xff0c;提高应对网络安全事件的水平和协同配合能力。”攻防演练目前已经…

maven异常记录-must be unique

maven 打包异常记录 我们可以看看一个重要的异常&#xff1a; dependencies.dependency.(groupId:artifactId:type:classifier) must be unique: org.springframework.boot:spring-boot-starter-test 经过检查pom文件 果然是spring-boot-starter-test引用重复&#xff0c;平…

使用阿里云发送短信

使用阿里云短信服务有两种方式 API 发送和 控制台发送&#xff0c;控制台发送到话有太多限制&#xff0c;这里我们使用API 通过 调用服务端代码进行发送。 整体结构如下&#xff1a; 导入依赖 <!--阿里云短信发送--><dependency><groupId>com.aliyun<…

TrueNAS磁盘扩容(VDEV 和 RAID 技术)

目录 背景扩容前准备扩容有风险安装新的硬盘到卡槽扩容测试一个VDEV两个VDEV 正式扩容关于Raid总结 背景 这几天将原来windows服务器上的文件拷贝到新做好的TrueNAS上&#xff0c;发现磁盘满了&#xff0c;服务器上还有硬盘卡槽&#xff0c;就新买了12块盘&#xff0c;准备扩容…

人工智能|深度学习——基于对抗网络的室内定位系统

代码下载&#xff1a; 基于CSI的工业互联网深度学习定位.zip资源-CSDN文库 摘要 室内定位技术是工业互联网相关技术的关键一环。该技术旨在解决于室外定位且取得良好效果的GPS由于建筑物阻挡无法应用于室内的问题。实现室内定位技术&#xff0c;能够在真实工业场景下实时追踪和…