查看原文
其他

【技术】ArcGIS必会的几个工具的应用

请关注 测绘之家 2022-07-17


本文分为两部分:

第一部分:ArcGIS必会的几个工具的应用

第二部分ArcGIS一些常用操作方法总结


第一部分内容:ArcGIS必会的几个工具的应用

1、筛选

第一个工具, 我们来看下 比较简单的 筛选工具的应用。筛选( select )的用法:从输入要素类或输入要素图层中提取要素(通常使用选择或结构化查询语言  (SQL)  表达式),并将其存储于输出要素类中。我们首先来看下案例数据 - 福建的各县行政区划矢量图。


  

  图 1-1  图 1-2

该数据属性表中,有 NAME 和 city 等字段,其中 NAME 代表区县名, city 代表区县所在的地级市城市编码。例如,闽侯县归属福州市( 3501 ),仙游县归属莆田市( 3503 )。那么,要筛选出福州下辖的所有区县,只要利用筛选工具选出 city 字段是 3501 的记录就可。

✧   打开筛选工具 ,分析工具  提取分析  筛选

 

图 1-3

✧   有如下图的参数设置,点击确定,就得到我们想要的结果。

 

图 1-4

✧   运行结果如下。具体操作,可以观看学习如上所述视频教程。

 

图 1-5

2、分割

现在我们在裁剪中 福建的各县行政区划矢量图 fj 基础上 又有了 福建省各地级市的行政区划图 fj5 (网络数据,仅供学习参考使用),如下图。那我们的问题来了,我们要如 1 中那样筛选出福建九个地级市(福州、厦门、莆田、泉州、漳州、龙岩、三明、南平、宁德)区县划数据,当然我们可以如 1 中操作 9 次得到我们的结果,但这样一来操作就麻烦了,万一你来个全国地级市,那不是坑爹,所以为了提高效率我们引入了分割( split )工具的应用。

 

图 2-1 福建省各地级市的行政区划图 fj5

先来瞧一瞧,分割工具的用法。分割输入要素会创建一个多个输出要素类的子集 ,原理如下图 2-2 。这样一想,是不是输入就是我们的福建各县区划图 fj ,分割要素就是福建的地级市区划图 fj5 。其中的区域 1 、区域 2 等就是指代了福州市、厦门是等。

 

图 2-2  分割工具原理图

✧   实际操作开始。打开工具,分析工具  提取分析  分割

 

图 2-3

✧   具体参数如下设置 。点击确定,便可得到我们的结果

 

图 2-4

✧   运行结果如下。具体操作、工具参数详解可以观看学习如上所述视频教程。

 

图 2-5

✧   思考:如果我们想将 福建的各县行政区划矢量图 fj 分割 成每个县一个矢量图层,用分割工具该怎么操作。答案可参考我们的视频教程。

3、融合

现在假设我们只有 福建的各县行政区划矢量图 fj (如图 1-1 ),想要在 fj 基础上 经过处理得到 福建省各地级市的行政区划图 (如图 2-1 )。我们可能比较直观的想法,就是把各个地级市下辖的区县选择合并,当然是可以,但效率低下。这时候我们就要让融合工具( dissolve )出场了,它的作用就是 基于指定属性聚合要素 ,如图 3-1 。图中绿色的各个小图斑具有共同的属性值 A ,黄色小图斑具有共同属性值 B ······,基于这个属性进行聚合,就得到了结果。

 

图 3-1

这时我们就联想到区县数据中 fj 中福州的各个区县 city 字段的属性值是 3501 ,莆田的各个区县的 city 字段的属性值是 3503 ······,这样一来我们就可以根据 city 字段对 fj 进行聚合了。

✧   打开融合工具,有两个途径。一是工具箱中,数据管理  制图综合  融合,而是在菜单栏选择地理处理  融合。

 

图 3-4

✧   如下图 3-5 设置相关参数,拓展参数部分可以参考视频教程。

 

图 3-5

✧   运行之后如图所示。

 

图 3-6

4、   矢量裁剪

现在,我们有一植被覆盖数据如图、有一个项目红线 4-1 ,你只想要项目红线中的地表覆盖情况。自然而然就想到了 ArcGIS 当中的矢量数据裁剪。 

 

图 4-1

ArcGIS 中矢量的裁剪指的就是提取与裁剪要素相重叠的输入要素,如图 4-2 。输入要素在裁剪范围中数据被提取出来。要注意输入要素、裁剪要素都可以是点、线、面要素。只是实际应用中我们经常只是碰到面要素作为裁剪要素罢了。等下我们贴两张图大家随意体会下。

 

图 4-2

裁剪是比较简单的了,下面我们就来操作一下吧。特别要注意,矢量裁剪和栅格裁剪不是一个工具哦,不要混淆。

✧   打开 裁剪 工具, 分析工具  提取分析  裁剪。

 

图 4-3

✧     打开工具如下设置,便可确定运行得到结果。

 

图 4-4  裁剪工具运行参数设置及运行结果

裁剪是比较简单的,但是也有我们要注意的地方,有以下两点:1 、注意裁剪要素有可能产生多部件要素,如图 4-4 中蓝色高亮显示,这种情况是由于输入要素的一个图斑分布在裁剪要素两个或两个以上分离开的图斑,多部件的要素后续可以使用多部件转单部件要素炸开,具体可以查看我们的视频教程,我们这里就不加赘述。2 、如果你的输入要素有面积字段且裁剪之后的结果保存为 shp 非地理数据库要素,那么要注意输出的要素中面积字段的值是原来为裁剪图斑的面积,所以你需要重新计算面积,如果你保存在地理数据库中那么不需要,因为会自动重算 ShpArea 字段。具体也可以查看视频教程。

下面,放两张图,大家体会了解一下,裁剪要素是点、线、面要素时候的情况。

 

图 4-5

 

图 4- 6

5、   合并

合并,是我们会经常碰到的。一个项目区大,一般都是分成几个子区来做,那后续就要把各个子区的数据合并起来。在 ArcGIS 的合并可能到大家会想到很多,比如编辑器当中的同一个图层内要素的合并、叠加分析中联合工具( Union )、复制粘贴达到的合并功能、以及我们今天要讲的这个合并工具。他们每一个的用法都是不一样的,当然碍于篇幅限制我们不一一展开,具体其他的工具应用可以参考我们的入门课程,今天这里我们就给大家介绍下数据管理工具下,常规工具集下的合并。合并, 相同的多个输入数据集合并为新的单个输出数据集 。

如图 5-1 ,我们要福建南部的区县划数据 fj_S 以及福建北部的区县划数据 fj_N ,我们就可以通过合并工具得到 5-1 的右边福建全省的区县划数据。

 

图 5 - 1

接下来我们就用工具,给大家实际演示下吧。

✧   打开 合并 工具, 数据管理工具  常规  合并,并进行如下的参数设置,可得 5-1 结果。字段的映射属于可选字段,我们的文章输入基础篇,我们就不加以展开,在视频中一并介绍。

 

图 5 - 2

6、   追加

追加,往广义一点上说其实也是一种合并,比较明显的区别就是追加 将多个输入数据集追加到现有目标数据集 ,不会像合并工具一样产生一个新的数据集。如图 6-1 ,将 福建南部的区县划数据 fj_S 追加到 福建北部的区县划数据 fj_N , fj_N 目标要素, 6-1 右边追加的结果是没有产生一个新的数据集的,而是原来 fj_N 。

 

图 6-1

✧   打开 追加 工具, 数据管理工具  常规  追加,并进行如下的参数设置,可得 6-1 结果。方案类型参数的选择参考下面说明,字段的映射属于可选字段,我们的文章属于基础篇,我们就不加以展开,在视频中一并介绍。

 

图 6-2

✧   注意:方案类型中的参数为 Test 与 No Test 。

方案类型  ( 可选 )  :指定输入数据集的方案(字段定义)是否必须与目标数据集的方案相匹配才能追加要素。

∙   TEST— 输入数据集的方案(字段定义)必须与目标数据集的方案相匹配。如果方案不匹配,将返回错误。  就是说字段要一致,字段不同、多或少都会报错 ,如图 6-3 。

∙   NO_TEST— 输入数据集的方案(字段定义)不必与目标数据集的方案相匹配。但是,如果输入数据集的字段与目标数据集的字段不匹配,将不会被映射到目标数据集,除非在 “ 字段映射 ” 控件中对映射进行了显式设置。

 

图 6-3

字段映射  ( 可选 )  

控制如何将输入数据集字段中的属性信息传输到目标数据集。只有在指定方案类型  NO_TEST  的情况下,才能使用这个参数。 

由于输入数据集的数据被追加到具有预定义方案(字段定义)的现有目标数据集中,因此不允许在目标数据集中添加或移除字段。

合并规则用于指定如何将两个或更多个输入字段的值合并或组合为一个输出值。有多种合并规则可用于确定如何用值填充输出字段。

∙   First -  使用输入字段的第一个值。 

∙   Last -  使用输入字段的最后一个值。 

∙   Join -  串连(连接)输入字段的值。 

∙   Sum -  计算输入字段值的总和。 

∙   Mean -  计算输入字段值的平均值。 

∙   Median -  计算输入字段值的中值。 

∙   Mode -  使用具有最高频率的值。 

∙   Min -  使用所有输入字段值中的最小值。 

∙   Max -  使用所有输入字段值中的最大值。 

∙   Standard deviation -  对所有输入字段值使用标准差分类方法。 

∙   Count -  查找计算中所包含的记录数。 


第二部分ArcGIS一些常用操作方法总结

一、计算面积  ( 可以帮我们计算小班面积 )

添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED --》把下面的代码输入,然后在最下面 = 处写 OUTPUT 点击 OK 就 OK 了。 

Dim Output as double

Dim pArea as Iarea

Set pArea = [shape]

Output = pArea.area


二、计算长度  ( 可以帮我们计算林带长度 )

同上添加 LENGTH 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED --》把下面的代码输入,然后在最下面 = 处写 OUTPUT 。点击 OK 就 OK 了。 

Dim Output as double

Dim pCurve as ICurve

Set pCurve = [shape]

Output = pCurve.Length


三、小班升序排列:

同上添加小班号字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED --》把下面的代码输入,然后在最下面 = 处写 OUTPUT 。点击 OK 就 OK 了。

Static i as long

Dim Output as string

i=i+1

Output =i


四、村界切割小班

选择 -> 根据位置选择 , 小班 are are crossed by the outline of 村面 , 然后选择 -> 设置可选择图层为村面。用追踪工具,任务为切割多边形要素,进行切割


五、字段赋值

选择 -> 根据位置选择 , 小班 are within 村面。打开属性表显示选中的,选择一整列计算字段值对整个字段赋一个常量或,勾选高级加求变量代码


六、拓扑检查

ArcCatalog 选要进行拓扑检查的文件夹右键 -> 新建个人 geodatabase-> 新建要素集 -> 导入要素类 -> 新建拓扑 (导入要拓扑的图层) 。ArcMap 中打开由拓扑规则产生的文件, 编辑状态下 利用 topolopy 工具条中给出的错误记录信息进行修改 。搜索要修改的错误 -> 右键 ( 平移到 ) 选融合或新建等等。( 用 P+ENTER 组合键加快修改速度 ) , 修改完后右键图层名 -> 选导出数据


七、投影和投影转换

ArcToolbox-> 数据管理 -> 投影和投影转换 ->project , batch project 。(地理变换中加入之前创建自定义地理变换文件)


八、合并图层

ArcToolbox-> 数据管理 -> 常规 ->merge


九、其他格式文件转 shpfile

ArcToolbox-> 转换工具 -> 到 shpfile


十、 dxf 批量转 shp

用 ArcCatlog 打开全部选择右键转为 shp


十一、批量定义投影

ArcToolbox-> 示列 ->batch define coordinate system 9( 可以用来批量矫正跑偏的卫片 )


十二、校正

提前可选取捕捉选项校正进行仿射校正


十三、属性表多项查询

" 村 " =6 AND( " 优势树种 " = '150  落叶松 ' OR " 优势树种 " = '491  榆树 ' OR " 优势树种 " = '530  杨树 ' OR " 优势树种 " = '535  柳树 ' )


十四、数据库挂接

根据两属性库相同字段,相同值连接库文件 ( 新库中只保留与旧库的公共字段, Arcgis 挂接时编辑器一定要打开,挂接完需要导出数据生成成果文件。注意 : 从 Arcgis 导出 excel 表修改数据时,容易串行,此时只要保留两表中的共字段,然后用以上方法把数据库挂接回去就可以了,挂回去的库会在相同公共字段的地方进行内容替换 )

注意:一般情况下公共字段用乡 *1000000+ 林班 *1000+ 小班号得出,原表可以在 Arcgis 中添加字段,然后计算字段值求得,要挂接的数据库可在 VF 中增加字段,用 repl  公共字段名  with  乡 *1000000+ 林班 *1000+ 小班号  all  填充。


十五、裁切

利用矩形对栅格数据裁剪 :ArcToolbox 中, datamanagement>raster>clipInputRaster 中选择被裁剪的栅格数据,设定好矩形四个顶点即可


十六、小班删除和融合

小班内部删除相当于减少面积,外部删除去掉地块。小班内部融合相当于面积不变。


十七、 ArcGIS 中影像图配准(校正扫描地图)

栅格配准 - 根据地图坐标添加控制点, x= 经度去掉前两位数带 号后加 3 个零, y= 纬度后加 3 个零(如 21575 为 575000,5357 为 5357000 )。选二次多项式,选择校正,选择校正后的数据类型和名字


十八、 ArcGIS 工程空间参考第一个加的图层。


十九、字段值显示不同颜色

打开图层后,右键单击图层, properties 里面, symbology ,采用 categories 分类,用 unique values ,右边的 value field 选取你说的那个“图斑的属性”,添加所有值


二十、线图层和面图层之间转换

数据管理工具 -> 要素 -> 要素到多边形,多边形到要素


二十一、融合后全部打散

ArcToolbox-> 数据管理 -> 属性 ->mergemultipart to singlepart


二十二、图层 关系处理

ArcToolbox-> 分析工具 -> 叠加 ->   Erase ( 图层擦除指根据参照图层的范围大小,擦除参照图层所覆盖的输入涂层内的要素。)

ArcToolbox-> 分析工具 -> 叠加 -> Updat e ( 输入的图层中被修正图层覆盖的那一部分的属性将被修正图层的属性代替,注意在更新时输入图层必须透明)

ArcToolbox-> 分析工具 -> 叠加 -> Symmetrical difference ( 获得两个图层叠加后去掉其公共的区域的图像,新生成的图像的属性也是综合两者的属性而产生的)

ArcToolbox-> 分析工具 -> 提取 ->Clip 得到裁切要素区域范围中输入图层的数据

ArcToolbox-> 分析工具 -> 叠加 -> Intersect   交集操作是通过叠置处理得到两个图层的交集部分,并且原图层的所用属性将在同时得到的新的图层显示出来。


二十三、选择性导出数据生成新图层

选中要生成新图层的数据 , 源图层右键,数据,导出数据,选择选中的要素,修改图层名,确定(同样适用于选择性导出 dbf 文件)


二十四、 ArcGIS 根据坐标点生成面图层和线图层;并根据图层文件导出坐标点文件

ArcToolbox-> 示列 -> 数据管理 ->Create Features From Text File

其中, input txt file  选择下面格式中的坐标点 txt 文件, Input   decimal   separator 中在英文状态下输入任一字符,但不能使用空格, Output Feature Class 选输出路径, Output Feature Class Spatial Reference 中选择坐标系或导入参考已有图层坐标系。

txt 文件格式说明:

1 、 Polyline 后面不能有空格;(如果要生成面,将 Polyline 改成 Polygon )2 、数据间的空格间隔只能是一个字符;3 、生成线的每一点要按顺序排列,按不同顺序排列会生成不同的图像;4 、第一个点的序号从 0 开始编号;(面图层的时候每个小班第一个点和最后一个点一样)5 、若要生成多条线,对每条线要编号;且要符合上述的要求,每条线的点重新从 0 开始编号;6 、最后一行要加上 END ;7 、将数据从 EXCEL 表中导出成 TXT 格式后,按上述要求调整好数据格式,新建一个 TXT 文档,将数据复制到新建的文档当中。8 、各个点的坐标数据必须保留 1 位以上的小数。

格式必须要符合上述规定

如下:在同一个图层上同时生成两个小班地块

Polygon

0 0

0 477140.900 268443.400 1.#QNAN 1.#QNAN

1 477186.300 268443.400 1.#QNAN 1.#QNAN

2 477186.300 268507.559 1.#QNAN 1.#QNAN

3 477186.300 268522.561 1.#QNAN 1.#QNAN

4 477192.300 268522.461 1.#QNAN 1.#QNAN

5 477192.300 268507.459 1.#QNAN 1.#QNAN

6 477192.300 268443.400 1.#QNAN 1.#QNAN

7 477263.900 268443.400 1.#QNAN 1.#QNAN

8 477263.900 268408.400 1.#QNAN 1.#QNAN

0 477140.900 268443.400 1.#QNAN 1.#QNAN

END

Polygon

0 0

0 700680 5247849 1.#QNAN 1.#QNAN

1 700676 5247846 1.#QNAN 1.#QNAN

2 700603 5247885 1.#QNAN 1.#QNAN

3 700609 5247891 1.#QNAN 1.#QNAN

0 700680 5247849 1.#QNAN 1.#QNAN

END

生成线图层

Polyline

0 0

0 700680 5247849 1.#QNAN 1.#QNAN

1 700676 5247846 1.#QNAN 1.#QNAN

2 700603 5247885 1.#QNAN 1.#QNAN

3 700609 5247891 1.#QNAN 1.#QNAN

END

 

二十五、内容列表区图层文件拷贝

一个打开工程中内容列表区的图层文件全部复制拷贝到另一个打开工程的内容列表中,在源工程内容列表区中选中要复制的图层文件上右键复制,在目标工程内容列表区中图层上右键粘贴图层文件。


二十六、快捷键

ALT+R 键然后 S 键   可以帮助你快速保存图层文件。ALT+R 键然后 G 键同样可以快速融合文件。CTRL+F6 捕捉顶点, CTRL+F8 捕捉边线

注:

地方林业局在最近几年有电子版的资料,但是这些资料部分还是“北京 54 坐标系”,与现在大家统一用的“西安 80 坐标系”不同。如果我们想利用这部分资料做参考,大家可以先把“北京 54 坐标系”做一次投影转换转为“西安 80 坐标系”然后再利用小班和影像做一下配准。就可以得到我们想要的“西安 80 坐标系”。  具体操作步骤在上面的操作方法里面都有。


二十七、 GPS 和电脑连接、数据传输、坐标点成图

MapSource 客户端软件和 GPS 驱动程序安装

安装好驱动和 MapSource 程序,用 GPS 自带数据线和 GPS 连接好,(驱动程序和 MapSource 程序都在 GPS 附带光盘里)

MapSource 参数设置

MapSource 编辑 -> 首选项 -> 位置   用户定义的格网,用户定义的地图基准。属性进行设置,具体参数设置和当地林业局 GPS 参数设置一样。

MapSource 数据接收和保存

传送 -> 从设备接收,接收内容一般选航点。文件 -> 另存为保存路径文件名,文件类型为默认 .gdb (这是 GPS 数据库和 GPS 设备上的数据一致,以后就可以拔掉 GPS 直接打开这个 gdb 文件进行操作相当于连接上 GPS 操作);同样文件 -> 另存为 .TXT 文件( gdb 文件的 txt 形式)。

Excel 获取坐标点

Excel 中数据 -> 导入外部数据找到保存的 txt 文件,下一步 -> 选分隔符,再下一步选中 “ 空格和其它 ” 确定(保存的 txt 文件导入 Excel 中),其中 Name 列为坐标点号, Description 列为打点时间,正常情况 Position 列为坐标点,得到了坐标点。

坐标点成图(分 1.0 成图和 ArcGIS 成图两种方法)

1.0 成图:

如果参数是严格按照上面 MapSource 参数设置中的步骤设置的话,坐标点可以直接上图。在 Excel 中新建三列分别为 id , x , y ,其中 id 为一个图中的同一地块所有坐标点共同 id 号(同一块地 id 值相同如都设为 1 ,另一块地 id 值则都设为 2 )。然后用 1.0 点成面或线再加上属性库就得到 GPS 打点形成的图层。

ArcGIS 成图:

在上面的“二十四。ArcGIS 根据坐标点生成面图层和线图层”中有详细描述。


二十八、另外一种坐标点成图方法(需要用到工具 ->Add XY Data )1 、将数据导入到 Excel 里面,总共有两列 X , Y (列名为 X , Y 即可),下面对应 x , y 坐标数据即可,将文件保存成 *.xls 或者 *.dbf 文件。2 、 ArcGis 下面,菜单工具 - >Add XY Data 工具 ( 可以同时上多个地块,不同地块中间用空行分隔,导入 Excel 中编辑完点号,再导出 Txt 文件,编辑为成面图层的点文件 ) 。这时会形成一个新图层,所有的点都添加进来了,但现在添加进来的点由于没有 objectID 或者 FID ,现在图层不具备 *.shp 图层的大部分功能,如点的选择,编辑,关联,属性等操作。

3 、在刚才生成的图层上点右键,选 data-expot data …,导出成 .shp 文件。

4 、利用 write features to Text file 工具   生成 txt 文件,这个文件主要是描述各个点的坐标和格式化用的 . 将 Point  改成 Polyline 或 Polygon ,即可满足连接生成线和面。

5 、利用 Create Features From Text File 工具导入刚刚你生成的并改 Polyline 或 Polygon 的 txt 文件        

TXT 文件格式如下:

point

1 37374000 2516000

2 37375000 2516000

3 37376000 2516000

4 37373000 2515000

End

 

二十九、中央经线、中央经线算法

中央经线:每一个 6 度或 3 度分带中间的经线称为中央经线,我国领土跨 11 个 6 度投影带,即第 13~23 带。我国领土跨 22 个 3 度投影带,即第 24~45 带

6 度带中央经线算法:当地中央经线 =6* 当地带号 -3 。(适用于 1:2.5 万和 1:1 万地形图)

3 度带中央经线算法:当地中央经线精度 =3* 当地带号。(适用于 1:1 万地形图)

6 度分带:从 0 度经线(即 0 度经线)开始自西向东每个精度 6 度一个投影带,全球共分 60 个投影带。

当地所处带数 = 当地东经整度数 /6 取整数加 1 。.

3 度分带:从东经 1.5 度经线开始,每隔 3 度一带,全球共分为 120 个投影带。当地所处带数计算方法同上


三十、高斯-克吕格投影

高斯-克吕格投影以 6 度或 3 度分带,每一个分带构成一个独立的平面直角坐标网,投影带中央经线投影后的直线为 X 轴(纵轴,纬度方向),赤道投影后为 Y 轴(横轴,经度方向),为了防止经度方向的坐标出现负值,规定每带的中央经线西移 500 公里 ,即东伪偏移值为 500 公里 ,由于高斯 - 克吕格投影每一个投影带的坐标都是对本带坐标原点的相对值,所以各带的坐标完全相同,因此规定在横轴坐标前加上带号,如 (4231898,21655933) 其中 21 即为带号,同样所定义的东伪偏移值也需要加上带号,如 21 带的东伪偏移值为 21500000 米 。六度带自 0 度子午线起每隔经差 6 度自西向东分带,带号依次编为第   1 、 2 … 60 带。三度带是在六度带的基础上分成的,它的中央子午线与六度带的中央子午线和分带子午线重合,即自   1.5 度子午线起每隔经差 3 度自西向东分带,带号依次编为三度带第   1 、 2 … 120 带。我国的经度范围西起 73 °东至 135 °,可分成六度带十一个,即 13-23 带。各带中央经线依次为 75 °、 81 °、 87 °、 …… 、 117 °、 123 °、 129 °、 135 °,或三度带二十二个。六度带可用于中小比例尺(如   1 :250000 )测图,三度带可用于大比例尺(如   1 :10000 )测图。


三十一、地理坐标系和投影坐标系

地理坐标系( Geograpic Coordinate System, 简称 GCS )和投影坐标系( Projected Coordinate System ,简称 PCS )。投影坐标系统是根据某种映射关系,将地理坐标系统中由经纬度确定的三维球面坐标投影到二维的平面上所使用的坐标系统。每一个投影坐标系统都由一个地理坐标系统投影转化而成。投影坐标系=地理坐标系+投影过程。


三十二、导出图层小班坐标点并整理

ArcToolbox-> 示列 -> 数据管理 -> Write Features To Text File (从图层导出坐标点)

其中 Intput Feature  输入想要导出坐标点的图层文件, Output Txtfile  输入导出路径和文件名(文件名要加 .txt 后缀),

导出格式为:

Polygon

0 0

0 700680.0 5247849.0 0.0 0.0

1 700676.0 5247846.0 0.0 0.0

2 700603.0 5247885.0 0.0 0.0

3 700609.0 5247891.0 0.0 0.0

4 700680.0 5247849.0 0.0 0.0

END

打开 Excel 数据 -> 导入外部数据,选分隔下一步,选空格,其他下一步。Txt 文件分列导入到 Excel 中,再把需要的坐标点文件复制,在目标 Excel 中右键选择性粘贴,选中转置,把一列坐标点拷贝成一行坐标点用来作为纸质文件。(可以用 Excel 中的格式刷制表)


三十三、 Arcgis 出图

要出图的所有图层文件加入工程中, Arcgis -> 视图 -> 版面视图 -> 改变版面布局 -> 常规下选择一种版面。可直接对版面编辑 。


三十四、小班号林班号和地类在图上以分数形式标出

图层右键 -> 属性 -> 标注 -> 表达式,“ [ 林班号 ] & "--" & [ 小班号 ] &chr(13) & "--------" &chr(13) & [ 土地种类 ] ”


三十五、在图层上插入常用的工具

Arcgis -> 插入 -> 图列、指北针、比例尺、文字比例尺;其中插入对象可以把你的坐标点等以文本、 word 、 excel 或其它形式显示在图层上;插入图框,并设置图框的投影坐标系,加入要在局部显示的图层,在局部以小地图形式全局显示图层。


三十六、 建立网格

1 、在图层窗口单击右键,点击 “Data Frame Properties” ;

2 、选择 “Grids” 选项卡,点击 “New Grid” ;

3 、选择要建立的 Grid 类型可建立经纬线格网或坐标单位格网,点击 “ 下一步 ” ;

4 、设置线型、风格大小等,点击 “ 下一步 ” ;

5 、设置字体等,点击 “ 下一步 ” ;

6 、设置属性等,点击 “Finish” 完成网格的创建。

备注:生成的 Grid 要在版面视图中才可以看见。


三十七、 Arcgis -> 文件 -> 导出地图,导出已经完成并准备打印的电子版地图。(出图可以分为卫片出图,地形图出图,只要在 Arcgis 中加入卫片或地形图就可以)


三十八、从“ Sheet1 ”表按树种分类把坐标点拷贝到“杨树”表,并且按有面积地块给小班排 ID 号,  Excel 的 VBA 代码。在工具 -> 宏 -> 编辑代码

Sub Macro4()

 Dim i As Integer

 Dim x, z, n As Integer

 

 x = 4

 z = 2

 n = 1

 

 For i = 1 To 400

 

 If Worksheets("Sheet1").Cells(x, 6).Value = " 杨树 " Then

 Worksheets(" 杨树 ").Cells(z, 2).Value = Worksheets("Sheet1").Cells(x, 9).Value

 Worksheets(" 杨树 ").Cells(z, 3).Value = Worksheets("Sheet1").Cells(x, 14).Value

 Worksheets(" 杨树 ").Cells(z, 1).Value = n

 z = z + 1

 

 Worksheets(" 杨树 ").Cells(z, 2).Value = Worksheets("Sheet1").Cells(x, 10).Value

 Worksheets(" 杨树 ").Cells(z, 3).Value = Worksheets("Sheet1").Cells(x, 15).Value

 Worksheets(" 杨树 ").Cells(z, 1).Value = n

 z = z + 1

 

 Worksheets(" 杨树 ").Cells(z, 2).Value = Worksheets("Sheet1").Cells(x, 11).Value

 Worksheets(" 杨树 ").Cells(z, 3).Value = Worksheets("Sheet1").Cells(x, 16).Value

 Worksheets(" 杨树 ").Cells(z, 1).Value = n

 z = z + 1

 

 Worksheets(" 杨树 ").Cells(z, 2).Value = Worksheets("Sheet1").Cells(x, 12).Value

 Worksheets(" 杨树 ").Cells(z, 3).Value = Worksheets("Sheet1").Cells(x, 17).Value

 Worksheets(" 杨树 ").Cells(z, 1).Value = n

 z = z + 1

 

 x = x + 1

 Else

 x = x + 1

 End If

 

 If (Worksheets("Sheet1").Cells(x, 4).Value > 0) Then n = n + 1

 

Next i

End Sub


三十九、删除单元格值为空的行,注意删除一行默认为下方单元格上移,并且行号没有丢失

Sub Macro0()

    Dim i, x As Integer

 x = 2

 

 For i = 1 To  2 000

 

 If (Worksheets(" 杨树 ").Cells(x, 2).Value = "") Then

 Worksheets(" 杨树 ").Rows(x).Select

 Worksheets(" 杨树 ").Rows(x).Delete

 Else

 x = x + 1

 End If

 

 Next i

End Sub


四十、 生成 网格

arctoolbox 中 data management->feature class->create fishnet 可以生成需要的网格


四十一、由小班生成村界,把一个村界线范围内小班全部融合形成一个村界,把所有村(林班)全部融合形成乡镇界,把所有乡镇界全部融合形成旗县界。


四十二、坐标点是相对当地中央经线的地点值,是 6 度或 3 度分带范围内。经纬度是绝对的,在全球一个经纬度对应唯一一个地点。两者切换时在 Arcgis> 视图 > 数据框属性 > 标准选项卡中的地图单位,米是坐标点单位,度分秒是经纬度单位。


四十三、经纬度上图

用 MapSource 导出一份样本 ( 经纬度 txt 文件 ) ,在 excel 中打开,用目标经纬度替换掉样本,保存。再用 GPSBabel 转换软件,把 txt 文件转为 mps 文件,用 MapSource 打开,设置参数,导出坐标点 txt 文件。直接用上面说到的 Arcgis 直接成图方法。


四十四、坐标点导航

用 MapSource 导出一份样本 ( 坐标点 txt 文件 ) ,在 excel 中打开,用目标坐标点替换掉样本,保存。再用 GPSBabel 转换软件,把 txt 文件转为 mps 文件,用 MapSource 打开,设置参数,选择数据传输,输出到 gps 中。


四十五、在 MapSource 中选中图形点复制,然后在 excel 中粘贴。得到部分目标坐标点。


四十六、 ARCGIS 从源图层复制要拷贝的数据,然后拷贝到目标图层;注意在数据量不大的时候,可以替代图层合并,要把目标图层相同位置数据删除后,再进行拷贝。


四十七、随机函数:Rnd*(B-A+1)+A 。

四十八、公顷面积:[ 小班面积 ] /10000

四十九、小班排号:Static i

i=i+1

i


五十、亩面积:[ 小班面积 ] /10000 *15 。


五十一、出现双线,删掉小班,用追踪自动完成一圈。


五十二、 Arcgis 建立 投影坐标系统 时 Xian_1980_GK_CM_117E 和 Xian_1980_GK_Zone_21N 是不加带号的投影坐标系统;Xian_1980_GK_Zone_20 是加带号的坐标系统。


五十三、经纬度转坐标点

1.   把 GPS 打的经纬度点复制到 Excel 中两列为纬度经度 , (每个小班用空行分开);然后将 Excel 另存为 .CSV 文件。

(注意:CSV 文件中经纬度前不能加点号)

2.   打开 GPSBabel 软件 “ Input Format ” 中选择数据源格式为 Comma separated values “ Output Format ” 中选择转换目标数据文件格式为 Garmin Mapsouce - gdb ;FileName 中选择输入和输出的路径。

3.   用 Mapsouce 打开转换好的 GDB 文件,在 Mapsouce->Edit->preferences->Position->Grid 和 Datum 选择 User Defined 。Grid 的 Roperties 设置当地中央经线;Datum 设置当地 dx , dy , dz 和 df 参数。

然后另存为文本文件。

4.   在 Excel-> 数据 -> 导入外部数据 -> 导入数据,注意分隔符号要选中空格。(注意:这里最后再把 Excel 中经纬度前的坐标点号拷过来)

五十四、工具 -> 添加 XY 数据可以在 Excel 中建好属性表,表里第一列标出小班序号,每个小班重新排序号,在坐标点后加两列具体如下:(如果首列不是以 0 开头,让首列每一格减 1 )

0

1

606116

5478287

1.#QNAN

1.#QNAN

1

2

606437

5478321

1.#QNAN

1.#QNAN

2

3

606561

5478280

1.#QNAN

1.#QNAN

3

4

606602

5478173

1.#QNAN

1.#QNAN

4

5

606595

5478120

1.#QNAN

1.#QNAN

5

6

606545

5478178

1.#QNAN

1.#QNAN

6

7

606324

5478239

1.#QNAN

1.#QNAN

7

8

606184

5478205

1.#QNAN

1.#QNAN

0

1

609398

5477446

1.#QNAN

1.#QNAN

1

2

609579

5477360

1.#QNAN

1.#QNAN

2

3

609735

5477141

1.#QNAN

1.#QNAN

3

4

609689

5477016

1.#QNAN

1.#QNAN

4

5

609679

5477010

1.#QNAN

1.#QNAN

5

6

609492

5477294

1.#QNAN

1.#QNAN

6

7

609360

5477306

1.#QNAN

1.#QNAN







上表色部分浅蓝色部分是中间过程减去 1 后可以删掉。最后导出 TXT 文件,再全部替换掉多余空格,加 Polygon 和 END 每块地第一列复制到最后一列使小班闭合。然后用于坐标点成面图层。以上两种颜色为两小班。(点图层也可以用以上方法)。


五十五、 M 50F 034042_ 资源三号卫星 _2_101_20130604.tif

 50-30=20 度带, 34 纵向排列, 42 横向排列, 20130604 日期。


五十六、 A RCGIS 中使用线图层分割面图层

使用 A 图层分割 B 图层,操作步骤如下:

1 、打开 Editor 编辑工具条,单击 Start Editing 开始编辑。

2 、调出 topology 拓扑菜单。

3 、全选线层

4 、点击拓扑工具条的工具构建要素( construct features )。

5 、在弹出的对话框中选择第三个“使用选择集切分目标图层中的已有要素”( split existing features in target layer using selection ),点确定后,自动按线边分割面层,完成操作。


五十七、用 21 度带包含 20 度带部分、切割 20 度带面,可以包含 21 度带部分的 20 度带图层。

五十八、如用上期或其他参考数据,数据位标准库的,只需在标准库中新添加汉子字段在数据库内部字段之间拷贝就可以。

五十九 、如在二类有下拉数据库和 Arcgis 之间拷贝数据,需用 VF 替换两图层的数据库中相关字段就可以,其中 FID 不可以在 VF 中做公共字段,需把 FID 拷贝到一个相同数据类型的字段中作为临时公共字段,等做完公共字段后再删除这个临时字段。

close all

CLEAR

SET TALK off

SET MENUS OFF

SET STATUS off

SET SAFETY off

SET SCOREBOARD off

sele 1

use I:\7-23\2.dbf

inde on  小班号  to a

sele 2

use I:\7-23\ 呼和诺尔镇二类面 .dbf

set relation to  小班号  into a

repl  原小班号  with a-> 原小班号  for  小班号 =a-> 小班号

sele dist abc from aaa into table bbb


六十、如二类软件没有下拉,可单把数据库备份,再把没有下拉的 shp 文件加上数据字典,然后再把数据库拷贝回来。这样即实现了数据字典更新和加下拉还不会让数据丢失。


六十一、批量删除属性库字段

arctoolbox-data management tools-fields-delete field

六十二、图形和库的连接

分析工具 -> 叠加 -> 空间连接,可以实现 VF 公共字段值不一样时两个图形和库文件的连接


-----END-----


社群交流 / 原创投稿 / 商务合作

(请添加下方小助手微信)

来源:地理信息论坛

推荐阅读

【关注】2021年全国注册测绘师资格考试合格证明已上线

【通知】领证书了!该省开始领取2021年度注册测绘师资格证书了

【招标】423.96万!“房地一体”农村宅基地和集体建设用地确权登记发证工作项目

【视频】《测绘科学》见证创新,服务发展

【行业】院士专家谈|时空大数据:地理信息产业融合发展必由之路




推荐关注




温馨提示:近期,微信公众号信息流改版。每个用户可以设置 常读订阅号,这些订阅号将以大卡片的形式展示。因此,如果不想错过“测绘之家”的文章,你一定要进行以下操作:进入“测绘之家”公众号 → 点击右上角的 ··· 菜单 → 选择设为星标


↓↓↓点击下方“阅读原文”查看更多精彩内容...

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存