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

超级干货:ArcGIS的那些花样技巧

本篇是工作过程中收集的一些ArcGIS相关的技巧和问题解决思路。总有一些坑是你也踩过的,希望可以帮到你。


1、筛选工具中的SQL语句用法

DLMC IN ('水田','水浇地') 

筛选DLMC字段值为水田或水浇地的图斑

DLMC IS NOT NULL

筛选DLMC字段值不为空的图斑

DLMC LIKE('%水%') 

筛选DLMC字段值中含有水的图斑(%代指任意字符或无字符)

DLMC LIKE('水%') 

筛选DLMC字段值中含有水(且水字前不得有字符)的图斑

DLMC LIKE('_水%')

筛选DLMC字段值中含有水(且水字前只有一个字符)的图斑

2、更改字段顺序和字段属性

使用【要素类至要素类】工具复制要素类,可更改字段名称,别名,是否允许空值,移动位置,新建,删除等。(右键某字段,属性)

PS:如果只更改字段名和别称,可使用【更改字段】工具。

PS2:用【合并】工具也有同样的效果。

3、去除图斑中间的挖空区域

如上图所示,如果想要去除中间的挖空区域,按次使用【要素转线,要素转面,融合】3个工具即可。

PS:反之,如果要挖空孤岛(或天井),需先拓扑出重叠图斑,再使用【擦除】工具。

4、往空库中更新要素

使用【追加】工具,对象可以是点、线、面等多种类型的要素,保留空库字段的全部属性。(字段名要一致)

PS:为保证空数据,可在此前先使用【删除行】工具。

5、CAD导入ArcGIS的坐标系定义

cad导入arcgis时一般情况下为无坐标系,需要定义。

cad的坐标系一般分为两类,一类为无带号,如CM117E,横坐标一般6位数,另一类为有带号,如Zone 39,横坐标一般8位数。

一般情况下我们需要的是有带号的坐标系。

以无带号的cad数据为例 ,按次使用【复制要素,定义投影,投影】3个工具。先定义投影为CM117E,再投影为Zone39(无法对cad数据直接定义投影,所以需先用复制要素转换为要素类)。

如果cad数据本身就是有带号的坐标,可直接定义投影为Zone 39。

PS:将要素导入或复制入要素数据集,则自动将要素的坐标系定义投影为数据集的坐标系。

6、面要素导出CAD时不含重复线

面要素导出CAD时,重叠边会带有重复线。不方便编辑。

解决方法:使用【面转线】工具,再导出CAD。

7、道路线在交点处打断

在分析道路交通或市政管线时,需要让线在交点处打断并赋不同的值。

解决方法:使用【要素转线】工具。

8、常用的数据检查方法

1)拓扑检查

主要检查空隙和重叠。

2)碎面检查

使用【多部件至单部件】工具,再检查【shape_area】字段,查看生成要素的面积是否有极小值。

3)几何检查

使用【检查几何】检查,如有错误可使用【修复几何】工具修复。(建议找出原始数据的错误并手动修改)

9、空间连接时读取多个文字

如上所示,一个地块内可能有多个公服设施,希望可以把多个公服点的属性写入地块。

解决方法:可使用【空间连接】工具。选择带文字的字段-属性。合并规则选连接,并输入任意连接符。

10、手动编辑时被手动移位的图斑移回原位

手动编辑时误操作可能导致图斑移位。

解决方法:打开捕捉,点击【旋转工具】【1】,拖动要移动图斑的质心【2】至参照的折点处【3】,参照点变成【3】处的折点,再拖动图斑捕捉至对应的参照点【4】。

PS:此法有局限性,如果没有参照点,无法移回原位。

PS2:为避免此类错误移位,打开编辑器-选项,设置粘滞移动容差为极大值。

11、ArcGIS中表格倒置

如上图所示,需要把行转成列,主要用于统计面积后转成入库所需的mdb表格。可使用【数据透视表】工具。

PS:输入字段(上图为FREQUENCY,可以是任意字段)必须为相同值,否则输出多行。

12、按某个字段值分图层导出CAD

可添加字段【Layer】并赋值为目标字段的值,再导出即可。

同理还可添加【Color】【Elevation】等字段,为cad赋颜色、高程等。

13、要素的分级色彩显示(按不同范围值)

例如,按建筑层数的区间值分级色彩显示。

PS:用【唯一值】的方式也可以手动分组,但效率较低。

14、把要素字段值导出为CAD标注文字

图片

先标注要素,再将标注转换为注记,最后使用【导出为CAD】工具将注记导出为cad

图片

15、如何补齐属性表中小数点前面的0

有时候会遇到下图中的情况:在双精度字段中,出现类似【.931715】这样的数字。实际上它表达的意思就是【0.931715】,只是省略了小数点前面的0。

图片

问题的根源其实是因为这里的数字显示是根据windows的显示规则来的,因此解决方法也很简单,只要改掉windows系统设置即可。

打开【开始】菜单的【设置】,选择【时间和语言】,点击【管理语言设置】,在【格式】选项卡下点击【其他设置】。

图片

16、添加到ArcGIS中的图片颜色发生变化

当我们把JPG或是PNG图片添加到ArcGIS的数据框里时,通常会发现图片的颜色发生了改变。

图片

发生这个问题的原因是ArcGIS默认情况下对添加进来的图片进行了拉抻:

图片

把【拉伸】设置为【无】,并取消勾选【应用Gamma拉伸】即可。

17、控制符号图层的绘制顺序

例,道路线分主干、次干、支路3级。想要把道路按图例分层显示,即支路在最底下,次干路在中间,主干路在最上层。但默认情况下就不行的。

图片

解决方法为改变图层的符号级别

图片

18、Float型的MJ字段取值错误

图片

如上图所示,【MJ_1】是Float型字段,计算出来的面积值和实际不符,这是因为Float型有效位数只有7位,超过的转换为0,小数消掉。

解决方法:应将类型改为Double,重新计算面积即可。

19、要素类坐标系与地图中显示不一致

图片

如上图所示,要素类自身坐标系为有带号的Zone39,在arcgis中显示横坐标只有6位数,这明显是无带号的117E。

排除自定义坐标系时定义错误的情况,一般是因为自身坐标系和地图框坐标系不一致。

这时候会自动进行动态投影,按地图框坐标系进行显示

(一般新建数据框坐标系为空,由第一个放入的有坐标系的要素决定。)

图片

20、OBJECTID字段值不连续

objectID字段是要素的固有字段,用于记录要素ID,一般是按顺序连续的。

有时候由于手动编辑删除了某些图斑,就会造成不连续。

解决方法:可使用【复制要素】重新生成一个新要素。OBJECTID会重排。

21、CAD的弧线段导成 shape后变成折线段

shape文件不能保存弧线段。

解决方法:不要保存成shape,导成gdb即可。

22、如何去除几何要素的Z值

图片

如上图所示,在执行某些工具时,会提示不能有Z值的。

解决方法:在【菜单-地理处理-环境-Z值】里设置为Disabled。

然后再使用【复制要素】工具将原始cad复制后再处理。

当然不一定用【复制要素】工具,只要是新生成的要素都会被去除Z值。

23、ArcGIS读取excel文件时出错

点开文件前+号时错误,直接拖入时也是错误。

图片

这是因为ArcGIS不支持xlsx格式。

解决方法:excel文件另存为后缀xls的文件。

24、shp字段名不能超过3个汉字

shp文件字段名不能超过3个汉字,是因为字段名的长度限制是10个字节,ArcGIS的SHP文件的编码采用UTF-8。在该编码下每个汉字至少需要3个字节来存储,所以只能存3个汉字,解决方法是将编码方式改为CP936,每个汉字2个字节,这样就能存5个汉字。

按Win+R,打开【运行】窗口,输入regedit,找到【HKEY_CURRENT_USER\Software\ESRI\Desktop10.x】,这里的10.x对应你的版本。

在这下面查看是否有“Common”项,如果不存在,就自己新建。在“Common”下面继续新建项“CodePage”,在“CodePage”下,鼠标右键“新建/字符串值”,将新建的字符串值重新命名为“dbfDefault”,双击“dbfDefault”字符串值,在弹出界面输入“936”,实现对SHP文件默认编码的修改。然后重启arcMap即可。

25、根据选择要素创建图层

图片

这是一个很好用的工具。

如上图所示,有时候我们可能想针对某些要素进行处理,如果在整个图层操作比较麻烦,可以使用【根据所选要素创建图层】工具,选择部分要素后,可创建临时图层,保存在内存中,方便下一步操作。

26、ArcGIS鼠标滚轮和CAD不一样

鼠标滚轮缩放视图和CAD习惯不一致,可修改ArcMap设置。

图片


都看到这了,给我的同名微信公众号个关注呗。 


http://www.kler.cn/a/231673.html

相关文章:

  • Gin HTML 模板渲染
  • Linux的桌面
  • django从入门到实战(三)——CBV视图介绍
  • 什么是SMARC?模块电脑(核心板)规范标准简介三
  • Area-Composition模型部署指南
  • java常用工具包介绍
  • 容器基础知识:容器和虚拟化的区别
  • 【Script】使用pyOpenAnnotate搭建半自动标注工具(附python源码)
  • 服务器安装Docker (centOS)
  • 廖雪峰Python教程实战Day 2 - 编写Web App骨架,运行后不显示网页如何解决
  • 【element-ui】输入框组件el-input输入数字/输出Number类型:type=“number“、v-model.number用法
  • 【实训】自动运维ansible实训(网络管理与维护综合实训)
  • Javascript第十二个知识点:Dom
  • 前端开发:(三)CSS入门
  • 【GAMES101】Lecture 17 材质
  • MySQL进阶查询篇(2)-索引的优化和使用场景
  • C语言什么是悬空指针?
  • 6.electron之上下文隔离,预加载JS脚本
  • Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
  • MySQL数据库基础与SELECT语句使用梳理
  • DC-7靶机渗透详细流程
  • 案例分享:频域与时域仿真的区别
  • 机器学习1一knn算法
  • 如何使用phpStudy搭建网站并结合内网穿透远程访问本地站点
  • @RequestBody、@RequestParam、@RequestPart使用方式和使用场景
  • 线程之间如何通信?