用表格和包裹多边形创建一对多关系

77
7
跳到解决方案
2周前
ABishop
通过
定期供款人III

大家好!

不确定我是否在社区网站上的正确位置发布了这篇文章,但我已经尝试了一切来完成这项工作,但无济于事。

我在ArcGIS Pro 3.0.3,我有一个表和一个多边形特征类在同一文件geodatabase。我想将表连接到多边形特征类并创建一对多关系。然后,我想将连接或关系导出到一个新的多边形或点特征类,以便能够在我的服务中使用这些值作为标签。

关于如何做到这一点有什么想法吗?以下是我到目前为止尝试过的一些方法:

1.Join字段(这只连接到从表到特性层的一对多关系的第一个记录)

2.添加连接(这只给我的选项,以保持所有记录在多边形或表,但不是两者,然后没有办法创建一个功能类用于标签层)

3.添加关联(这只是一个临时关系,没有办法将数据提取到一个有形的特征类中以在标签层中使用)。

4.创建关系类(这将创建一个关系类,但我没有看到将关系提取到标签层中使用的特征类的方法)。

阿曼达·毕晓普,GISP
0荣誉
1解决方案

接受的解决方案
ABishop
通过
定期供款人III

谢谢你!@JoshKalov@jcarlson

我确实回到了我的第一个解决方案,即“加入字段”,但增加了一些额外的步骤,以结束点特征类的最终结果。

以下是我采取的步骤:

1.复制表连接到FGDB。

2.复制多边形连接到FGDB。

3.使用“Feature to Point”将多边形特征类设置为点特征类,然后使用“Add XY Coordinates”将X、Y字段添加到点特征类。

3.使用“Join Field”将表连接到点特征类(为了保留一对多关系,以另一种方式进行连接并不保留一对多关系,它只是连接表中的第一个记录)。

4.使用“XY表到点”从带有特征类的连接表创建一个特征类(这给了我一个点特征类,用于在我的服务中标记,保留一对多关系)。

阿曼达

阿曼达·毕晓普,GISP

在原帖子中查看解决方案

0荣誉
7回复
jcarlson
通过 MVP荣誉贡献者
MVP荣誉贡献者

我认为你的第一步是对的。考虑一个非常简单的例子:1个多边形和2个相关联的行。

jcarlson_0 - 1670595462427. - png

如果我使用加入域在这两个表上,输出接近您想要的结果。它的出现和行为有点奇怪,因为独立表中的多个值,您可以在属性表和多边形标签中看到。

jcarlson_1 - 1670595621417. - png

一方面,多边形层只有一个目标,不可能选择一个而不选择另一个。但另一方面,表格和标签显示了两个截然不同的特征。当你有一个层处于这种状态时Pro会给你一些警告。

jcarlson_2 - 1670595696126. - png

但关键是,如果你出口从这一点开始,层的输出将是你正在寻找的。

jcarlson_3 - 1670595762547. - png

现在有两个了截然不同的初始连接中每个匹配的输出中的特征。

——乔希·卡尔森
肯德尔县地理信息系统
0荣誉
ABishop
通过
定期供款人III

你好@jcarlson

我很感谢你的快速回应。在您的联接中,您是否使用表和多边形?

阿曼达·毕晓普,GISP
0荣誉
jcarlson
通过 MVP荣誉贡献者
MVP荣誉贡献者

是的。多边形作为输入表,独立表作为“连接表”运行GP工具。但我认为,在这种情况下,顺序应该无关紧要。

——乔希·卡尔森
肯德尔县地理信息系统
0荣誉
ABishop
通过
定期供款人III

我这么做了,结果还是一样的。多边形到表的Join字段保持了一对一的关系,但保留了特性类。表到多边形的Join字段创建一对多关系,但不保留功能类。啊。

阿曼达·毕晓普,GISP
0荣誉
jcarlson
通过 MVP荣誉贡献者
MVP荣誉贡献者

奇数。你有机会上传这些图层的副本吗,或者信息敏感吗?

——乔希·卡尔森
肯德尔县地理信息系统
0荣誉
JoshKalov
通过
新贡献者III

您是否试图将多个表行连接到单个多边形?你想要的输出是在你的输出特征类中复制多边形;为连接到的每个表记录复制一个多边形?如果是这样,我们已经使用“制作查询表”完成了这个任务。这将在内存中创建查询表,但您可以将其导出为功能类。

ABishop
通过
定期供款人III

谢谢你!@JoshKalov@jcarlson

我确实回到了我的第一个解决方案,即“加入字段”,但增加了一些额外的步骤,以结束点特征类的最终结果。

以下是我采取的步骤:

1.复制表连接到FGDB。

2.复制多边形连接到FGDB。

3.使用“Feature to Point”将多边形特征类设置为点特征类,然后使用“Add XY Coordinates”将X、Y字段添加到点特征类。

3.使用“Join Field”将表连接到点特征类(为了保留一对多关系,以另一种方式进行连接并不保留一对多关系,它只是连接表中的第一个记录)。

4.使用“XY表到点”从带有特征类的连接表创建一个特征类(这给了我一个点特征类,用于在我的服务中标记,保留一对多关系)。

阿曼达

阿曼达·毕晓普,GISP
0荣誉