使用ArcMap做一个1:5000标准分幅图并编号

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

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

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

一、数据确定

区域范围:目的是做一个覆盖海南岛的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,即包含

七、投影

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

原文地址:https://www.cnblogs.com/yzhyingcool/p/10328390.html

时间: 2024-10-11 22:49:43

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

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

最后接触到一个任务,做一个工厂设置,在我看来工厂设置不需要多美观,但是一定要方便修改,添加功能,再就是使用方便,我就想到了用PreferenceActivity,android系统的settings就是由它主导的,所以功能强大,使用方便.以平板为例,不需要复杂的设计就可以得到一个settings那样,左边是功能列表,右边是某一功能的具体选项. public class FactorySettings extends PreferenceActivity{ public void onBuildH

做一个微信语音点播系统

最近在做一个微信项目,接触到了微信公众平台.通过公众平台可以很方便的搭建一个功能完善的移动应用.昨天发现:开发者可使用手机号来申请接口测试帐号,体验高级接口. 这篇文章的应用将使用到高级接口中的语音识别,以及音乐回复接口.通过这两个接口,让大家体验一下语音点歌的魅力. 这个应用简单的来说:就是你向微信公众平台报一首歌名,微信公众平台返回这首歌曲给你听.本文将一步一步教你如何实现这个看似复杂的移动应用. 下面是我申请的测试账号的二维码,大家可以关注一下测试一下效果,不过测试账号的有效期只有一年,最

做一个不乖的孩子

收到一封来信,来信者是大学排行榜上位列全国前10的高校学生.她的处境,让我同情,在帮她度过这个难关方面,我也愿意更进一步做些什么.她的事例,该讲给为人父母的去听,让孩子自己做决定,底线是该放手时就放手,高一些的境界是在放手之前,让他/她具备应对的能力.而现实中,的确有为数不少的父母,以爱的名义将孩子囚禁,而在某个时候,主动地,或者被动地,突然间就将一个异常复杂的世界交给孩子孤独地面对. 所以我希望所有人,当带着自己年幼的孩子长大时,将自家的孩子当一个成长的人看待,切不要包办代办,只须陪他长大即可

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

我们在项目开发中,做得最多的可能就是CRUD,那么我们如何在ASP.NET MVC中来做CRUD呢?如果说只是单纯实现功能,那自然是再简单不过了,可是我们要考虑如何来做得比较好维护比较好扩展,如何做得比较漂亮.做开发要有工匠精神,不要只求完成开发任务,那样的话,永远停留在只是简单的写业务逻辑代码水平,我们要做有追求的程序员.本来这么简单的东西,我真是懒得写,但是看到即便是一些工作了好些年的人,做东西也是只管实现功能,啥都不管,还有些界面css样式要么就硬编要么就毫无规则的在页面中进行穿插,遇到要

转:做一个有趣的有意思的人

(本文转自 现代简明魔法 在此特别表示感谢) 今天吃午饭时,听到隔壁说菜上面有虫的事,突然想起了去年离职的技术总监林工.那就水点破事,写个小短篇吧. 如果是林工的话,他肯定会说,幸好是发现一条虫,而不是半条.脑补了一下,然后自己就乐呵乐呵了.他是个很有趣的人,很有意思的人,首先没啥领导架子,然后很关怀人,说话很风趣,平时就捣鼓一些在一般人眼里觉得奇怪的东西,比如树莓派,模型,自己设计组装亚克力架什么的.新年红包总是有惊喜,比如是一张老毛子再加一张10元葡币什么的(我们珠海这里很近澳门)--反正跟

做一个取悦自己的贵族,不是更好吗

取悦自己最近两周,有一件非常神奇的事情发生了.目前的工作,我是需要对A总监的,因为最近部门业务繁忙,我的工作定位就是所有我能做的事,我就需要去做,以便解放部门的其他人员,让他们有更多的精力去处理业务. 前期,我尽力和A总监对接,以便能在业务繁忙之时,至少是保证一切井然有序的,也许是对方也并没有十分清楚,或者是什么其他原因,总之就是对接不畅通了.每逢此时,一月前的我会自责,会觉得是自己不够好,是我不够努力,但此时的我依然会把自己能做的事做好,不再妄自菲薄,依然开心去解决一切我所能解决的问题.事情不

做一个App究竟要花多少钱?

作为互联网从业者,被外行的朋友们问及最多的问题是: “做一个网站需要多少钱?”或者“做一个APP需要多少钱?”. 作为做过完整网站项目和APP的人,今天从产品经理的角度,一起来算一下中小型APP从无到有需要做哪些工作,以及为达成使命,需要付出多少金钱代价. 以下内容的前提是: 深圳.移动互联网方向.包含研发一个新产品过程中一些常见的工作,并非十全十美. 首先假设在做APP之前我们已经有了一个成熟的团队(这是非常幸运的前提,很多产品研发进度极其缓慢的原因之一就是在过程中不断在招人),团队的结构以架

自己想要做一个网站应该怎么做

软件开发和网站开发完全是两个不同的,两个地方侧重的是不一样的.软件开发是属于手机端的开发,主要面向是安卓,ios开发,网站开发是电脑端的开发,语言分很多种:常用的有java.php..net,每个语言都有自己的特点和风格.软件开发主要分两种安卓开发和ios开发,安卓开发学习书籍书的话建议买 精通Android2 ,或者 Android2高级编程 这两本书,讲解的细致,但是一定要结合sdk来看.看完之后就可以自己动手做做项目了.对于java基础,我现在的感觉是 如果要深入学习android平台,j

FreeSWITCH折腾笔记4——自己做一个TTS服务器

freeswitch原生支持的tts功能中文一般是使用的ekho,但是那合成的效果简直惨不忍睹,于是我想自己做一个TTS服务器. 首先是找到比较满意的TTS引擎,科大讯飞的效果当然是没话说,但是价格不菲,其他商业的引擎中文合成也不是很流畅,偶然发现windows7自带的合成引擎还算过得去,windows10带的合成引擎就更好了(有兴趣的可以先测试一下,直接在windows控制面板中的语音设置里面有测试,但是测试的中英文混读很蛋疼). 那么问题来了,怎么把这个引擎用到我的FS上边呢? 思路,deb