好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

空间连接(分析).docx

4页
  • 卖家[上传人]:H***
  • 文档编号:163433169
  • 上传时间:2021-01-24
  • 文档格式:DOCX
  • 文档大小:18.29KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 汇总基于两个要素类中要素之间的空间关系将属性从一个要素类传递到另一个要素类用法此工具用于在要素类之间传递属性字段只要找到指定的空间关系(或匹配选项),就会将 连接要素的属性添加到目标要素中例如,如果将某个点要素类指定为目标要素,将某个面 要素类指定为连接要素,并选择 WITHIN 作为匹配选项,则每个输出点要素除包含其自身原始属性外,还将包含其所在面的属性默认情况下,即使未发现连接要素和目标要素之间存在任何空间关系,所有输入目标要素也都将保留在输出要素类中此操作被视为外部连接如果输出要素类中的目标要素只能与一个或多个连接要素存在空间关系(内部连接),请将保留所有目标要素参数设置为KEEP_COMMON (未选中)连接要素的字段映射参数中的合并规则仅适用于连接要素中的字段,且仅在使用JOIN_ONE_TO_ONE 类型的连接操作时可用对目标要素中的字段应用合并规则或连接操作为 JOIN_ONE_TO_MANY 时,将忽略合并规则始终会向输出要素类中添加名为 Join_Count 的新字段此字段表示连接到各个输入目标要素的连接要素的数量语法SpatialJoin_analysis (target_features, join_features, out_feature_class,{join_operation}, {join_type}, {field_mapping}, {match_option}, {search_radius},{distance_field_name})参数 说明 数据类型只要找到指定的空间关系(或匹配选项),就会将 “连接要素 ”的target_featuresjoin_features属性传递到 “目标要素 ”。

      目标要素 ”可以是 ArcGIS 支持的任意空间数据源只要找到指定的空间关系(或匹配选项),就会将 “连接要素 ”的属性传递到 “目标要素 ”连接要素 ”可以是 ArcGIS 支持的任意空间数据源Feature LayerFeature Layerout_feature_class 该新要素类包含连接到 “目标要素 ”的“连接要素 ”的属性用于在找到多个与同一 “目标要素 ”存在相同空间关系的 “连接要Feature Classjoin_operation ( 可选)素”时确定输出要素类中 “目标要素 ”和“连接要素 ”的连接方式例如,如果在两个独立的面 “连接要素 ”中找到了同一个点 “目标要素”,则可以选择使用 “字段映射 ”合并规则String(JOIN_ONE_TO_ONE) 对两个面的属性进行聚合,也可以选择在输出中存在两个 “目标要素 ”实例,分别包含两个面的属性(JOIN_ONE_TO_MANY) JOIN_ONE_TO_ONE —如果找到多个与同一 “目标要素”存在相同空间关系的 “连接要素 ”,将使用 “字段映射 ” 合并规则对多个 “连接要素 ”中的属性进行聚合。

      例如, 如果在两个独立的面 “连接要素 ”中找到了同一个点 “目标要素 ”,将对这两个面的属性进行聚合, 然后将其传递 到输出要素类如果一个面的属性值为 3 ,另一个面的属性值为 7 ,且指定了 “总和 ”合并规则,则输出要素类中的聚合值将为 10 JOIN_ONE_TO_ONE 为默认选项JOIN_ONE_TO_MANY — 如果找到多个与同一 “目标要素”存在相同空间关系的 “连接要素 ”,输出要素类将包含多个 “目标要素 ”实例例如,如果在两个独立的面 “连接要素 ”中找到了同一个点 “目标要素 ”,则输出要素类将存在两个 “目标要素 ”实例,分别包含两个面的属性确定是在输出要素类中保留所有 “目标要素 ”(外部连接),还是仅保留那些与 “连接要素 ”有指定空间关系的 “目标要素 ”(内部连接)join_typeKEEP_ALL — 将在输出中保留所有 “目标要素 ”(外部连接)这是默认设置KEEP_COMMON — 仅在输出要素类中保留那些与Boolean( 可选)“连接要素 ”有指定空间关系的 “目标要素 ”(内部连接) 例如,如果将某个点要素类指定为 “目标要素 ”,将某个面要素类指定为 “连接要素 ”,并选择 “WITHIN”作为匹配选项,则输出要素类将仅包含那些位于面 “连接要素 ” 中的“目标要素 ”,非 “连接要素 ”内部的 “目标要素 ”将被排除。

      field_mapping ( 可选)控制输出要素类中要包含的属性字段可以添加、删除、重命名字段或更改字段的属性初始列表既包含 “目标要素 ”中的字段, 也包含 “连接要素 ”中的字段Field Mappingsmatch_option ( 可选)定义用于匹配行的条件只要找到该空间关系(或匹配选项), 就会将 “连接要素 ”的属性传递到 “目标要素 ”匹配选项包括:INTERSECT :如果 “目标要素 ”与 “连接要素 ”相交,则将“连接要素 ”的属性传递到 “目标要素 ”StringCONTAINS :如果“目标要素 ”包含 “连接要素 ”,则将 “连接要素 ”的属性传递到 “目标要素 ”对于此选项, “目标要素”不能为点,且仅当 “目标要素 ”为面时 “连接要素 ” 才能为面WITHIN :如果 “目标要素 ”位于“连接要素 ”内部,则将“连接要素 ”的属性传递到 “目标要素 ”对于此选项, “连接要素 ”不能为点, 且仅当 “连接要素 ”为面时 “目标要素 ” 才能能为面CLOSEST :将最近 “连接要素 ”的属性传递到 “目标要素”search_radius ( 可选)distance_field_name ( 可选)如果“连接要素 ”与“目标要素 ”的距离在此范围内,则将进行空间连接。

      仅当将空间关系(或匹配选项)指定为 INTERSECT 或CLOSEST 时,搜索半径才有效空间关系为 INTERSECT 时使用 100 米作为搜索半径表示:如果 “连接要素 ”位于“目标要素”周围的 100 米范围内,则将 “连接要素 ”的属性传递到 “目标要素”空间关系为 CLOSEST 时使用 100 米作为搜索半径表示:如果 “连接要素 ”位于“目标要素 ”周围的 100 米范围内,并且是距该 “目标要素 ”最近的 “连接要素 ”,则将 “连接要素 ”的属性传递到 “目标要素 ”向输出要素类中添加的字段的名称, 用于包含 “目标要素 ”和最近“连接要素 ”之间的距离仅当将空间关系(或匹配选项)指定为CLOSEST 时,此选项才有效 如果未指定字段名称, 将不会向输出要素类中添加该字段Linear unitString代码示例SpatialJoin 示例 1 ( Python 窗口)以下脚本演示了如何在 Python 窗口中使用 SpatialJoin 函数import arcpy from arcpy import env arcpy.SpatialJoin_analysis("C:/data/usa.gdb/states, "C:/data/usa.gdb/cities", "C:/data/usa.gdb/states_cities")SpatialJoin 示例 2 (独立脚本)以下独立脚本演示了如何使用 SpatialJoin 将城市的属性连接到州。

      Name: SpatialJoin_Example2.py # Description: Join attributes of cities to states based on spatial relationships. # Requirements: os module #Author: ESRI # Import system modules import arcpy import os # Set localvariables workspace = r"C:\gpqa\mytools\spatialjoin\usa.gdb" outWorkspace = r"C:\gpqa\mytools\spatialjoin\output.gdb" # Want to join USA cities to states and calculate the mean city population # for each state targetFeatures = os.path.join(workspace, "states")joinFeatures = os.path.join(workspace, "cities") # Output will be the target features, states, with a mean city population field (mcp) outfc= os.path.join(outWorkspace, "states_mcp2") # Create a new fieldmappings and add the two input feature classes. fieldmappings = arcpy.FieldMappings() fieldmappings.addTable(targetFeatures)fieldmappings.addTable(joinFeatures) # First get the POP1990fieldmap.POP1990 is a field in the cities feature class. # The output will havethe states with the attributes of the cities. Setting the # fields merge rule to mean will aggregate the values for all of the cities for # eachstate into an average value. The field is also renamed to be more appropriate # for the output. pop1990FieldIndex = fieldmappings.findFieldMapIndex("POP1990") fieldmap =fieldmappings.getFieldMap(pop1990FieldIndex) # Get the output fields properties as a field object field = fieldmap.outputField # Renamethe field and pass the updated field object back into the field mapfield.name= "mean_city_pop" field.aliasName = "mean_city_pop"fieldmap.outputField = field # Set the merge rule to mean and。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.