• C#读取shp的属性信息


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

    1. 建立连接字符串

      1  string fileDir = System.Environment.CurrentDirectory;
      2             string RelativePath = @"Beijingways.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

    宣言:在此记录自己学习过程中的心得体会,同时积累经验,不断提高自己! 文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。 欢迎大家留言交流。转载请注明出处。
  • 相关阅读:
    正则表达式实例:取得普陀区所有的小区名字和地址
    VS的注释(TODO)
    用本地地址构造出多个虚拟域名
    设置asp.net网站的信任等级
    c#中的多线程和异步处理
    VS2010下MVC4安装
    4、学习《细说PHP》笔记四
    38、UMLet的使用与类图的设计
    1、学习《细说PHP》笔记一
    6、学习《细说PHP》笔记六
  • 原文地址:https://www.cnblogs.com/vegetable/p/5686502.html
Copyright © 2020-2023  润新知