从Tif文件转为shp文件(ArcMap,代码)、gdal打包问题

本文详细介绍了如何使用ArcMap和Arcpy将Tif文件转换为Shp文件,包括栅格转面、属性归并、添加字段和显示。还讨论了利用Arcpy进行转换的方法,以及在gdal打包过程中遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

从Tif文件转为shp文件(ArcMap,代码)

利用ArcMap来进行转换,以预测出来的滨海湿地图像为例

第一步:打开ArcMap中的栅格转面工具

ArcMap中的栅格转面工具

点击栅格转面之后,选择参数和输出文件路径,如下图所示
在这里插入图片描述
得到的结果即为
在这里插入图片描述
在选择的文件夹下会生成如下文件
在这里插入图片描述

第二步:属性归并

查看tif原图和生成的shp图的属性表。下方左侧为tif原图的属性表,右侧为生成的shp图的属性表
在这里插入图片描述 在这里插入图片描述
尚未知道栅格转面的具体原理,看到这样一种说法:“在属性表中,因为栅格转矢量是1度1度转的,所以,属性表中的坡度值是从0度开始一直到很大的坡度的。因此,需要按照相关标准进行归并。”

尚未知道融合工具前的笨方法:

在这里插入图片描述
第一步在属性表中点击按属性选择,在语句框中根据需求写入sql语句,如GRIDCODE=0(注意看上面还有句:SELECT * FROM test_new WHERE:),然后点击应用
第二步点击编辑器的下拉箭头,点击合并,为属性值相同的多要素进行合并
在这里插入图片描述
现在GRIDCODE=0的要素便被集中到了一个要素中,然后再对其他值进行合并

融合工具:

偶然间看到ArcMap中有融合工具,试用了一下感觉清清爽爽。下图为融合工具的位置
在这里插入图片描述
点击融合,进入融合界面,输入要素即为需要融合的图像,输出要素类即为融合之后的shp图像,融合字段即为你需要它融合的字段(在本例中为GRIDCODE)
在这里插入图片描述
以下为融合后的shp图像的属性表,可以看到融合工具将GRIDCODE相同的要素融合到了一起
在这里插入图片描述

第三步:根据需求添加字段并显示

在属性表中点击左上角的表选项,然后点击添加字段。若打开后的添加字段为灰色(不可点击状态),则查看目前是否处于正在编辑状态,若在则需要停止编辑。
在这里插入图片描述
按照需求给添加的字段赋予相关参数,如下图所示,新建了名词为class,属性为文本,长度为20的新字段
在这里插入图片描述
点击确定后,属性表为下图所示
在这里插入图片描述
接下来则需要为新添加的字段进行赋值。普通状态下无法对字段的值进行操作,此时需要进入编辑要素状态,点击需要操作的字段进行操作。
在这里插入图片描述
在属性表中添加了新字段后便可根据此字段来显示shp图。右键点击shp图像——>属性——>符号系统
在显示那一栏中点击类别——>唯一值——>值字段(选择你添加的新字段,此处为class)——>添加所有值
若无错误,应如下图所示。
在这里插入图片描述
点击确定后便可看到shp图已有了多种颜色。右键shp图——>标注要素。如下图所示
在这里插入图片描述
有时点击标注要素后它可能还是不显示class中的值,而显示GRIDCODE的值,将其移除并重新导入即可正常显示。

利用Arcpy来进行转换

ArcPy 是一个 Python 站点包,可提供以实用高效的方式通过 Python 执行地理数据分析、数据转换、数据管理和地图自动化。点击 这里 可进入官网了解更多Arcpy的知识。
因在其他版本的python空间中很难导入arcpy库,即便处理好一部分后也会报*“ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。”*这种错误,一查是导入的Arcpy库与python版本不一致。因我需要将python文件打包成exe应用程序,所以只需写出python代码来即可,于是便可在ArcGis的python27环境下打开python IDLE,其安装时自带arcpy库。
在这里插入图片描述
进入后先看是否可以导入arcpy库,如图所示不报错便可新建python文件开始相关操作。
在这里插入图片描述
最终目的是将写好的arcpy打包成一个exe程序,但arcpy打包时遇到很多问题,几经折腾终于找到了如何使用py2exe打包arcpy脚本?教程,其利用py2exe来将带有arcpy库的python文件进行打包。关于py2exe打包的用法,可以自行搜索,其与pyinstaller各有优劣,有兴趣自己查找即可。
根据以上教程,首先将准备工作做好后才能进行import arcpy,具体原因请看上面教程

from site import addsitedir  
from sys import executable  
from os impor
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值