如何使用几何或属性连接图层
摘要
在 GIS 中,连接是一种强大的机制,用于基于公共属性或空间关系组合来自不同图层的信息。 连接允许您使用通用字段或空间位置将一个图层(源图层)的属性数据与另一个图层(目标图层)合并。第一种是通过键(表格中的属性)进行数据连接。 使用通用字段(例如唯一键),您可以将一个表格中的记录与另一个表格中的记录链接起来。第二种方法是按位置进行数据连接(空间)。 我们支持这两种方法,并为您提供根据需要使用它们的机会。
假设您收到了描述不同地区人口变化百分比的数据,并且想要基于此信息生成几个人口增长地图。 虽然您的的人口数据存储在数据库中的表格中,并与您的图层共享一个通用字段,但您可以将此数据连接到您的地理对象,并利用其他字段进行标记、分类、查询或分析图层对象。
通常,您会根据同时存在于两个表格中的字段值执行数据连接。 字段名称不必完全匹配,但是数据类型应该相同 - 数字与数字,字符串与字符串等等。 您可以使用“添加连接”地理处理工具来执行数据连接。 在连接属性时,连接的字段动态地添加到现有表中。 添加或删除连接时,字段属性(例如别名、可见性和数字格式)都会保留。
按键字段连接的功能
- 这种方法允许您根据公共键字段链接来自不同表格的记录。 您可以指定用于比较以建立记录之间关系的关键字段。 当您需要基于标识符或其他唯一属性合并数据时,这尤其有用。
指定基于关键字段比较数据的方法:
- 在合并数据时,您可以定义不同的比较方法来比较键字段。 例如,您可以选择进行精确匹配、基于模式进行比较或在值范围内进行比较。 这可以更准确地确定记录之间的关系并控制数据合并过程。
指定要合并的属性名称列表:
- 在合并数据时,您可以指定应合并的特定属性。 这允许您仅选择必要的属性来进行合并并管理结果表格的结构。
使用几何连接的功能
- 这种方法使您可以根据它们的空间位置链接数据。 您可以定义一个搜索半径,在该半径内将搜索最近的几何对象以进行合并。 当您需要基于地理位置连接数据时,这很有用。
控制用于查找最近几何对象的搜索半径:
- 在基于位置合并数据时,您可以控制搜索半径。 通过指定半径值,您确定在其中搜索最近对象进行合并的距离。 这使您可以根据空间关系控制哪些对象将参与数据合并过程。
演示项目
为了更好地理解我们库的功能,让我们考虑使用示例。 此代码说明了如何通过属性或几何连接矢量图层。
提供的代码包含两种方法 JoinByIndex() 和 JoinByCoords(),它们演示了使用 LayerConstructor 类进行数据连接操作。
在 JoinByIndex() 方法中:
-
创建具有相关属性的几何体列表。
-
初始化 LayerConstructor 对象。
-
该方法使用提供的几何体创建矢量图层和几何图层。
-
使用 JoinLayersById() 方法基于唯一标识符(“Id”)连接几何图层。
-
返回结果连接的矢量图层。
在 JoinByCoords() 方法中:
-
创建具有相关属性的几何体列表。
-
初始化 LayerConstructor 对象。
-
使用提供的几何体创建几何图层。
-
使用 JoinLayersByCoords() 方法基于匹配坐标连接几何图层。
-
返回结果连接的矢量图层。
总而言之,这些方法展示了两种不同的数据连接方法:一种基于唯一标识符,另一种基于匹配坐标。 LayerConstructor 类促进这些数据连接操作。
索引的连接选项
JoinOptions 类提供了一组用于配置图层连接的选项。 让我们深入了解每个选项:
-
JoinAttributeName: 此选项允许您指定要使用的条件比较中来自已连接图层的属性名称。 它基于此属性建立两个图层之间的连接。
-
TargetAttributeName: 使用此选项,您可以指定将与已连接图层的属性进行比较的主图层的属性名称。 这有助于确定图层之间的匹配特征。
-
JoinAttributeNames: 此选项使您能够指定要连接的属性名称列表。 如果此列表为空或设置为 null,则已连接图层的所有属性都将包含在连接操作中。 但是,通过选择特定的属性名称,您可以控制正在连接的属性,这对于优化内存使用量和处理时间很有用。
-
ConditionComparer: 此选项允许您定义自定义逻辑来比较两个图层的特征之间的属性值。 默认情况下,它使用 EqualityComparer.Default 比较器,该比较器检查是否相等。 但是,您可以提供自己的自定义比较器来实现 IEqualityComparer 以获得更专业化的比较要求。
-
JoinedAttributesPrefix: 此选项允许您为已连接图层的属性名称指定前缀字符串。 默认值为“joined_”,这意味着已连接的属性将在结果连接的图层中以“joined_”为前缀。 此前缀有助于区分已连接的属性和主图层的原始属性。
JoinOptions 类提供了对图层连接过程各个方面的灵活性和控制。 您可以指定要连接的属性、自定义比较逻辑以及定义已连接属性的前缀。 这些选项使您可以根据特定需求调整连接操作并从合并的图层中获得有意义的见解。
几何连接选项
JoinByGeometryOptions 类表示基于几何连接图层的选项。 让我们探索每个功能的函数:
-
Radius: 此选项指定在其中搜索已连接几何体的半径。 它确定根据空间关系匹配主图层特征与已连接图层特征的接近程度。
-
ConditionComparer: 此选项允许您定义自定义逻辑来比较两个图层的特征之间的属性值。 默认情况下,它使用 EqualityComparer.Default,该比较器检查是否相等。 但是,您可以提供自己的自定义比较器来实现 IEqualityComparer 以获得更具体的比较要求。
-
JoinedAttributesPrefix: 此选项使您能够为已连接图层的属性名称指定前缀字符串。 默认值为“joined_”,这意味着已连接的属性将在结果连接的图层中以“joined_”为前缀。 此前缀有助于区分已连接的属性和主图层的原始属性。
JoinByGeometryOptions 类提供了自定义基于空间关系连接图层过程的方法。 通过指定搜索半径,您可以控制几何体将匹配的范围。 这允许您根据所需的特征之间的接近程度微调连接操作。 提供自定义比较器的选项使您在比较属性值方面具有灵活性,并且为已连接属性添加前缀有助于区分结果连接的图层中的它们。
使用这些选项,您可以执行空间感知的数据合并并从基于其空间邻近度和属性值的连接图层中获得见解。
摘要
GIS 中的数据连接机制允许将几何对象与其各自来自不同图层的属性组合起来。 这提供了分析和提取基于数据中空间和属性关系的信息的能力。 可用的选项使您可以自定义连接过程以满足特定的要求和 GIS 数据分析需求。
数据连接促进了各种任务,包括:
-
找到满足特定空间标准的物体,例如识别距离特定点 500 米范围内的所有建筑物。
-
组合地理数据以创建对情况更全面和信息丰富的概述。
-
分析基于特定空间条件的对象属性值以识别趋势和模式。
数据连接选项允许精确配置对象匹配过程。 这些选项包括选择要连接的属性、定义比较属性值的自定义逻辑以及为已连接数据的属性名称添加前缀。 这些选项提供了灵活性和适应性,可以满足连接过程的需求,并迎合 GIS 数据分析的目标。
数据连接机制在集成和分析地理数据方面发挥着重要作用,从而对所调查对象的空间和属性性质有更全面的了解。