当前位置: 首页 > news >正文

基于ArcGIS实现陕西省1:250000比例尺地形图分幅和编号

1地形图的分幅与编号原理

我国1:1000000地形图的分幅采用国际1:1000000地图分幅标准,而其他比例尺地形图分幅以1:1000000比例尺地形图为基准进行分幅。每幅1:1000000地形图范围是经差6°、纬差4°;纬度60°~ 76°之间经差12°、纬差4°;纬度76°~ 88°之间经差24°、纬差4°。我国经纬度范围为:经度73.33°~135.05°, 纬度3.51°~53.33°,纬度60°以上没有需要合幅的图幅。

我国1:1000000地形图分幅如下:

在这里插入图片描述

1:1000000地形图编号:从赤道起算,每纬差4°为一行至南、北纬88°各分为22行依次用大写字母(字符码)ABC……V表示其行号:从180°经线起算,自西向东每经差6°为一列,全球分为60列,依次用阿拉伯数字(数字码)123……60表示列号。国际编号中第一位表示南、北半球,用“N”、“S”分别表示北半球、南半球。我国范围全部位于赤道以北,省略字母代码N。

我国图幅范围在经度72°~138°, 纬度0°~ 56°,包括行号A~ N共14行,列号43~53共11列。1:1000000地形图编号见图1。

1:500000~1:5000地形图的分幅均以1:1000000地形图为基础,按照规定的经差和纬差进行划分图幅,地形图的图幅范围、行列数和图幅数量关系如下图所示。
在这里插入图片描述
1:500000~ 1:5000地形图的编号均以1:1000000地形图编号为基础,采用行列编号方法。1:500000~ 1:5000地形图的图号由其所在1:1000000地形图的图号、比例尺代码和各图幅的行列号共十位码组成。1:500000~1:5000地形图编号的组成如图3所示。

在这里插入图片描述

1:1000~1:500地形图编号的组成如图6所示,图幅的行列号由3位变成了4位。

在这里插入图片描述

1:500000~1:5000各比例尺地形图比例尺代码如下表所示。
在这里插入图片描述

1:500000~1:5000各比例尺地形图行列号是将1:1000000地形图按所含各比例尺地形图的经差和纬差划分若干行和列,横行从上到下、纵行从左到右按顺序用数字表示,不足3位的前面补零。

例如如下图所示:1:1000000比例尺某图幅编号为M43,包含了4幅1:500000地形图,右下角图幅的编号为M43B002002。

在这里插入图片描述

以上主要介绍的是经纬度分幅和编号方法,其他如正方形、矩形分幅和编号方法此处不再赘述,感兴趣的可查阅国家标准GB/T13989-2012《国家基本比例尺地形图分幅和编号》。

2ArcGIS实现地形图分幅和编号

我们以陕西省行政区范围为例,基于ArcGIS实现1:250000地形图分幅和编号,并生成图幅结合表数据。

地形图分幅步骤:

1.首先在ArcMap中加载陕西省行政区划shp数据,并查看经纬度范围。

在这里插入图片描述

查看可知陕西省经纬度范围为经度105.49°~ 111.24°、纬度31.71°~39.58°。

在这里插入图片描述

2.按照数据经纬度范围,计算1:1000000地形图图幅号。

西南角:

a=[φ/4°]+1=[31.71/4]+1=7+1=8,

b=[λ/6°]+31=[105.49/6]+31=17+31=48,

东北角:

a=[φ/4°]+1=[39.58/4]+1=9+1=10,

b = [λ/6°]+31=[111.24/6]+31=18+31=49,

经过计算可知1:1000000比例尺西南角图号为H48、东北角图号为J49,1:1000000比例尺陕西省共涉及3行2列共6幅图,图号分别为H48、H49、I48、I49、J48、J49,图幅对应经度范围为102°~ 114°,纬度范围为28°~40°。

3.按照经纬度范围比例尺创建渔网。

在ArcGIS中,点击工具箱,依次点击【数据管理工具】->【要素类】->【创建渔网】。

按照规定,每幅1:1000000地形图划分为4行4列共16幅1:250000地形图,陕西省共涉及3行2列共6幅1:1000000地形图,因此1:250000地形图共划分为3x4=12行、2x4=8列共96幅图。

在创建渔网工具参数中依次设置输出路径、经纬度范围、行列数,并设置几何类型为面类型,顺便勾选创建标注点。

在这里插入图片描述

生成的渔网和标准点shp数据没有定义坐标系,使用【定义投影】工具定义和陕西省矢量范围一样的地理坐标系,结果如下图所示:
在这里插入图片描述

地形图编号步骤:

1.给标准点分别添加XY坐标字段并计算坐标值。

使用【数据管理】->【字段】->【添加字段】工具添加X坐标、Y坐标字段,设置字段类型为DOUBLE类型,然后使用计算几何求出十进制格式坐标值。

在这里插入图片描述

2.计算图幅号

网上好多教程都是将属性表导出xls表格文件,然后使用表格里面的函数分布计算出图幅号,十分麻烦而且不方便,显得就很不高级。推荐大家多多使用字段计算器功能,通过编写简单python函数的方式进行属性值计算。不仅方便,而且可以保存成函数文件重复使用。

首先添加图幅号字段,然后使用字段计算器加载提前编写好的图幅号计算函数批量计算各标准点所在图幅的图幅号。

在这里插入图片描述

计算后图幅号如下:

在这里插入图片描述

按照不同比例尺图幅编号规则,使用Python语言编写图幅号计算函数,输入比例尺、经度、纬度即可计算出该点所在对应比例尺图幅的图幅号。

函数完整代码如下:

def getMapID(scale, x, y):#计算100W图幅号x_map_size = 6y_map_size = 4a = int(y / y_map_size) + 1b = int(x / x_map_size) + 31tag = chr(a + 64)map_id_100W = tag + "{:02d}".format(b)if scale == 500000:x_map_size = 3y_map_size = 2if scale == 250000:x_map_size = 1 + 30/60y_map_size = 1if scale == 100000:x_map_size = 30/60y_map_size = 20/60if scale == 50000:x_map_size = 15/60y_map_size = 10/60if scale == 25000:x_map_size = 7/60+30/3600y_map_size = 5/60if scale == 10000:x_map_size = 3/60+45/3600y_map_size = 2/60+30/3600if scale == 5000:x_map_size = 1/60+52.5/3600y_map_size = 1/60+15/3600if scale == 2000:x_map_size = 37.5/3600y_map_size = 25/3600if scale == 1000:x_map_size = 18.75 / 3600y_map_size = 12.5 / 3600if scale == 500:x_map_size = 9.375 / 3600y_map_size = 6.25 / 3600#计算50W在100W图幅中的行列号c = int(4 / y_map_size) - int(divmod(y, 4)[1] / y_map_size)d = int(divmod(x, 6)[1] / x_map_size) + 1if scale == 1000000:map_id = map_id_100Wif scale == 500000:map_id = map_id_100W + "B{:03d}{:03d}".format(c,d)if scale == 250000:map_id = map_id_100W + "C{:03d}{:03d}".format(c,d)if scale == 100000:map_id = map_id_100W + "D{:03d}{:03d}".format(c,d)if scale == 50000:map_id = map_id_100W + "E{:03d}{:03d}".format(c,d)if scale == 25000:map_id = map_id_100W + "F{:03d}{:03d}".format(c,d)if scale == 10000:map_id = map_id_100W + "G{:03d}{:03d}".format(c,d)if scale == 5000:map_id = map_id_100W + "H{:03d}{:03d}".format(c,d)if scale == 2000:map_id = map_id_100W + "I{:03d}{:03d}".format(c,d)if scale == 1000:map_id = map_id_100W + "J{:04d}{:04d}".format(c,d)if scale == 500:map_id = map_id_100W + "K{:04d}{:04d}".format(c,d)return map_id

3.分幅数据挂接图幅号

首先给生成的分幅数据添加图幅号字段,然后在目录中分幅数据上右击使用【连接和关联】工具基于FID字段连接标注点图层。

在这里插入图片描述

使用字段计算器将标注点图层的图幅号计算到分幅图层,然后取消连接。

在这里插入图片描述

4.陕西省图幅结合表生成

加载陕西省行政区数据,按位置进行筛选去除不涉及图幅,然后将选中的图幅导出即可生成陕西省1:250000比例尺标准分幅图幅结合表数据。

在这里插入图片描述

图幅结合表结果如下:

在这里插入图片描述

相关文章:

基于ArcGIS实现陕西省1:250000比例尺地形图分幅和编号

1地形图的分幅与编号原理 我国1:1000000地形图的分幅采用国际1:1000000地图分幅标准,而其他比例尺地形图分幅以1:1000000比例尺地形图为基准进行分幅。每幅1:1000000地形图范围是经差6、纬差4;纬度60~ 76之间经差12、纬差4;纬度76~ 88之间经…...

校园安全,一键报警主机助力保障

校园安全,一键报警主机助力保障 随着社会发展和科技进步,校园安全问题日益受到重视。如何保障师生们的安全成为了学校一项重要任务。而校园可视一键报警主机就是一种非常有效的安保设备。 这种报警主机集合了视频监控、安全防范、数据处理等多个功能&a…...

RabbitMQ养成记 (7. 消息可靠性投递)

消息可靠性 什么是消息的可靠性呢?? 简单来说就是 你的消息发放给 exchange 这个过程中 有可能丢失或者失败 这时候需要一个回调机制来监控 发送结果 必要时还要返回信息。 rabbitmq 给我们提供了两种: 首先是生产者到exchange发送过程的监…...

SpringBoot配置连接两个或多个数据库

在Spring Boot应用中连接多个数据库或数据源可以使用多种方式,下面介绍两种常用的方法: 1、使用Spring Boot官方支持的多数据源配置 Spring Boot提供了官方支持的多数据源配置,可以简单地配置和管理多个数据源。 需要在application.proper…...

Python面试题汇总:高效备战技巧

Python面试题汇总:高效备战技巧 一、基础知识准备1 语言特点及优缺点2 数据类型3 运算符4 控制流程语句5 函数 二、面向对象编程1 面向对象编程基础2 类的创建及继承3 魔术方法4 多态5 设计模式 三、常用数据结构与算法1 字符串、列表、字典、集合字符串列表字典集合…...

如何区分比特率、波特率和频谱带宽?

01、什么是比特率和波特率? 宽带网络里面提及的千兆即1000Mbit/s,一般描述的是我们家网络端口每秒最大可接收0、1比特(bit)的数量,即每秒可接收1000x106个比特。显而易见,比特率越高,每秒传送的…...

sklearn中的特征工程(过滤法、嵌入法和包装法)

目录 ​编辑特征工程的第一步:理解业务 Filter过滤法 ​编辑方差过滤 ​编辑- 相关性过滤 - 卡方过滤 - F检验 - 互信息法 ​编辑嵌入法(Embedded) 包装法(Wrapper) 特征工程的第一步:理解业务 如…...

Linux C/C++并发编程实战(0)谈谈并发与并行

作为并发编程的第一讲,比较轻松,我们先来谈谈什么是并发和并行。 并发(Concurrency)是指一个处理器同时处理多个任务。 并行(Parallelism)是指多个处理器或者是多核的处理器同时处理多个不同的任务。 并发…...

2023年5月天津/南京/成都/深圳CDGA/CDGP数据治理认证报名

6月18日DAMA-CDGA/CDGP数据治理认证考试开放报名中! 考试开放地区:北京、上海、广州、深圳、长沙、呼和浩特、杭州、南京、济南、成都、西安。其他地区凑人数中… DAMA-CDGA/CDGP数据治理认证班进行中,报名从速! DAMA认证为数据管…...

【MySQL】MySQL批量插入测试数据的几种方式

文章目录 前言一、表二、使用函数生成设置允许创建函数产生随机字符串产生随机数字 三、创建存储过程插入角色表插入用户表 四、执行存储过程小结五、使用 Navicat自带的数据生成 前言 在开发过程中我们不管是用来测试性能还是在生产环境中页面展示好看一点, 又或者学习验证某…...

PowerShell install 一键部署virtualbox

VirtualBox 前言 VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public Licens…...

CTF权威指南 笔记 -第四章Linux安全机制-4.1-Stack Canaries

目录 Stack Canaries 简介 我们进行简单的例子 64 32 checksec Stack Canaries 是对抗栈溢出攻击的技术 SSP安全机制 Canary 的值 栈上的一个随机数 在程序启动时 随机生成并且保存在比返回地址更低值 栈溢出是从低地址向高地址进行溢出 如果攻击者要攻击 就一定要覆…...

KDZD400Q便携式三氯乙烯浓度检测仪

一、产品概述 检测仪用于快速检测多种气体浓度、温湿度测量并超标报警的场合。采用2.31寸高清彩屏实时显示,选用进口品牌的气体传感器,主要检测原理有:电化学、红外、催化燃烧、热导、PID 光离子等。 可以检测管道中或受限空间、大气环境中的…...

C++11 部分新特性

1. 关键字和语法 1.1 nullptr 空指针,能够和整数0进行区别,因为#define NULL 0 1.2 类中非静态成员变量定义时初始化 & 初始化列表 1.3 auto 可推导出右值类型,从而得知左边变量类型。 简单使用示例: auto func() {retur…...

selenium通过performance log获取状态码,Conten-Type,以及重定向路径

selenium的官方不提供获取状态码,Conten-Type,以及重定向路径的方法,并且官方说这些功能将来也不会有。java - How to get HTTP Response Code using Selenium WebDriver - Stack Overflow 非官方的方法大概有下面几种 1.通过requests重新请…...

GL绘制自定义线条3_自定义线帽

安卓Path搭配Paint可以设置线帽,我想能不能把我自己的线条绘制Demo也加上类似的功能。 线头规则描述: 1、设一个线宽一半的线段,坐标为(0, 0)到(-lineWidth / 2, 0)。 2、设步骤1的线段有一垂直于它的向量(0,1),然后传…...

【AGC】新版鸿蒙崩溃SDK集成使用方法

【背景】 我们知道AGC的Crash SDK都是需要强制集成华为分析SDK的,在使用时的崩溃数据上报都要依靠分析服务来完成,这就容易受到限制,有时出现无数据的情况就要依次排查崩溃SDK与分析SDK,比较麻烦。而就在不久前,鸿蒙崩…...

vue-7:组件库(移动端vant)(PC端element)

移动端vant 插件安装(按需导入) 重启生效 # 通过 npm 安装 npm i unplugin-vue-components -D# 通过 yarn 安装 yarn add unplugin-vue-components -D 导入基于 vite 的项目: 如果是基于 vite 的项目,在 vite.config.js 文件中…...

JavaScript中splice()、slice()、split()三种方法的区别,及使用详细

简介:splice、slice、split是JavaScript中,比较常用的三个数组方法,表面看起来有点相像,用处却大不相同,今天就来分别介绍下它们的用法。 1、splice()方法 splice方法可以用来删除数组中的元素,或者向数组…...

Linux更新操作系统Openssh版本9.3p1(源码编译安装)

Linux更新操作系统Openssh版本9.3p1(源码编译安装) 部署前准备 安装依赖 yum install -y gcc gcc-c glibc make autoconf openssl openssl-devel pcre-devel pam-develyum install -y pam* zlib* openssh-9.3p1.tar.gzopenssl-3.1.0.tar.gz备份文件 cp /etc/pam.d/sshd /etc/…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)&#xff0…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...