C# NTS 导出Shapefile (一)

该文描述了如何利用NetTopologySuite库中的ShapefileWriter来创建Shapefile文件,包括设置投影文件(prj),定义Dbase字段,创建Feature并添加属性,以及写入几何数据。此外,还涉及了数据类型如字符串和数字,以及编码设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ShapefileWriter:NetTopologySuite.IO.GeoTools, Version=1.15.0.0

Feature:NetTopologySuite.Features, Version=1.15.0.0

File.Copy(frmEPSGSelect.SelectEPSG.Path, pajFilePath, true);将对应的prj文件拷贝至shapefile目录中

DbaseFieldDescriptor[] fields = new DbaseFieldDescriptor[3] {
                                        new DbaseFieldDescriptor(){
                                            Name="Zdno",
                                            Length=30,
                                            DbaseType='C'
                                        },
                                        new DbaseFieldDescriptor(){
                                            Name="Pkvalue",
                                            Length=30,
                                            DbaseType='C'
                                        },
                                        new DbaseFieldDescriptor(){
                                            Name="Area",
                                            DbaseType='N',
                                            Length=19,
                                            DecimalCount=2
                                        }
                                    };

                                        Feature feature = new Feature();

                                        feature.Attributes = new AttributesTable();
                                        feature.Geometry = geometry;
                                        feature.Attributes.AddAttribute("Zdno", djh);
                                        feature.Attributes.AddAttribute("Pkvalue", djh);
                                        feature.Attributes.AddAttribute("Area", zd.QSGroup.Tags[BfQlr.宗地面积]);

                                        ShapefileWriter.WriteFeatures(filePath, new List<Feature>() { feature }, fields,
                                            ShapeGeometryType.Polygon, Encoding.UTF8);

                                        File.Copy(frmEPSGSelect.SelectEPSG.Path, pajFilePath, true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值