基于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/…...
基于OFA模型的智能客服系统开发实战:Python实现视觉问答
基于OFA模型的智能客服系统开发实战:Python实现视觉问答 1. 引言 想象一下这样的场景:一位用户在电商平台上传了一张商品图片,询问"这个产品的材质是什么?"或者"这个尺寸适合多大年龄的孩子?"。…...
开尔文连接:精密测量里的“误差消除神器”
在高精度电子测量与芯片测试领域,开尔文连接(Kelvin Connection)是绕不开的核心技术,它也被称作四线制测量/四端检测,由威廉汤姆森开尔文勋爵于1861年发明,最初用于低电阻测量,如今已成为低阻测…...
弱网测试工具全攻略:从原理到实战应用
1. 弱网测试的核心原理与价值 第一次在地铁里刷不出健康码时,我才真正理解弱网测试的重要性。当时看着手机屏幕上不断转圈的小图标,后背都急出了汗。这种真实场景下的网络波动,正是我们需要在实验室里模拟复现的关键场景。 弱网本质上是指网络…...
AIGlasses_for_navigation与Matlab联合仿真:机器人视觉导航算法验证环境搭建
AIGlasses_for_navigation与Matlab联合仿真:机器人视觉导航算法验证环境搭建 最近在折腾机器人导航算法,发现一个挺头疼的问题:算法写出来容易,但想验证它在真实世界里的表现,成本太高了。要么得买昂贵的硬件平台&…...
CV算法工程师求职全攻略:25个知识点帮你通关面试
CV算法工程师求职全攻略:25个知识点帮你通关面试很多同学让我写面试指南,我一直没动笔。因为面试这事儿没有标准答案,说多了容易让人焦虑。 但今天还是聊聊,毕竟有些经验可以分享。 面试官到底看什么 招一个CV算法工程师ÿ…...
【技术解读】DeWave:当离散编码遇见脑电波,开启无标记EEG到文本翻译新范式
1. DeWave:脑电波翻译技术的革命性突破 想象一下,你正躺在医院的病床上,因为某些原因无法说话,但医生和家属却能实时看到你脑海中想表达的文字——这听起来像是科幻电影中的场景,但DeWave技术正在让这种想象变为现实。…...
新手必读:计算机视觉需要哪些数学基础?如何高效学习线性代数和概率论?
新手必读:计算机视觉需要哪些数学基础?如何高效学习线性代数和概率论? 标签:#计算机视觉、#线性代数、#人工智能、#深度学习、#自然语言处理、#神经网络、#机器学习### 一、痛点引入:为什么很多人怕CV数学?…...
如何部署TinyRecursiveModels:生产环境中的7个关键步骤与最佳实践
如何部署TinyRecursiveModels:生产环境中的7个关键步骤与最佳实践 【免费下载链接】TinyRecursiveModels 项目地址: https://gitcode.com/gh_mirrors/ti/TinyRecursiveModels TinyRecursiveModels是一款强大的递归推理模型,能够通过深度监督和潜…...
【Claude Code 源码解析教程】第1章:Claude Code 项目介绍
本章将全面介绍 Claude Code 项目的产品定位、技术栈选型、项目代号含义以及核心功能特性,帮助读者建立对项目的整体认知。目录 1.1 产品定位与业务目标 1.1.1 产品定位 1.1.2 核心价值主张 1.1.3 业务目标 1.1.4 目标用户 全栈软件开发者 DevOps / SRE 工程…...
学术是一场马拉松吗
最近录用一篇 EJOR,虽然是一件比较高兴的事,却没有那么的喜悦。因为根据我阅读多篇 EJOR 论文的经验,这篇投稿论文有 EJOR 的实力,即使被拒稿了,我会转投 COR 或者领域内其他不错的杂志,晚点发表而已。 目前…...
