回家,出发前夜,看完电影吃晚饭回到住处已近十一点,和同事扯了一会儿淡,正准备去睡觉,这哥们儿突然想起一个问题:

如何把相接的面搞出一个20cm的分隔带?因为两区划定项目数据质检要求不同的地块图斑间应有大于20cm的距离,而从其他数据转绘处理而来的地块图层面图斑是相接的,不同图斑种植年份不同所以不能进行合并。

他的打算线转面,然后找到图斑间的公共边,进行缓冲,然后对原图班进行擦除。

我反问他“如何确定图斑的公共边?”,一顿“批斗”。

他抛出这个问题的时候我便想到了找出图斑公共边的的方法以及整个流程的方案,大半夜的掏出电脑给这厮讲解了一下。

各位看官是否有好的解决方案,欢迎打脸。

step1 找出公共边

使用Intersect工具进行相交操作,out type输出类型选择line,相接图斑的公共边便会生成,如下图是“LQDK_Intersect”。

step2 生成缓冲区

对“LQDK_Intersect”进行缓冲操作,设定缓冲距离0.125m,双侧缓冲,终端类型是扁平矩形,缓冲区全部融合。生成“LQDK_Intersect_Buffer”。

step3 擦除

使用Erase工具用“LQDK_Intersect_Buffer”要素类擦除原“LQDK”要素类。得到“LQDK_Erase”要素类。

问题来了

由于缓冲形成的矩形端部相接处可能存在空隙,造成下图的情况。

restep 2换个方案 一侧缓冲

在left一侧缓冲0.25m,上图左侧问题基本改善(随机浏览未有发现问题)。

step4 再次使用Interset工具,辅助人工完善数据

使用Intersect工具对“LQDK_Erase”要素类如上图右侧可能存在的点接触问题进行相交操作,结果类型选“Point”。

根据结果逐个定位point进行人工编辑。

其实这个点很容易借助编程批量删掉。

ArcGis基础——相接面制造指定距离的分隔带的更多相关文章

  1. (转载)solr实现满足指定距离范围条件的搜索

    配置schema.xml <?xml version="1.0" encoding="UTF-8" ?> <schema name=" ...

  2. 一个ROS的服务,使机器人向前移动指定距离

    源代码有点长,放文末链接里了. 服务描述及代码现在的服务是:请求时携带要前进的距离,然后底盘前进相应距离.代码如下,改动很小: #!/usr/bin/env python import rospyfr ...

  3. Go基础系列:指定goroutine的执行顺序

    Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 当关闭一个channel时,会 ...

  4. 算法基础:正整数指定规则排序问题(Golang实现)

    给定字符串内有非常多正整数,要求对这些正整数进行排序.然后返回排序后指定位置的正整数 排序要求:依照每一个正整数的后三位数字组成的整数进行从小到大排序 1)假设不足三位,则依照实际位数组成的整数进行比 ...

  5. jquery实现移动端页面加载后,向上滚动指定距离无效引起的探索

    效果如下,页面加载完后向上滚动一段距离 最近一同事询问用jquery为何无法实现上面效果,查看代码后发现代码并没写错,   也正确引入了zepto.js,也不是版本问题(因为是移动端项目,出于性能和需 ...

  6. ArcGis基础——动态显示面要素的面积值

    很基础,不赘述. 1.在catalog(目录)新建一个PersonalGeoDatabase(个人地理数据库),导入需要处理的Shapefile文件. 坐标系统,存储路径与命名根据自己需求设定 2.直 ...

  7. 原生js来写获取元素距离顶部距离,以及滚动条滚动指定距离和时间控制

    这是我在写vue项目里封装的一个公共js类 里面还有一些其他的方法,一并拿过来了 class Public { isDesktop(){ //判断是否为pc端 return (window.scree ...

  8. Python3基础 访问列表指定索引值的元素

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  9. Python3基础 count 返回指定元素在列表中的个数

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

随机推荐

  1. gcc版本切换

    查看安装的gcc版本 sudo update--alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100 显示所有版本gcc路径 sudo ...

  2. 2018-2-13-win10-uwp-简单MasterDetail

    title author date CreateTime categories win10 uwp 简单MasterDetail lindexi 2018-2-13 17:23:3 +0800 201 ...

  3. @Profile使用及SpringBoot获取profile值

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Fmuma/article/details ...

  4. 如何卸载不用的VDP

    1.首先删除VDP 2.登录AD的DNS当中,删除VDP对应的DNS解析 3.1登陆 https://vcenterip/mob 这个地址. 输入你的管理员账号密码. 3.2进入content链接. ...

  5. 【学术篇】bzoj2440 [中山市选2011]完全平方数

    -题目の传送门- 题目大意: 找到第k个无平方因子数. 看到数据范围很大, 我们要采用比\(O(n)\)还要小的做法. 考虑如果前\(x\)个数中有\(k-1\)个无平方因子数, 而前\(x+1\)个 ...

  6. procixx 时钟的坑

    error 1.procixx设置800M,uboot中是720M 了解到整个过程是,当procixx配置后,通过FSBL中的ps_init.c反应出来 // ARM_PLL_FDIV = 48    ...

  7. 消息队列之AciveMQ

    activemq安全设置 设置admin的用户名和密码  

  8. Mybatis-Generator demo

    使用Mybatis-Generator自动生成Dao.Model.Mapping相关文件(转) https://www.cnblogs.com/smileberry/p/4145872.html == ...

  9. Flutter-底部導航欄切換

    程序入口 import 'package:flutter/material.dart'; import 'botton_navigation_widget.dart'; void main() =&g ...

  10. java连接远程服务器并执行命令

    导入必要的jar包 <dependency>  <groupId>ch.ethz.ganymed</groupId> <artifactId>ganym ...