ArcGIS矢量数据新增字段时-没有允许空值的选项-20200316

ArcGIS矢量数据新增字段时-没有允许空值的选项

在使用ArcGIS给属性表中添加字段时,在Field Propertyies中会发现没有允许字段为空这个选项了。这种方式新增的字段时不允许为空的,如果新增的类型是数字(float,double…)类型的会默认补0,这样就影像了数据的质量了。
ArcGIS中给shapfile添加新字段
在这里插入图片描述
上面的尝试都是直接打开的shp文件,可以发现并没有允许空值的选项。
查了很久才找到答案:shapefile是不支持字段为空的,但是数据库的要素是可以的。所以在gdb里面是可以设置的,可以将数据库导入到文件地理数据库中再添加字段,这时候就可以允许空值了,如图
在GDB中打开的点要素

<think>好的,用户想知道如何在GIS中提取矢量数据的不同字段并保存。首先,我需要回忆一下相关的GIS操作方法和工具。根据提供的引用内容,有几个可能的方法。 首先,引用[1]提到筛选工具是矢量数据提取的常用方法,但每次只能提取一个类型的数据,无法批量处理。用户可能需要批量提取不同字段数据,这候可能需要更高级的方法。比如ArcGIS的模型构建器或者Python脚本。 引用[4]提到使用模型构建器实现矢量数据批量按字段导出。模型构建器可以通过设置迭代器来遍历字段,然后导出每个字段对应的数据。这可能是一个有效的方法。需要插入要素图层,并设置模型参数,这样在运行可以动态选择字段。 另外,引用[3]展示了使用arcpy库来列出矢量数据字段信息。这可能意味着用户可以使用Python脚本进行更灵活的批量处理。比如,遍历所有字段,然后根据每个字段的值提取数据并保存。 接下来,我需要将这些方法分步骤整理出来。首先介绍模型构建器的方法,然后说明Python脚本的实现,最后提到属性筛选工具的局限性。同,要注意用户可能需要具体的步骤,比如如何设置迭代器,如何编写脚本等。 还要考虑用户可能遇到的问题,比如字段类型不同导致无法导出,或者如何选择正确的工具。需要提醒用户注意这些点,确保他们能够顺利操作。 最后,生成相关问题,帮助用户进一步了解相关主题,比如批量处理的其他应用或性能优化方法。</think>### GIS矢量数据字段提取与保存方法 在GIS中提取矢量数据的不同字段并保存,可通过以下三种方法实现: **一、模型构建器批量导出(推荐批量操作)** 1. 打开ArcGIS模型构建器,添加"迭代要素属性"工具 2. 设置迭代字段参数:选择目标字段$F$,设置输出路径模板$output\_path$ 3. 添加"按属性分割"工具,表达式设置为:$$"FieldName" = '%Value%'$$ 4. 连接迭代器输出到分割工具,设置输出数据集命名规则 5. 设置模型参数后运行,可批量生成按字段分割的shapefile文件[^4] **二、Python脚本自动化处理** ```python import arcpy input_shp = r"D:\data\input.shp" output_folder = r"D:\output" fields = [f.name for f in arcpy.ListFields(input_shp) if f.type not in ['Geometry','OID']] for field in fields: sql = f"{field} IS NOT NULL" output = f"{output_folder}\\{field}.shp" arcpy.Select_analysis(input_shp, output, sql) print(f"已导出字段 {field}") ``` 此脚本将自动遍历所有非几何字段,生成包含各字段非空要素的独立文件[^3] **三、属性筛选工具单次提取** 1. 右键点击图层 → 打开属性表 2. 选择"按属性选择",构建查询表达式如:$"LandType" = 'Residential'$ 3. 导出选中要素为新shapefile 4. 重复操作提取其他字段值(适合少量提取)[^1] **注意事项:** 1. 字段值类型匹配:数值型字段需使用$>$/$<$比较,文本型需要单引号包裹 2. 空值处理建议添加`IS NOT NULL`条件 3. 输出坐标系建议与原数据保持一致 4. 字段别名问题:脚本中应使用字段的原始名称而非显示名称[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值