在利用arcgis做地理数据处理时,常常用到相交/空间连接等工具。
笔者在利用shp数据做空间分析后,在尝试用Visual Foxpro打开生成的dbf文件时就弹出了上述提示:“xxx.dbf不是一个表”。
上网查了很多关于产生dbf不是一个表的错误解决方案,基本分为两类,一是文件错误引起,要修复头文件;二是VFP版本不一致引起,解决方法是修改注册表的command中的程序路径。
但笔者的打不开的dbf文件是在出现在利用arcgis进行空间连接后,在进行空间分析前是可以正常打开的。显然,笔者的这种所碰到的问题不属于上述两种情况。
后来,笔者分析了利用arcgis的做空间分析后,新生成的dbf文件与源文件相比,最重要的变化就是字段数量变多了。新生成的dbf字段数超过了255个,这已经超出了Visual Foxpro所能读取的字段数量,导致Visual Foxpro程序认为它不是一个表。
弄明白了问题产生的原因,解决问题就容易多了。一是用arcgis打开文件,将多余的字段删除,dbf表就能正常打开;二是将数据导入其他类型的数据库处理,如access/sql server/oracle等。