ArcGIS根据相邻关系提取相邻面&提取面公共线

ArcGIS提取相邻建筑面及公共边方法
本文介绍如何在ArcGIS中通过面转线操作提取相邻建筑面的公共边,并利用LEFT_FID和RIGHT_FID字段识别相邻面,通过属性选择实现相邻与不相邻面的筛选。

需求分析

这是一份建筑面数据

<think>我们正在处理用户的问题:在ArcGIS 10.8中根据栅格范围生成矢量轮廓。这实际上是将栅格数据的边界(即栅格的有效数据区域)转换为一个矢量多边形。通常,这个多边形就是栅格数据的外接矩形(因为栅格数据是矩形的),但有时候用户可能想要根据栅格中的有效数据(非NoData区域)生成一个实际数据范围的轮廓(可能是不规则的)。这里我们分两种情况讨论: 情况1:生成栅格数据的外接矩形(即整个栅格的范围,矩形) 情况2:生成栅格中有效数据(非NoData)区域的轮廓(可能是不规则多边形) 由于用户的问题中提到了“根据栅格范围生成矢量轮廓”,我们首先考虑情况1,因为情况2通常称为“栅格转(转换有效数据区域)”。 但是,根据引用[3]中提到的“Arcgis栅格数据的矢量化(创建和编辑点、线”,用户可能也需要情况2的方法。因此,我们将分别介绍。 ### 情况1:生成栅格数据的外接矩形(矩形轮廓) 1. **使用“栅格范围”工具**: - 打开工具箱:`数据管理工具 → 栅格 → 栅格处理 → 栅格范围`。 - 参数设置: - 输入栅格:选择你的栅格数据。 - 输出要素:指定输出要素的位置和名称。 - 选项(可选): - 范围类型(默认为第一个):`RECTANGLE`(矩形)或`POLYGON`(多边形)。注意:这里选择`RECTANGLE`会生成一个矩形,而`POLYGON`会生成与栅格有效数据区域一致的多边形(即情况2)。但注意,在10.8版本中,这个工具的参数可能有所不同,实际上,在ArcGIS 10.8中,`栅格范围`工具默认生成矩形,而生成有效数据区域的多边形需要使用其他方法(见情况2)。 - 执行:运行工具,输出即为栅格的外接矩形。 注意:在ArcGIS 10.8中,`栅格范围`工具实际上有两个选项:`范围类型`参数可以选择`RECTANGLE`(矩形)或`POLYGON`(多边形)。但是,这里的`POLYGON`并不是指有效数据区域,而是指整个栅格范围(矩形)用四个角点表示的(仍然是矩形)。因此,要得到有效数据区域的多边形,我们需要使用情况2的方法。 ### 情况2:生成栅格有效数据区域(非NoData区域)的轮廓(不规则多边形) 2. **使用“栅格转”工具**: - 这个工具可以将栅格中相同的像元值转换为,但这里我们只关心有效数据区域(即非NoData区域)。我们可以先对栅格进行重分类,将NoData区域和有效数据区域区分开,然后转换。 - 步骤: a. **重分类栅格**:将有效数据区域赋予一个值(比如1),NoData区域保持不变(或赋予另一个值,但转换时只转换值1的区域)。 - 工具:`Spatial Analyst工具 → 重分类 → 重分类`。 - 设置:将原栅格中所有有效数据值重分类为1,NoData保持不变(或者也可以将NoData重分类为一个值,比如0,然后后选择值为1的区域)。 - 输出:`reclass_raster`。 b. **使用“栅格转”工具**: - 工具:`转换工具 → 由栅格转出 → 栅格转`。 - 参数: - 输入栅格:选择重分类后的栅格`reclass_raster`。 - 字段:选择`VALUE`(即栅格值)。 - 输出要素:指定输出路径。 - 勾选“简化”(可选,使轮廓更平滑)。 - 注意:这个工具会将值为1的区域转换为一个或多个(如果有效数据区域是连续的,通常是一个)。 c. **处理结果**:转换后的要素中,每个代表一个连续的有效数据区域。如果只需要外部轮廓,可能需要合并或者提取最大(如果有效数据区域是连续的,则只有一个)。 3. **使用“栅格域”工具(旧版本方法)**: - 在早期版本中,有一个“栅格域”工具(Raster Domain),在10.8中可能位于:`转换工具 → 由栅格转出 → 栅格域`。 - 这个工具可以直接将栅格的有效数据范围(非NoData区域)转换为一个要素。 - 参数: - 输入栅格:选择原始栅格。 - 输出要素类:指定输出路径。 - 注意:这个工具生成的是栅格的有效数据区域(非矩形,可能是不规则多边形),但要求栅格数据必须有一个有效的空间参考。 ### 推荐方法 - 如果只需要栅格的外接矩形(矩形轮廓),使用**栅格范围**工具,并确保范围类型选择`RECTANGLE`(或者不选,默认就是矩形)。 - 如果需要栅格有效数据区域(非NoData区域)的轮廓(不规则多边形),使用**栅格域**工具(如果可用)或者通过**重分类+栅格转**的方法。 ### 注意事项 - 坐标系:确保输出要素的坐标系与栅格一致。 - 有效数据区域:对于“栅格域”工具,它生成的是栅格中所有非NoData像元的最小边界多边形(可能包含多个不连续的区域,但会生成一个多部分要素)。 - 性能:对于大型栅格,“栅格转”可能会比较慢,而“栅格域”工具通常更快。 ### 示例步骤(生成有效数据区域轮廓) 1. 打开工具箱,找到`转换工具 → 由栅格转出 → 栅格域`。 2. 输入栅格:选择你的栅格文件(如`dem.tif`)。 3. 输出要素:指定输出路径(如`raster_domain.shp`)。 4. 点击确定,运行工具。 ### 引用说明 根据用户提供的引用,引用[3]提到了栅格数据的矢量化,包括创建和编辑点、线,这正好与我们的问题相关[^3]。 --- §§相关问题§§ 1. 如何将多个栅格的有效数据区域合并为一个矢量? 2. 栅格转工具生成的矢量过于复杂,如何简化? 3. 如何提取栅格中特定值(如高程大于1000米)的区域轮廓? 4. 在ArcGIS中如何将矢量转换为栅格数据的掩膜?</think>在 ArcGIS 10.8 中根据栅格范围生成矢量轮廓,可通过以下方法实现: ### 方法 1:直接生成栅格外接矩形(矩形轮廓) 1. **使用【栅格范围】工具** - 路径:`工具箱 → 转换工具 → 由栅格转出 → 栅格范围` - 参数设置: - 输入栅格:选择目标栅格(如 `dem.tif`) - 输出要素:指定输出矢量路径(如 `raster_boundary.shp`) - 范围类型:选择 `RECTANGLE`(生成矩形边界) - 执行结果:生成与栅格范围完全一致的外接矩形[^3]。 ### 方法 2:提取有效数据区域轮廓(不规则轮廓) > 适用于提取非矩形的实际数据范围(如剔除NoData区域) 1. **创建栅格掩膜** - 工具:`Spatial Analyst工具 → 地图代数 → 栅格计算器` - 公式:`Con(~IsNull("原始栅格"), 1)` - 原理:将有效数据区域赋值为1,NoData区域为Null - 输出:`mask_raster`(二值化掩膜) 2. **转换栅格为矢量** - 工具:`转换工具 → 由栅格转出 → 栅格转` - 参数设置: - 输入栅格:选择上一步的 `mask_raster` - 字段:选择 `VALUE` - 输出要素:`data_area.shp` - 勾选 **"简化"**(减少节点数量) - 执行结果:生成与有效数据区域完全匹配的不规则多边形[^3]。 ### 关键说明 1. **坐标系对齐** - 确保栅格与输出矢量使用相同坐标系(右键栅格 → 属性 → 源 查看) 2. **复杂轮廓处理** - 若生成的包含多个碎片,使用 `数据管理工具 → 制图综合 → 融合` 合并相邻 3. **批量处理** - 使用 `模型构建器` 将流程自动化,适用于多栅格处理 ### 示例流程 ```mermaid graph TD A[原始栅格] --> B{选择方法} B -->|矩形轮廓| C[栅格范围工具] B -->|不规则轮廓| D[栅格计算器创建掩膜] D --> E[栅格转工具] C --> F[输出矩形] E --> G[输出数据区域] ``` > ⚠️ 注意:当栅格存在多个不连续的有效区域时,"栅格转"会生成多部件多边形(multipart polygon),可通过 `要素转单部件` 工具拆分。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sky J

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值