这两天写的一段简单代码,目的是从源shp(点)里提取属这两天写的一段简单代码,目的是从源shp(点)里提取属
这两天写的一段简单代码,目的是从源shp(点)里提取属性,包括点X,Y坐标。
然后再结合别的属性在目的shp里添加这个要素。因为要提取多个属性,所以用
了个结构数组来做中转。
///
/// 从源SHP提取属性,结合数据库数据在目的SHP里添加新要素
///
/// 源shp
/// 目的shp
public void AddPoint(ILayer ly,ILayer lyNew)
{
//声明变量
IFeatureLayer Fly = (IF...
这两天写的一段简单代码,目的是从源shp(点)里提取属
这两天写的一段简单代码,目的是从源shp(点)里提取属性,包括点X,Y坐标。
然后再结合别的属性在目的shp里添加这个要素。因为要提取多个属性,所以用
了个结构数组来做中转。
///
/// 从源SHP提取属性,结合数据库数据在目的SHP里添加新要素
///
///
源shp
///
目的shp
public void AddPoint(ILayer ly,ILayer lyNew)
{
//声明变量
IFeatureLayer Fly = (IFeatureLayer)ly;
IFeatureClass Fcls = Fly.FeatureClass;
//获取原字段索引
int indexCode=Fcls.FindField("Stcdt");
int indexName=Fcls.FindField("Stnm");
int fNum=Fcls.FeatureCount(null);
IFeatureCursor Fcsor = Fcls.Search(null,false);
IFeature F = Fcsor.NextFeature();
//源字段属性赋值到结构数组
Riverstation[] pStation =new Riverstation[fNum-1];
for (int i = 0; i < fNum - 1; i++)
{
pStation[i].X = F.Shape.Envelope.LowerLeft.X;
pStation[i].Y = F.Shape.Envelope.LowerLeft.Y;
pStation[i].Code = F.get_Value(indexCode).ToString();
pStation[i].Name = F.get_Value(indexName).ToString();
pStation[i].Level = RiverBase.GetWaterLevel();//数据库
取值函数
F = Fcsor.NextFeature();
}
//结构数组写入新图层(创建要素)
IFeatureLayer FlyNew=(IFeatureLayer)lyNew;
IFeatureClass FclsNew=FlyNew.FeatureClass;
IFeatureCursor FcsorNew = FclsNew.Insert(true);
IFeatureBuffer Fbuf = FclsNew.CreateFeatureBuffer();
//获取目的字段索引
int iCode = FclsNew.FindField("Code");
int iName = FclsNew.FindField("Name");
int iLevel = FclsNew.FindField("Level");
for (int i = 0; i < fNum - 1;i++ )
{
IPoint pt = new PointClass();
IGeometry shape = pt;
pt.X = pStation[i].X;
pt.Y = pStation[i].Y;
Fbuf.Shape = shape;
//设置字段值
Fbuf.set_Value(iCode,pStation[i].Code);
Fbuf.set_Value(iName,pStation[i].Name);
Fbuf.set_Value(iLevel, pStation[i].Level);
}
//更新到FeatureClass
FcsorNew.Flush();
}
本文档为【这两天写的一段简单代码,目的是从源shp(点)里提取属】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。