DotSpatial是一个.NET的地理信息开发类库,使用C#语言进行开发,可以在Windows Forms窗口上显示一个二维地图,能够打开shp、格网、影像等数据,进行一些常用的坐标系转换等。

DotSpatial的开源项目网址:https://github.com/DotSpatial/DotSpatial

在使用C#的CS的系统开发中,DotSpatial是一个比较轻量级、实用的类库,虽然不如gdal类库功能那么强大,但是在调用、初始化过程还是非常方便的。


下面对DotSpatial修改shp文件的属性表进行详细的介绍:

1、需要引用的dll如下图:


DotSpatial修改shp文件属性表_地理信息

2、打开一个shp文件

var _shapFile = Shapefile.OpenFile(_shapePath);

3、获得shp的所有属性,返回的结果是C#中的DataTable,函数中的两个参数是截取属性的行数,开始行和一共多少行;

 DataTable _dt = _shapFile.GetAttributes(0, _shapFile.NumRows());

4、修改DataTable中的每一个格子的值,最后将修改完成的DataTable赋值给shp文件;

_dt.Rows[i][_svalue] = _existEle.Element(_dvalue).Value;

_shapFile.SetAttributes(0, _dt); 


实现代码是比较方便的,而且也可根据自己的要求给shp文件添加记录,这对需要在shp存储信息是很有帮助的。