Arcgis之矢量数据的属性信息导出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arcgis之矢量数据的属性信息导出相关的知识,希望对你有一定的参考价值。
参考技术A 案例:将矢量(.shp)格式数据的属性信息导出到TXT文件场景: 想要将 data.shp 格式数据的属性信息导出到 data.txt 文件中
脚本:Python脚本示范
def Export_ShpFieldValueToTxt(src_data, dst_data, field_list):
arcpy.env.workspace = r'C:/Users/Administrator/Documents/ArcGIS/Default.gdb'
fp = open(dst_data, 'w')
with arcpy.da.SearchCursor(src_data, field_list) as cursor:
for row in cursor:
# print(row[0])
if (row[0] == ''):
continue
fp.write(row[0])
fp.write('\n')
fp.close()
Export_ShpFieldValueToTxt(r'data.shp'.decode('gbk'), r'data.txt'.decode('gbk'), ('NAME'))
ArcGIS应用(十八)Arcgis 矢量图层属性表显示精度变化问题详解
1.Open Atrribute Table介绍
Open Atrribute Table是显示图层数据属性信息的表格,主要针对矢量、表格数据。最近在处理数据过程中,发现属性表中的数据精度显示出现问题了。
图1 打开属性表
1.1 问题描述
首先显示一下原始属性信息,如下图2-4所示:如d_UTCTime_显示精度包含小数点,类型如下图:
图2 属性信息显示
右键点击属性表表头字段名称,打开该属性字段的Properties...属性,可以查看字段具体信息。
Numeric按钮可以进一步打开显示设置选项窗口。
图3 字段属性信息显示
图4 经纬度属性信息
在对数据进行计算之后,包括工具箱计算或者Field Calcuater计算后,属性标显示信息就会出现变化,如下图5-6所示:数据精度出现了明显变化,d_UTCTime_和i_rec_ndx后几位数字变成了0,而经纬度显示精度也出现明显变化。
查看这几个属性字段的显示属性信息,发现并没有变化。
图5 属性显示变化情况显示
2.解决办法
2.1 先尝试通过设置属性选项
打开字段属性,打开格式设置窗口(Properties->Number Format),
这里看到该值已经变化了,没办法正确显示出来。
2.2 关联原始数据重新计算
打开属性表,通过关联原始数据进行计算,关联字段可以选用FID,注意这里关联字段最好是唯一值字段,这样才能有效关联。注意:关联图层或者字段名称最好是英文的,有些版本不支持中文。
关联字段信息如下:
我们通过Field Calculator重新计算一下,这里选择关联字段值赋值,看看能否实现数据修正?
显示效果没变化:
对于经纬度,我们直接通过计算几何重新计算一下:
lon:精度对应X坐标
lat:纬度对应Y坐标
计算完整之后依旧没变化,只能另想办法了。
2.2 添加字段重新计算
重新添加字段,根据原字段精度设置相关字段属性参数。这里算Double类型数据。精度设置为14,根据自己数据位数长度设置。Scale这是4。
重新计算一下得到正确结果了。
3.小结
对于本文中出现的字段精度问题,可以通过重新添加字段的方式重新计算一下,所添加字段的类型以及参数信息需要根据数据实际情况进行设置。
以上是关于Arcgis之矢量数据的属性信息导出的主要内容,如果未能解决你的问题,请参考以下文章
请问大家,在ARCGIS10.0或者ARCMAP里面,如何把一张矢量图的部分区域截出来,并且保留其属性信息?谢谢。
ArcGIS应用(十八)Arcgis 矢量图层属性表显示精度变化问题详解