实现这个project,十进制度、渔网工具、Excel if/Text函数、挂接Excel表、空间连接、投影这些知识是必须的。看懂本篇博文也就意味着大概掌握了以上知识。

坐标数据设置与编号标准依据《国家基本比例尺地形图分幅和编号》GB/T 13989-2012。

有人问起,网络未寻得现成方法,自行根据GB/T 13989-2012试制,欢迎指正各种错误。

推荐本文相关内容》》》》》ArcGis Python脚本——根据接图表批量裁切分幅影像

一、数据确定

区域范围:目的是做一个覆盖海南岛的1:5000比例尺标准分幅图。根据1:1000000地形图编号标准,海南岛主体所在图幅的编号应该是E49,其维度范围为16°N-20°N,其经度范围为108°E-114°E。

比例尺代码:1:5000比例尺代码为H

经差:1′52.5″,即1.875′,亦即0.03125°

纬差:1′15″,即1.25′,亦即0.02083333……°

划分行列:192行*192列

二、渔网工具绘制分幅网格

1.打开渔网工具,其位置在ArcToolbox\数据管理工具(data management tools)\要素类(feature class )\创建渔网(create fishnet)

2.设置参数

①设置输出要素类的输出路径、名称;

②设置渔网的初始坐标(采用十进制度,下同),使用左下角坐标108,16;

③设置y轴坐标,这是一个容易迷惑人的参数,它的作用是指引一个渔网从初始坐标开始行进创建的方向,这里设置为108,20,x值不变y值正方向增加,那么创建渔网时行列均向正方向增加;

④网格宽、网格高,宽是经差,高是纬差;

⑤行数、列数,均为192;

⑥创建点标记,标记每一个网格的中心点(生成一个点层,其属性包含点的xy坐标信息);

⑦几何要素的类型,这里用面polygon;

⑧-1环境environment参数设置,下续→

⑧-2 输出坐标系设置为“使用下述坐标系(as specified below)”,坐标系统选大地2000,注意是地理坐标系!

3.创建完渔网生成一个面层与一个点层,面要素类的左上角坐标应该是108,20。

三、Excel编号

1.编号方式在上图中给出了示例

2.导出点label要素的属性表为Excel(97-03.xls格式)进行编号,导出前先增加一个长整型(long integer)字段ID,将FID的值计算过来,以便挂接回表格。

ps:FID是Object类型,Excel表回挂市不能作为连接标准字段。

3.Excel编行、列号

①根据上面的示例以及GB标准,可以知道x方向编号应为升序列,y方向编号应为降序列;

②将x所在列升序排序,新添加一列进行编号,函数式如下图,请注意第一行的单元格要空着,具体自行理解;然后将生成的序号使用Text函数嵌套一下,使之为3位;

③具体嵌套起来的样子如下图,由于太简单了,不多啰嗦,操作完后选中整列,复制—黏贴值,x序值命名为xOrder,y序值命名为yOrder;

四、挂接Excel

1.挂接回Excel数据到label,使用图层右键连接与关联(joins and relates)\连接(join)或者属性表选项下的同名功能;

依据是导出前创建的ID字段,挂接表是Excel的对应表,连接依据是Excel表的ID列

2.label点要素类属性表新建xOrder与yOrder字段,分别计算过挂接Excel表的对应字段;

五、组合图幅编号

编号应为“E49H”+行+列,即"E49H"+ [yOrder]+ [xOrder]

六、空间连接

通过空间连接将点层数据匹配给所在的面层。

1.工具位置在ArcToolbox\分析工具(analysis tools)\空间连接(spatial join)

2.设置如下

① 目标要素,当然是面层(网格);

②连接要素,是点层;

③输出要素类的路径及名称;

④匹配选项,contains,即包含

七、投影

该分幅图目前是地理坐标系,投影为投影坐标系随处可查,不讲。

使用ArcMap做一个1:5000标准分幅图并编号的更多相关文章

  1. 用PreferenceActivity做一个标准的设置界面

    最后接触到一个任务,做一个工厂设置,在我看来工厂设置不需要多美观,但是一定要方便修改,添加功能,再就是使用方便,我就想到了用PreferenceActivity,android系统的settings就 ...

  2. 【转】傅盛:怎样做一个创业公司CEO?

    摘要 : 傅盛High聊会,泉灵姐姐给的命题作文.怎样做一个创业公司CEO,核心还是思维模式. 这次傅盛High聊会,泉灵姐姐给我的命题作文.创业要如何开始,本质还是思维模式.首先学会把一个开放式问题 ...

  3. 创业成本?亲身经历告诉你做一个app要多少钱

    导语:作为一名苦逼的移动互联网创业者,被外行的朋友们问及最多的问题是“做一个网站需要多少钱?”或者“做一个APP需要多少钱?” 作为一名苦逼的移动互联网创业者,被外行的朋友们问及最多的问题是“做一个网 ...

  4. 强哥的分享--如何使用Spring Boot做一个邮件系统

    http://springboot.fun/ actuator是单机.集群环境下要使用Spring Boot Admin将各个单机的actuator集成越来 mvn clean package -Dm ...

  5. 微软云创益大赛获奖团队风采:做一个中国特色的.Net源代码社区

    为了强化云技术,落地云应用,彰显云价值,微软(中国)携手中国计算机报举办了“微软Cloud OS第二届云创益大赛”.本届大赛历时111天,共吸引了6647位个人组选手回答了70,078道题,59支参赛 ...

  6. 涨姿势:创业做一个App需要花多少钱(8个人,6个月,就要100万,附笔记心得)

    (原标题:涨姿势:创业做一个App要花多少钱?) 作为互联网从业者,被外行的朋友们问及最多的问题是,“做一个网站需要多少钱?”或者“做一个APP需要多少钱?”. 作为做过完整网站项目和APP的人,今天 ...

  7. .Net MVC&&datatables.js&&bootstrap做一个界面的CRUD有多简单

    我们在项目开发中,做得最多的可能就是CRUD,那么我们如何在ASP.NET MVC中来做CRUD呢?如果说只是单纯实现功能,那自然是再简单不过了,可是我们要考虑如何来做得比较好维护比较好扩展,如何做得 ...

  8. YiShop_做一个b2c商城要多少钱

    [YiShop商城系统]做一个b2c商城要多少钱?是企业在做一个b2c商城最关心的问题.每个企业都是想用最少的钱做一个好的b2c商城.但企业这种想法可能在现实中是无法实现的.网站这种产品现实中是一分钱 ...

  9. Micropython 如何用Turnipbit做一个自动浇水装置

    最近在研究Turnipbit这块板子,打算是连接一个摄像头模块,正在实验练习中,(祝自己早日弄好)上篇文章我们讲了用Turnipbit连接LCD5110显示英文词句,前几天给家里花浇水的时候发现花招了 ...

随机推荐

  1. iOS Password AutoFill开发指南

    转载请标明来源:https://www.cnblogs.com/zhanggui/p/9431950.html 引言 在<iPhone User Guide for iOS 11.4>这本 ...

  2. 软件设计之Deep Module(深模块)

    类是不是越小越好?最近在读John Ousterhout的<A Philosophy of Software Design>,感到作者文笔流畅,书中内容具有启发性.这里摘要一部分内容,以供 ...

  3. 【Linux基础】Unix与Linux操作系统介绍

    一.Unix和Linux操作系统概述 1.Unix是什么 UNIX是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序. 2.Unix特点 (1)多用户:在同一时刻可以有多个用 ...

  4. Python开发【前端篇】HTML

    1.html概述和基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网页的 ...

  5. (二)Basic Concepts 基本概念

    Basic Concepts There are a few concepts that are core to Elasticsearch. Understanding these concepts ...

  6. Selenium自动化测试之学会元素定位

    这是我经常被问到的一个问题,也是我很讨厌回答的问题,因为要想回答这个问题需要知道上下文.什么样式的元素,有哪些属性,是否有表单嵌套,都尝试了哪些定位方法...而且没几个提问者能事先详细的说明这些.哪儿 ...

  7. 如何将Bitcoin比特币区块链数据导入关系数据库

    在接触了比特币和区块链后,我一直有一个想法,就是把所有比特币的区块链数据放入到关系数据库(比如SQL Server)中,然后当成一个数据仓库,做做比特币交易数据的各种分析.想法已经很久了,但是一直没有 ...

  8. PHP获取项目所有控制器方法名称

    PHP获取项目所有控制器方法名称 //获取模块下所有的控制器和方法写入到权限表 public function initperm() { $modules = array('admin'); //模块 ...

  9. 【深入Java虚拟机】之三:内存溢出

    为了更直接的了解各区域,下面我们来看几个示例. 1.Java 堆溢出 下面的程中我们限制Java 堆的大小为20MB,不可扩展(将堆的最小值-Xms 参 数与最大值-Xmx 参数设置为一样即可避免堆自 ...

  10. [powershell] 批量重命名,修改文件名中的部分字符串

    实例:替换一个目录下所有的字幕文件从720p到1080p ls $Path -Recurse |ForEach-Object{Rename-Item $_.FullName $_.FullName.R ...