本篇是工作过程中收集的一些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设置。
都看到这了,给我的同名微信公众号个关注呗。