ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ArcGIS分割面实操指南:从手绘到批量分割的完整方案

ArcGIS分割面实操指南:从手绘到批量分割的完整方案 做国土、规划、不动产数据的人应该都遇过这种场景一块地明明已经画好了上面突然穿过一条新路或者权属界线调整你必须把这块地沿某条线切开变成两块独立的图斑。这个操作在ArcGIS里就叫分割面。分割面是ArcGIS数据编辑里出现频率最高的操作之一不管是地块拆分、行政区划调整、用地分类细化还是不动产宗地分割天天都用得上。这篇文章我从一线数据处理的角度把分割面的几种思路、工具选型、实操步骤和踩坑经验一次性说清楚重点是手绘分割和按线批量分割两种方式。新手照着做就能上手老手也能查漏补缺。1. 分割面在GIS业务里的典型场景1.1 场景一宗地分割与不动产登记不动产登记里最常见的分割需求是一块宗地因为继承、转让、征收等原因需要被切开。举个我实际做过的例子某个权利人名下有一整块宗地面积两千多平方米后来其中三百多平被征收修路就需要沿着测绘单位提供的征收红线把原宗地切成保留宗地和被征收宗地两块。这种分割的特点有两个一是精度要求极高分割线必须严格落在审批红线上差一厘米到几厘米都可能引发权属纠纷二是分割完成后每一块新图斑都要重新编制宗地号、重新计算面积、重新做四至范围描述。也就是说分割面操作只是第一步后续的编号、面积计算、成果整理才是真正占时间的地方。1.2 场景二国土调查中的图斑细化国土调查和年度变更调查中分割面几乎天天用到。最典型的场景是影像上发现新增地物比如一条新建的乡村道路从原来的一片耕地上穿过。这时候你要做的就是把原来这一个耕地地块沿着道路中心线切分成三个部分——道路占用的部分变成交通用地道路两侧还各保留一块耕地。这种场景和宗地分割有个明显区别分割线不是手工画的而是现成的道路中心线、影像解译线或者外业调查线。所以更适合用按线分割的方式批量处理而不是一块一块手绘。这也是很多新手容易搞混的地方明明线已经有了还在用鼠标一点点描效率极低。1.3 场景三规划编制中的地块划分与批量处理控制性详细规划编制时经常遇到几十公顷的发展备用地要根据规划路网切成几十个大小不一的小地块。这种批量分割数据量动辄上百个图斑如果逐个手绘分割线一个下午都做不完。正确做法是先把规划道路中心线整理成一条完整的线要素然后用分割面工具一次完成批量切分。我做过一个项目一百多块现状用地被规划路网切成了四百多块规划地块整个操作不到十分钟。这也是为什么我说分割面的核心不只是会点工具而是知道什么场景用什么方式。这四个场景虽然业务领域不同但技术本质完全一样用一条线把一个多边形切成多个多边形。把这条主线吃透了ArcGIS里不管工具怎么变你都能很快上手。2. 动手前先把工具认全2.1 手绘分割线编辑器工具条里的分割面ArcMap中最直接的分割方式是打开编辑器工具条选中面要素后点击面Polygon下拉菜单里的分割面有些汉化版本叫切割面。启动这个工具后鼠标变成十字准星你像画线一样在面上绘制一条分割线双击或按F2结束画线这个面就会被切成两块或多块。这个工具有三个关键特性它原地修改原要素不生成新图层所以属性字段会完整复制到每一个新切出来的部分。分割线完全由你手绘控制可以画直线、弧线、折线灵活性最高。它只切割当前选中的面。你选中一个面就切一个选中五个面就一次把五个都切了。在ArcGIS Pro中对应的功能是编辑选项卡的修改要素面板里的分割工具。Pro里把分割方式做了细分可以按手绘线分割也可以按现有线要素分割还可以按另一个面的边界来分割。交互方式比ArcMap更现代但底层逻辑没变。2.2 批量按线分割工具箱里的分割面工具当你要用现有线数据去批量切割面数据时就该用工具箱工具了。路径是数据管理工具 → 要素 → 分割面Split Polygon。这个工具接收两个输入一个面要素类一个线要素类输出一个新的面要素类把原面按线切成的每一块都输出为独立的要素。我重点说下这个工具适合什么场景。它最适合的是路网切地块、境界线切权属、河流切图斑这种线是现成的、数量又大的工作。比如前面说的国土调查里一百个图斑被道路分成三百块用这个工具几分钟就搞定如果用手绘分割效率没法比。但要注意这个工具输出的是新数据不会修改原始图层。如果你的工作流是在原数据上编辑、保存、交成果就应该用手绘分割如果你的工作流是基于现状数据派生一份新成果用工具箱里的按线分割更适合。2.3 等分分割ArcGIS Pro里被低估的Divide工具还有一个我会推荐的利器是ArcGIS Pro修改要素面板里的**等分Divide**工具。它可以让你把一个面按指定份数均分或者按指定面积、宽度来切分。举几个实际用处一块标准工业用地要分给三家工厂每家的建筑面积比例是固定的用等分工具按面积比例切比手绘精确得多。你要把一块地沿东西方向切出二十条等宽的条状地块用等分工具输入数量和方向一次成型。不动产里把一个大宗地按预测分摊面积切分Divide工具也可以做。ArcMap里没有等分工具想要均分通常只能手绘加捕捉中点或者写ArcPy脚本。如果你已经用上了ArcGIS Pro这个工具很值得花点时间试试。2.4 一张表做选型不同分割方式怎么选分割方式工具入口适用场景输出方式属性处理手绘分割线编辑器→面→分割面ArcMap编辑→修改要素→分割Pro少量图斑、精细控制原地修改原要素属性自动复制按线批量分割数据管理工具→要素→分割面大量图斑、已有线数据生成新要素类属性自动复制等分分割编辑→修改要素→等分Pro均分、按面积按宽度切分原地修改原要素属性自动复制工具箱分割Split分析工具→提取→分割按字段值批量拆分数据生成多个新要素类属性自动复制最后这种工具箱分割Split我多说一句。它和前面几种不是一回事它是按分割字段把整个要素类里的要素批量子集导出比如按省份字段把全国图斑拆成各省数据。它虽然也叫分割但通常在数据管理时用不解决把一块面切成两块这种编辑问题。很多新手容易把这两个概念搞混实操时先分清你要的是哪种。3. 实操全程演示沿一条村道把地块切成两块3.1 操作前先做好三件事不管用什么工具我建议你动手前先花三十秒做三件准备能省掉后面大量返工。第一备份数据。分割是不可逆操作。虽然可以用编辑器里的撤销CtrlZ但如果你在分割后又做了别的操作撤销就难了。我的习惯是动工之前在要素数据集中复制一份原始要素类或者干脆把原始数据导出到一个备份GDB里。第二确认图层可编辑。在ArcMap里点击编辑器工具条上的开始编辑后注意工具条中间的目标下拉框确保当前目标是你准备切割的面图层。很多人选错了目标图层分割工具就变成灰色无法使用或者切到了别的层上。第三打开捕捉。在工具栏空白处右键调出捕捉工具条勾选端点捕捉顶点捕捉边捕捉三个选项。分割线端点能不能精确贴合到面边界上全靠捕捉。这一步没做好后面极容易出现缝隙和悬挂点。3.2 手绘分割的核心操作步骤下面以ArcMap为例把一次完整的手绘分割流程走一遍。场景某权属地块D001被一条新建村道穿过需要沿着道路边界把地块切成两块。启动编辑器选中D001地块用黑色箭头工具单击图斑选中后图斑高亮显示。点击编辑器工具条上的面下拉菜单选择分割面。鼠标变成十字准星后在村道与地块北侧边界的交点附近单击作为分割线的起点。因为开了捕捉鼠标靠近边界时会自动吸附到边界顶点或边上。沿着村道边界向南侧延伸的方向依次单击绘制分割线。中间经过拐点就单击一次画成折线。分割线画到村道与地块南侧边界的交点时双击鼠标或者按键盘上的F2键结束画线。地块立即被切成两块分割线两侧各生成一个新图斑。打开属性表查看两个新图斑都继承了原D001地块的所有属性字段值。这里有个非常重要的细节分割线的起点和终点都必须落在面的边界上或者从面外穿过面。如果起点落在面内、终点也在面内ArcGIS会认为是无效操作界面没有任何提示你看不出哪里出了问题。我们后面排查部分还会再讲到。如果你需要在分割时精细控制方向画线过程中可以右键使用方向/长度选项输入精确的角度和距离。比如要从地块边界上某个点向正东方向画一条长50米的分割线这个功能可以帮你画得比手拖鼠标精确得多。3.3 分割完成后的属性整理与编号分割完成后最容易被新手忽略的是编号处理。ArcGIS分割时新切出来的每个图斑都会复制原图斑的完整属性这意味着D001这个编号会同时出现在两个图斑上这是不行的。在不动产、国土调查业务里每个图斑必须唯一编号。我习惯的做法是分割完成后立刻对涉及图斑重新编号。打开属性表选中分割产生的两个图斑右键编号字段选择字段计算器用Python表达式生成递增序号。代码是这样的# 在字段计算器的预逻辑脚本代码里粘贴 rec 0 def autoIncrement(): global rec pStart 1 pInterval 1 if rec 0: rec pStart else: rec rec pInterval return rec然后在下面的表达式框里输入autoIncrement()确定后选中的图斑就会从1开始依次编号。如果你希望编号按照空间位置从上到下、从左到右排列可以先新增一个排序字段用要素的质心坐标计算排序值再按排序值排序后重新编号。这个方法在ArcGIS的编号从1递增选定的图斑从1开始编号这类需求里非常通用。编号改完之后还要重算面积。右键面积字段选择计算几何坐标系选数据框坐标系单位选平方米。计算完成后验证一下分割后的几个图斑面积之和是否等于原图斑面积。我在项目里把这个当作最基础的检查手段误差超过0.01平方米就要查原因了。3.4 批量按线分割的完整流程再来演示批量场景。假设你有100个图斑需要按一条贯穿区域的规划道路中心线切成若干块。这种情况下手绘分割完全不可取用数据管理工具 → 要素 → 分割面来做。操作步骤在ArcToolbox中找到分割面工具双击打开。输入要素选择被分割的面图层。分割线要素选择道路中心线图层。输出要素类指定一个新的输出路径比如输出到一个GDB里命名为XX地块分割结果。直接运行。运行完成后打开输出要素查看。你会发现所有与道路线相交的图斑都被切开了每个被切开的部分都是一个独立要素属性字段完整继承自原图斑没有与线相交的图斑保持不变也会出现在输出结果里。使用这个工具时有一个非常实际的经验分割线一定要保证贯穿面。假如一条道路中心线只伸进了图斑一半就断了那这个图斑是切不开的。所以在批量分割前我会先检查线要素的完整性把断线、缺线补好。必要时用修复几何工具先处理一遍线要素再用整合工具把线的端点吸附到面边界附近能大幅减少没有切出来的情况。另外提醒一句这个工具生成的输出是一个全新要素类业务上如果你是要在原图层上继续编辑建议先把这个输出结果复制回原图层再开始后续的编号和属性完善。3.5 分割后的质量检查面积、拓扑与视觉三层分割不是切完就算完的我每次交成果之前都做三层检查。第一层是面积检查前面提过。把分割后所有子图斑面积加总与原图斑面积对比差超过0.01平方米就要回头查几何问题。第二层是拓扑检查。在数据库中创建拓扑把分割后的面要素类加进去规则选不能有缝隙Must Not Have Gaps和不能重叠Must Not Overlap验证一下。如果报错多半是分割线没有精确贴合边界产生了微小的缝隙或重叠。第三层是视觉检查。把视图缩放到分割线附近沿着分割线走一遍看分割线端点是否正好落在边界上有没有冒出一个小尖角有没有肉眼可见的碎面。这一层虽然原始但效果最好很多拓扑规则查不出来的小问题放大看一遍就现原形了。4. 常见问题与排查技巧实录4.1 分割线画完没有任何反应这是新手提问率最高的问题我在论坛上看到过无数次为什么我画完线面没切开原因几乎都在下面这几条里没有选中面要素。分割面工具只对当前选中要素生效没选中自然切不动。目标图层选错了。编辑器工具条上的目标下拉框选成了别的可编辑图层。分割线没有穿过面。起点在面外、终点也在面外虽然线段从面上经过但如果你画的时候断开了或者只碰到了面的一个角ArcGIS识别不了。分割线的起点和终点都在面内。这是一个很容易犯的错误画线时以为只要线穿过面就行实际上起点和终点必须落在面外或面的边界上才能形成有效切割。画了一个闭合环。有同事用分割面工具画了个圈想从地块中间挖走一块这个工具不支持这种操作。要挖走一块应该用裁剪Cut工具的裁剪多边形方式或者直接用另一个面做擦除。排查顺序我建议是先看选中状态再看目标图层再看分割线和面的空间关系。把这三个检查完90%的问题都能定位。4.2 分割后出现尖角和细碎图斑分割线斜着插入边界时切出来的两个图斑里往往有一个带着极小角度的尖角。这种尖角在实际业务里很讨厌既影响出图美观后续做面积计算、空间分析也可能报拓扑错误。搜索热词里出现的arcgis检查尖锐角插件反映的正是这个痛点。我的经验是尽量从源头避免。画分割线时让线的走向尽量与面边界保持较大夹角避免以小角度切入。如果分割线上某个拐点离边界特别近适当把拐点位置调整一下让它与边界保持距离。已经产生尖角碎面后两个实用处理办法用消除工具Eliminate在ArcToolbox → Data Management Tools → Features 下把面积小于阈值的碎小图斑合并到相邻的最大图斑中。在编辑状态下手动选中尖角碎面与相邻图斑执行合并Merge把两个面焊成一块。值得说的是这类问题往往不需要什么特殊插件先用消除工具把阈值以下是碎面清一遍再对照原图斑形状目视检查就能解决绝大多数情况。4.3 属性字段完整但编号重复了分割后打开属性表你会发现新图斑的所有字段都还在面积字段也复制了原值。这里有两个坑第一个坑是面积是复制的旧值。即使你分割得非常精确属性表里的面积字段还是原来整块地的面积不会自动变成切割后的面积。所以分割后必须手动重算面积。我见过不止一次项目成果里两块分割后的图斑面积和原始图斑一模一样这种错误在质检时一眼就会被揪出来。第二个坑是编号没有唯一性。前面提到过用字段计算器重新编号就能解决。但要注意如果分割后的图斑要导出到下一次调查或登记流程里编号规则一定要和下游系统约定好。通常是在原图斑编号后面加1、2之类的后缀或者重新从1开始流水编号。你先搞清楚承接系统对编号格式的要求再动手编避免二次返工。4.4 批量分割失败或结果异常用分割面工具批量切图斑时我遇到过的典型失败场景有这么几个线没有贯穿面。道路中心线在面内部断开只有半截导致该图斑没有被切割。解决办法是在批量处理前用修复几何和延伸线工具把线修通。线端点悬浮在面边界内侧。线端点和面边界之间差了零点几毫米由于容差设置工具判定线没有和边界相交切不出来。此时用整合工具给线层和面层设置一个合适的XY容差让端点吸附到边界上。输出结果里出现了多部件要素。少数情况下如果分割线在面内形成了闭合交汇输出里可能出现多部件面。运行一次多部件至单部件工具把多部件转成单部件后续处理更方便。属性在批量工具中丢失或错位。工具箱工具输出的字段默认继承原始要素但也要检查输出的字段映射是否正确尤其是带别名、域值或者空值的字段。一个重要的批量处理原则先拿三个图斑做小范围测试确认工具参数和输出结构都没问题再全量跑。4.5 拓扑报错缝隙、重叠与悬挂点分割操作做多了最常见的拓扑错误就是缝隙和重叠。缝隙的典型来源是手绘分割线没有捕捉到面边界顶点差了一点点视觉上几乎看不出来但拓扑一查就暴露。重叠的典型来源是分割线与既有边界交叉后新图斑越过了相邻图斑的边界。我的修复流程是这样的在要素数据集中创建拓扑添加分割后的面要素类勾选不能有缝隙和不能重叠。验证拓扑把错误导出为要素类。使用拓扑编辑工具条逐条检查错误。缝隙用重塑边工具把相邻面的公共边拉齐重叠则选中重叠部分从其中一个面中裁剪掉。如果错误数量太多逐条修不过来考虑用整合工具给整个面层设置一个合理的XY容差让相邻面的公共边自动吸附对齐。这个工具有风险会移动顶点使用前必须备份。修复完成后再次验证拓扑直到没有错误。我在项目里总结出的一条实用经验是每做一轮分割就立刻做一次拓扑检查。等到所有分割、编号、面积计算都完成后才检查拓扑一旦发现错误前面的编号、属性可能都要跟着重来。分割完就检查坏消息当下解决效率反而最高。写在最后分割面真正的难点在切完以后从我自己做数据项目的体会来说分割面这个操作本身不难难的是切完以后那串连锁反应编号要重编面积要重算拓扑要检查相邻关系要处理。尤其是批量分割的时候这一步省了功夫后面质检就会加倍让你还回去。所以我长期以来都把这个流程固定成一套操作规范先备份再分割随手重算面积、重编编号接着做拓扑检查最后目视走一遍。哪怕再急的项目我也坚持这个顺序。这套流程帮我避免过无数次返工也建议你把它固化到你自己的项目习惯里去。真正把分割面的面切好靠的不是某一次操作而是每次操作完都不糊弄过去的坚持。
返回列表