基于arcpro3.0.2的北斗网格生成简介
基于arcpro3.0.2的北斗网格生成简介
采用2000坐标系、可基于行政区范围
软件可生成第一级到第十级北斗网格经纬跨度 等分 约赤道处距离
第一级 6X4度 60 和A~V 660 km
第二级 30X30分 12X8 55.66 km
第三级 15X10分 2X3 27.83 km
第四级 1X1分 15X10 1.85 km
第五级 4X4秒 15X15 123.69 m
第六级 2X2秒 2X2 61.84 m
第七级 1/4 X 1/4秒 8X8 7.73 m
第八级 1/32 X 1/32秒 8X8 0.97 m
第九级 1/256 X 1/256秒 8X8 12.0 cm
第十级 1/2048 X 1/2048秒 8X8 1.5 cm
public static string GetNewBDBM(double B, double L, int Level)
{List<string> code = new List<string>();double pre_a = 0; //上一级行号double pre_b = 0; //上一级列号double pre_Q = 0; //上一级确定角点纬度值double pre_Y = 0; //上一级确定角点经度值double pre_dB = 0; //上一级经差double pre_dL = 0; //上一级纬差//本级变量double dB = 0, dL = 0;int a = 0, b = 0;double Q = 0, Y = 0;//BL点 转为度for (int i = 1; i <= Level; i++){if (i == 1){ //第一层 1:100万 GetDetaB_detaL(i, ref dB, ref dL); //获取本级经纬差值// string bit_1 = "N"; //我国位于北半球=N, 南半球=Sif (B >= 0){ //B=ybit_1 = "N";}else{bit_1 = "S";}//a = getInt(Math.Floor(Math.Abs(B) / dB)) + 1; //商取整【B/4】+1 b = getInt(Math.Floor(L / dL)) + 31; //商取整【L/6】+31 //修正b值b = Math.Abs(b); if (b<0) b = 1;if (b > 59) b = 60;//修正a值if (a > 22) a = 22;//string bit_23 = b.ToString().PadLeft(2, '0'); //补足2位01-60string bit_4 = Get100W_WeiD_bit_1(Math.Abs(a).ToString());//生成北斗码code.Add(bit_1 + bit_23 + bit_4); //N45A//==记录历史行列号和确定角点经纬度坐标值pre_a = a;pre_b = b;pre_Q = 0; //全球赤道0度点pre_Y = 0; //全球赤道0度点pre_dB = dB;pre_dL = dL;//==}else if (i == 2){GetDetaB_detaL(i, ref dB, ref dL); //获取本级经纬差值//获取上一级网格层的确定角点经纬度坐标值Q = pre_Q + (pre_b - 31) * pre_dL;Y = pre_Y + (pre_a - 1) * pre_dB;//获取此点在本级网格层的行列号 a = getInt((L - Q) / dL) + 1;b = getInt((B - Y) / dB) + 1;//生成北斗码code.Add(fixRowColNum15(a - 1));code.Add(fixRowColNum15(b - 1));//==记录历史行列号和确定角点经纬度坐标值pre_a = a;pre_b = b;pre_Q = Q; //全球赤道0度点pre_Y = Y; //全球赤道0度点pre_dB = dB;pre_dL = dL;//==}else if (i == 3){GetDetaB_detaL(i, ref dB, ref dL); //获取本级经纬差值//获取上一级网格层的确定角点经纬度坐标值Q = pre_Q + (pre_a - 1) * pre_dL;Y = pre_Y + (pre_b - 1) * pre_dB;//获取此点在本级网格层的行列号 a = getInt((L - Q) / dL) + 1;b = getInt((B - Y) / dB) + 1;//生成北斗码 (Z序列)//code.Add(fixRowColNum15(a - 1));//code.Add(fixRowColNum15(b - 1));code.Add(fixRowColZorder(a, b));//==记录历史行列号和确定角点经纬度坐标值pre_a = a;pre_b = b;pre_Q = Q; //全球赤道0度点pre_Y = Y; //全球赤道0度点pre_dB = dB;pre_dL = dL;//==}else if (i >= 4 && i <= 5){GetDetaB_detaL(i, ref dB, ref dL); //获取本级经纬差值//获取上一级网格层的确定角点经纬度坐标值Q = pre_Q + (pre_a - 1) * pre_dL;Y = pre_Y + (pre_b - 1) * pre_dB;//获取此点在本级网格层的行列号 a = getInt((L - Q) / dL) + 1;b = getInt((B - Y) / dB) + 1;//生成北斗码code.Add(fixRowColNum15(a - 1));code.Add(fixRowColNum15(b - 1));//==记录历史行列号和确定角点经纬度坐标值pre_a = a;pre_b = b;pre_Q = Q; //全球赤道0度点pre_Y = Y; //全球赤道0度点pre_dB = dB;pre_dL = dL;//==}else if (i == 6){GetDetaB_detaL(i, ref dB, ref dL); //获取本级经纬差值//获取上一级网格层的确定角点经纬度坐标值Q = pre_Q + (pre_a - 1) * pre_dL;Y = pre_Y + (pre_b - 1) * pre_dB;//获取此点在本级网格层的行列号 a = getInt((L - Q) / dL) + 1;b = getInt((B - Y) / dB) + 1;//生成北斗码 (Z序列)//code.Add(fixRowColNum15(a - 1));//code.Add(fixRowColNum15(b - 1));code.Add(fixRowColZorder(a, b));//==记录历史行列号和确定角点经纬度坐标值pre_a = a;pre_b = b;pre_Q = Q; //全球赤道0度点pre_Y = Y; //全球赤道0度点pre_dB = dB;pre_dL = dL;//==}else if (i >= 7 && i <= 10){GetDetaB_detaL(i, ref dB, ref dL); //获取本级经纬差值//获取上一级网格层的确定角点经纬度坐标值Q = pre_Q + (pre_a - 1) * pre_dL;Y = pre_Y + (pre_b - 1) * pre_dB;//获取此点在本级网格层的行列号 a = getInt((L - Q) / dL) + 1;b = getInt((B - Y) / dB) + 1;//生成北斗码code.Add(fixRowColNum15(a - 1));code.Add(fixRowColNum15(b - 1));//==记录历史行列号和确定角点经纬度坐标值pre_a = a;pre_b = b;pre_Q = Q; //全球赤道0度点pre_Y = Y; //全球赤道0度点pre_dB = dB;pre_dL = dL;//==}}string buf = "";for (int i = 0; i < code.Count; i++){buf += code[i];}return buf;
}
本blog地址:https://blog.csdn.net/hsg77
相关文章:

基于arcpro3.0.2的北斗网格生成简介
基于arcpro3.0.2的北斗网格生成简介 采用2000坐标系、可基于行政区范围 软件可生成第一级到第十级北斗网格经纬跨度 等分 约赤道处距离 第一级 6X4度 60 和A~V 660 km 第二级 30X30分 12X8 …...
网络流算法:最大流问题
引言 最大流问题是网络流中的一个经典问题,其目标是在给定的流网络中找到从源点到汇点的最大流量。最大流问题在交通运输、计算机网络、供应链管理等领域有广泛的应用。本文将详细介绍最大流问题的定义、解决方法以及具体算法实现。 目录 最大流问题的定义Ford-F…...
C++从入门到入土(四)--日期类的实现
目录 前言 日期类的实现 日期的获取 日期的比较 const成员函数 日期的加减 日期的加等 日期的减等 日期的加减 日期的加加减减 日期的相减 流插入和提取的重载 友元 友元的特点 日期类代码 总结 前言 前面我们介绍了C中类和对象的相关知识和六个默认成员函数&…...

【香橙派系列教程】(七)香橙派下的Python3安装
【七】香橙派下的Python3安装 为接下来的Linux图像识别智能垃圾桶做准备。 图像处理使用京东SDK只支持pyhton和Java接口,目的是引入C语言的Python调用,感受大厂做的算法bug 此接口是人工智能接口,京东识别模型是通过训练后的模型,…...
贝叶斯优化算法(Bo)与门控循环单元(GRU)结合的预测模型(Bo-GRU)及其Python和MATLAB实现
### 背景 随着时间序列数据在各个领域(如金融、气象、医疗等)应用的日益广泛,如何准确地预测未来的数据点成为了一个重要的研究方向。长短期记忆网络(LSTM)和门控循环单元(GRU)作为深度学习模型…...

人工智能时代,程序员当如何保持核心竞争力?
目录 前言 一.AI辅助编程对程序员工作的影响 二.程序员应重点发展的核心能力 三.人机协作模式下的职业发展规划 结束语 前言 随着AIGC(如chatgpt、midjourney、claude等)大语言模型接二连三的涌现,AI辅助编程工具日益普及,程序…...

LMDrive 端到端闭环自动驾驶框架
LMDrive,一种新颖的语言引导的端到端闭环自动驾驶框架。LMDrive独特地处理和整合多模态传感器数据与自然语言指令,使车辆能够在现实的指令设置中与人类和导航软件进行交互。 LMDrive由两个主要部分组成: 1)一个视觉编码器&#x…...
P2045 方格取数加强版
Description 给定一个 n n n \times n nn 的矩阵,从左上角出发,可以往右或者往下走,每到达一个方格,就取走上面的数(取过后格子上的数会清零),一共要走 k k k 次,求取到的数之和…...
【Bigdata】OLAP的衡量标准
这是我父亲 日记里的文字 这是他的生命 留下留下来的散文诗 几十年后 我看着泪流不止 可我的父亲已经 老得像一个影子 🎵 许飞《父亲写的散文诗》 OLAP(联机分析处理)系统的衡量标准主要集中在以下几个方面:…...

关于DDOS攻击趋势及防护措施
随着互联网技术的飞速发展,网络安全问题日益成为企业不可忽视的重要议题。分布式拒绝服务(DDoS)攻击作为其中的典型代表,以其强大的破坏力和难以防范的特性,给企业的网络安全带来了巨大挑战。今天我们就来了解下当前DD…...
Apache Flink:一个开源流处理框架
文章目录 引言官网链接Flink 原理概述核心概念 基础使用环境搭建编写 Flink 程序注意事项 高级使用窗口操作状态后端复杂事件处理(CEP)与 Kafka 集成 优点结论 引言 Apache Flink 是一个开源流处理框架,专为高吞吐量、低延迟的实时数据处理设…...

Nginx 学习笔记
1. Nginx简介 Nginx 是一个高性能的Http和反向代理服务器。也是一个IMAP/POP3/SMTP等邮件代理服务器。 特点: 占有内存少并发能力强安装非常的简单配置文件非常简洁(还能够支持perl语法)Bug非常少启动特别容易,并且几乎可以做到…...

软甲测试定义和分类
软件测试定义 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验他是否满足规定的需求或弄清预期结果与实际结果之间的差别 软件测试目的 为了发现程序存在的代码或业务逻辑错误 – 第一优先级发现错误为了检验产品是否符合用户需求 – 跟用户要求实…...

Vue 3+Vite+Eectron从入门到实战系列之(二)一Elementplus及VueRouter的配置
为了后续开发方便,在没有 UI 设计师配合的情况下,让我们的界面更加美观,我们使用 elementplus 组件库,并配置路由。 删除不需要的默认文件夹及文件,src 配置如下 实现效果 安装 elementplus,vue-router npm install element-plus --save npm install vue-router --save在…...

STL-list
1.list 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。 3. l…...
2024 7.29~8.4 周报
一、上周工作 2024 7.22~7.28周报-CSDN博客 二、本周计划 修改论文 三、完成情况 3.1 论文修改 3.1.1 摘要 问题:所写问题是一般性的深度网络问题(过拟合),并没有针对FWI的问题(边缘不清晰、深层不清晰、速度慢…...

随身助手271个可用api接口网站php源码(随身助手API)
源码简介: 随身助手API,本次更新了271个可用接口,现在开源给大家使用,无后门无加密,放心使用。 {“标题”:”看图猜成语接口”,”小标题”:”随身助手API”,”地址”:”tianyi/LookIdiom.php”,”状态”:”正常”} {…...

珠江电缆,顺应全球变化,实现高质量出海
在全球经济快速变化的今天,越来越多的企业将目光投向了国际市场。特别是对于线缆行业来说,顺应全球变化、应对机遇与挑战,实现高质量出海已成为长期发展的战略目标之一。珠江电缆作为一家集研发、制造和销售为一体的大型专业电线电缆企业&…...

redis面试(四)持久化
什么是持久化? 由于redis是基于内存操作的轻量型数据库,所以如果发生宕机重启这种事情,存储的数据就会直接丢失,如果在里面存储了没有备份的数据,那么确实会对我们的业务造成一定影响。 所以我们要通过持久化的手段&a…...
构建数据桥梁:Pandas如何简化API到DataFrame的转换
在数据科学的广阔天地中,API如同一把钥匙,为我们打开了通往丰富数据资源的大门。无论是追踪最新的股市动态,还是分析社交媒体趋势,API都能提供我们需要的实时数据。今天,我们将一起探索如何利用Python的pandas库&#…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...