关系类处理专题之创建关系类|RelationShipClass
2024-10-21 13:33:28
/// <summary>
/// 存在于数据库中的数据集中
/// </summary>
/// <param name="mdbPath">数据库路径</param>
/// <param name="ORIFClassName">源要素类的名称</param>
/// <param name="DESFClassName">目标要素类的名称</param>
/// <param name="DatasetName">所在数据集的名称</param>
/// <param name="newRSClassName">生成的关系类的名称</param>
/// <param name="PrimaryKey">源表主键</param>
/// <param name="ForeignKey">源表外键</param>
/// <param name="isComposite">是否复合关系</param>
public void createRelationShipClass(string mdbPath, string ORIFClassName, string DESFClassName, string DatasetName, string newRSClassName, string PrimaryKey, string ForeignKey, bool isComposite)
{
IWorkspaceFactory pWorkspaceFactory = new AccessWorkspaceFactoryClass();
IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(mdbPath, 0);
IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
IFeatureClass pFeatureClassORI = pFeatureWorkspace.OpenFeatureClass(ORIFClassName);
IFeatureClass pFeatureClassDES = pFeatureWorkspace.OpenFeatureClass(DESFClassName);
IFeatureDataset pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(DatasetName);
IRelationshipClassContainer pRSCContainer = pFeatureDataset as IRelationshipClassContainer; IRelationshipClass pRelationshipClass = pRSCContainer.CreateRelationshipClass(
newRSClassName, //生成的关系类的名称
pFeatureClassORI, // 参与生成的源要素类/表
pFeatureClassDES, //参与生成的目标要素类/表
"",
"",
esriRelCardinality.esriRelCardinalityOneToMany, //表间关系
esriRelNotification.esriRelNotificationForward, //通知???
isComposite, //是否复合关系
false, //是否添加属性表
null, //字段集信息
PrimaryKey, //源表主键
"",
ForeignKey, //源表外键
"");
}
/*测试数据*****
string mdbPath = "c:/Users/Administrator/Desktop/GXLTest.mdb";
string ORIFClassName="zd";
string DESFClassName="zrz";
string DatasetName="GXL";
string newRSClassName="relation1";
string PrimaryKey="zddm";
string ForeignKey = "zddm";
bool isComposite = true;
createRelationShipClass(mdbPath,ORIFClassName,DESFClassName,DatasetName,newRSClassName,PrimaryKey,ForeignKey,isComposite);
*/
使用测试文件
提取密码:3td1
创建完成之后,在Arcmap中删除zd中的图块,则他所对应的zrz图块也随之删除
最新文章
- TCP/IP之四书五经[转自2003.12程序员]
- Quartus ii 12.0 和ModelSim 10.1 SE安装及连接
- [Reprint]C++友元函数与拷贝构造函数详解
- django HTTP请求(Request)和回应(Response)对象
- Delphi XE6 通过JavaScript API调用百度地图
- 如何简单的实现新手引导之UGUI篇
- 201521123014 《Java程序设计》第11周学习总结
- C#操作Excel(读取)
- netty之NioEventLoopGroup源码分析二
- mac os x 查看网络端口情况
- 使用docker搭建数据分析环境
- nginx详解反向代理、负载均衡、LNMP架构上线动态网站(week4_day1_part1)-技术流ken
- jquery 表单序列化
- Class 泛型
- Maven的配置与下载
- Pycharm中如何使用科学计算库
- 如何修改magento产品详细页面的栏目
- JQMobile引入外部CSS,JS文件
- C#解析XML文件
- CF724E Goods transportation 最小割 DP