C#读取shp的属性信息

  一个完整的ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表文件。主文件是一个直接存取,变记录长度文件,其中每个记录描述一 个由其顶点列表组成的shape。在索引文件中,每条记录是在主文件中对应记录距离主文件头部的偏移量。dBASE中记录的是对应主文件中记录的属性记 录,每条主文件记录对应dBASE中的一条属性记录。几何对象和属性间的一一对应关系是基于记录编号的。在dBASE文件中的属性记录必须和主文件中的记 录保持相同的顺序。如果只需要处理dBASE文件,可以用操作数据库的方式来处理,首先的下载 VFPODBC 的驱动程序,直接安装即可。

  1. 建立连接字符串

    1  string fileDir = System.Environment.CurrentDirectory;
    2             string RelativePath = @"Beijing\ways.dbf"; 3 filePath = Path.Combine(fileDir, RelativePath); 4 connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + filePath + 5 ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
  2. 查询语句

    1 string selectSql = @"select * from " + filePath;
    2             DataSet dataSet = OdbcHelper.ExecuteDataset(connStr, CommandType.Text, selectSql);
    3             DataTable dataTable = dataSet.Tables[0]; 
  3. 更新语句

    1  string UpdateSql = "UPDATE " + filePath + " SET Len=" + length + " where ID =" + "'" + id + "'";
    2                 OdbcHelper.ExecuteNonQuery(connStr, CommandType.Text, UpdateSql);

最后,用ArcGIS 软件检验,发现要修改的属性信息已经更新完成。

 

参考资料:

http://blog.csdn.net/lee576/article/details/9959357

 

转载于:https://www.cnblogs.com/vegetable/p/5686502.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值