DotSpatial是一个.NET的地理信息开发类库,使用C#语言进行开发,可以在Windows Forms窗口上显示一个二维地图,能够打开shp、格网、影像等数据,进行一些常用的坐标系转换等。
DotSpatial的开源项目网址:https://github.com/DotSpatial/DotSpatial
在使用C#的CS的系统开发中,DotSpatial是一个比较轻量级、实用的类库,虽然不如gdal类库功能那么强大,但是在调用、初始化过程还是非常方便的。
下面对DotSpatial修改shp文件的属性表进行详细的介绍:
1、需要引用的dll如下图:
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存储信息是很有帮助的。