自动化和半自动矢量化提取地物矢量轮廓

news2025/1/13 9:50:52

在这里插入图片描述

假期愉快(这个假期加班了没?图片)!今天小助手来分享关于自动化和半自动化的矢量提取,使用的软件都是我们常用的软件。一是使用Global Mapper对遥感影像或矢量底图进行自动提取,二是基于天地图矢量底图使用ArcGIS半自动矢量化提取地物矢量轮廓。这个两个小技巧还是挺有趣的,有空的小伙伴可以学习操作一番。
Global Mapper

对遥感影像或矢量底图进行自动提取

先说下Global Mapper中图像提取矢量的原理,比较简单粗暴:直接是提取影像中的像素RGB,然后根据像素颜色提取,类似于Photoshop的魔棒工具,下面我们来看看Global Mapper中如何操作。
本次测试是0.5的遥感影像中提取不规则水域矢量。
软件:Global MapperV22(21版本后都带此功能)
数据:0.5m遥感影像
在影像中找了一圈,我们专门找了一个不规则的水塘进行测试。

在这里插入图片描述

Global Mapper菜单栏中layer→Create Area Features from Equal Values…
在这里插入图片描述

Maximum Match设置30(这个类似PS中的容差,可根据自己的影像情况来设定)点击Only Selected Color(S)选中提取区域的颜色。
在这里插入图片描述
在这里插入图片描述

然后再点击Area Bounds,选择All Loaded Dat 画个你所提取的区域。

在这里插入图片描述

来看下效果。
在这里插入图片描述

最后移除不必要的矢量。可按面积来选择,一键全部选中删除。
在这里插入图片描述

最后看成果!
在这里插入图片描述

当然除了遥感影像,矢量地图更容易提取。

在这里插入图片描述

同样的操作步骤,矢量地图操作起来效果会更好。下面来看下提取的效果

在这里插入图片描述

提取后可直接导出.Shp/Kml等常用矢量格式,最后是套合卫星影像后效果。

在这里插入图片描述

ArcGIS

半自动矢量化提取地物矢量轮廓

一、加载矢量底图

网站搜索【天地图-在线地图】。

在这里插入图片描述

打开网站,点击左上角的三道杠 -> 添加图层,选择矢量底图服务。
在这里插入图片描述

选取想要矢量化的地方,利用截屏工具截取下来,这里为什么不用遥感影像作为底图,主要是因为像元太过多样,太过复杂,不好做二值化处理。

在这里插入图片描述

二、栅格类二值化

1.改变符号系统
将截图加载至ArcMAP中,右键图层选择属性 -> 符号系统,将显示方式由RGB合成变为拉伸。
在这里插入图片描述

2.识别像元
利用识别工具,探查不同地物的像元值,这里发现建筑物的像元值为251,道路的像元值为253。
在这里插入图片描述

3.类二值化处理
利用重分类工具,将其分为其它地物、建筑物和道路三类,点击分类可设置类别和中断值。

工具位置:Spatial Analyst工具 -> 重分类 -> 重分类
在这里插入图片描述

二值化正常应为两个值,分别为0和1,一般1为要提取的地物,0为其它地物,这里我们把道路也一起进行矢量化,就设定为3个值。

在这里插入图片描述

相比较来说处理的还是非常不错的,但若是原图层有很多标注的话,是非常影响处理的。

三、工具矢量化

1.矢量化面
调用栅格转面工具,将栅格图层转化为矢量面图层。
在这里插入图片描述

观察属性表会发现gridcode字段记录了类别信息,此处0为建筑物,1为其它地物,2为道路。
在这里插入图片描述

仔细观察图层会发现有很多属于建筑物的小图斑,可以将它们找出来以后删掉。

在这里插入图片描述

可以利用识别工具探查最小建筑物的面积,再利用按属性选择工具将小于这一面积且同属建筑物的图斑找出来,这里在按属性选择工具中输入gridcode = 0 AND Shape_Area < 271。

在这里插入图片描述
在这里插入图片描述

打开编辑器,使其处于编辑状态,删掉即可。

2.矢量化线
打开矢量面属性表,利用按属性选择工具选取属于道路的图斑。
在这里插入图片描述
在这里插入图片描述

调用要素转线工具,将选中的道路图斑转为矢量线,看起来还行,不过基本就是提取的轮廓线。

在这里插入图片描述

四、ArcScan矢量化

1.添加ArcScan扩展模块
添加ArcScan扩展模块只需点击软件上方的【自定义】,选择【扩展模块】,勾选【ArcScan】即可。
在这里插入图片描述
在这里插入图片描述

里面除了ArcScan扩展模块,还有关于网络分析、3D分析等其它的扩展模块。建议全部勾选,说不定某天在使用工具时用到了某一个扩展模块,但此时并没有勾选的话,使用工具时很有可能会报错,到时候到底是哪里出了问题都不知道。

2.添加ArcScan和编辑器工具条

在这里插入图片描述
在这里插入图片描述

右键工具栏空白处,在弹出的菜单栏中勾选位于上方的ArcScan和中间偏上的编辑器。
在这里插入图片描述

3.创建图层
在自己想要存储的目录中创建点图层,若是普通文件夹就新建ShapeFile,若是地理数据库就新建要素类,这里仅介绍后者。

在这里插入图片描述

在第一页设置名字及要素类型,第二页这里作者就不设置坐标系了,怪麻烦的[(* ̄3 ̄)╭],其它页皆为默认选项即可。

在这里插入图片描述

这里注册矢量面和矢量线两个图层。

4.二值化处理
像之前类二值化处理过的图层是没办法用的,ArcScan工具条上的工具都是灰色的。
在这里插入图片描述

我们可以在之前处理的基础上进行二值化,右键之前重分类的结果图层名称,选择属性 -> 符号系统,将显示方式变为【已分类】,类别设置为2,颜色随便,个人感觉建筑物设为黑色其它为白色更能凸显建筑物的轮廓,点击分类设置中断值为0和1。

在这里插入图片描述

此时可以看到工具条上已经有了二值化处理结果的图层了,但是工具还是黑色的,这主要是因为矢量化时要改变矢量图层的内容,需要使编辑器处于编辑状态才行。

在这里插入图片描述

5.矢量化
使编辑器处于编辑状态。
在这里插入图片描述

点击ArcScan工具条上的【矢量化】,选择【选项】。

在这里插入图片描述

设置矢量化方法选择为轮廓,前景颜色为黑色,背景颜色为白色。

在这里插入图片描述

勾选显示预览可是预览下矢量化效果,点击生成要素可以导出至矢量图层。

在这里插入图片描述

在矢量化道路时,需要重新设置符号系统,将中断值改为1和2即可。

在这里插入图片描述
在这里插入图片描述

矢量化选项更改矢量化方法为中心线,其它不变。
在这里插入图片描述
在这里插入图片描述

  • END -

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阶段性总结 | C语言

… &#x1f333;&#x1f332;&#x1f331;本文已收录至&#xff1a;技术之外的往事 更多知识尽在此专栏中&#xff01; &#x1f389;&#x1f389;&#x1f389;欢迎点赞、收藏、关注 &#x1f389;&#x1f389;&#x1f389;回顾过去 各位CSND的小伙伴们大家好&#xf…

C · 进阶 | 慎看!深剖文件操作,怕你停不下

啊我摔倒了..有没有人扶我起来学习.... 目录前言一、 什么是文件1.1 程序文件1.2 数据文件1.3 文件名二、文件的打开和关闭2.1 文件指针2.2 文件的打开和关闭三、文件的顺序读写3.0 有必要解释一下*3.1 fputc3.2 fgetc3.3 fprintf3.4 fscanf3.4.1来个小总结&#xff08;这里忽略…

双非本23秋招之路-从考研跑路到某安全大厂(无实习、项目)

文章目录双非本23秋招之路-从考研跑路到某安全大厂&#xff08;无实习、项目&#xff09;一、自我介绍二、简历准备三、刷题四、八股文五、项目方面六、关于实习七、面试方面八、秋招路程九、简历投递十、面经分享双非本23秋招之路-从考研跑路到某安全大厂&#xff08;无实习、…

springboot+jsp新闻发布投稿系统

本文采用JSP技术构建的一个管理系统&#xff0c;实现了一个新闻发布系统。新闻发布系统的主要实现功能包括&#xff1a;管理员&#xff1a;首页、个人中心、用户管理 、新闻分类管理 、新闻信息管理、新闻投稿管理、论坛管理、我的收藏管理、投诉建议管理、系统管理。前台首页&…

Python编程 print输出函数

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.输入与输出 1.print&#xff08;&#xff09;输出函数 2.sep 3.en…

【MySQL数据库和JDBC编程】第三章-第一节:MySQL的增删查改基础篇

文章目录一&#xff1a;INSET新增二&#xff1a;SELECT查询&#xff08;1&#xff09;全列查询&#xff08;2&#xff09;指定列查询&#xff08;3&#xff09;查询字段为表达式&#xff08;4&#xff09;起别名&#xff08;5&#xff09;去重&#xff08;DISTINCT&#xff09;…

微信小程序request:fail报错(包括不执行fail回调问题)

微信小程序request:fail报错&#xff08;包括不执行fail回调的问题&#xff09;1. 不执行fail回调的问题2. request:fail报错原因2.1 小程序未配置域名导致的错误2.2 微信小程序使用的服务器环境不支持TLS1.22.3 使用的SSL证书不信任2.4 SSL证书证书链缺乏2.5 域名未备案&#…

使用Spring框架进行Web项目开发(初级)

目录 前言 1. 为什么常规的Spring框架不适合Web项目呢&#xff1f; 2. 如何在Spring框架中创建容器&#xff1f; 3. Spring框架开发Web项目的步骤 3.1 创建maven项目 3.2 添加相应的依赖 3.3 在webapp目录下的web.xml中注册监听器 3.4 在webapp文件夹下的web.xml中配置…

【信息科学技术与创新】自然语言处理 NLP 计算机与智能 课程总结思考

深入了解 NLP 及课程总结反思 摘要 自然语言处理的历史发展自然语言处理的方法与相关应用关于数据智能科学技术导论这门课程的总结反思 Navigator深入了解 NLP 及课程总结反思一、自然语言处理的历史发展二、自然语言处理的方法与相关应用三、关于数据智能科学技术导论这门课…

【C++初阶】日期类实现、const成员函数、取地址及const取地址操作符重载

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【C学习与应用】 ✒️✒️本篇内容&#xff1a;日期类的代码实现、const成员函数的概念和作用、取地址及const取地址操作符重载 &#x1f6a2;&#x1f6a2…

去水印小程序

真正的大师,永远都怀着一颗学徒的心&#xff01; 一、项目简介 项目UI确实有点朴实无华&#xff0c;但并不影响她美丽的内在。这和人也一样&#xff0c;属于心灵美。 虽然&#xff0c;这个社会上的大多数人喜欢从一件事物的外表&#xff0c;去评判事物的好坏&#xff0c;即好…

vue支付项目-APP支付宝支付功能

⭐️⭐️⭐️ 作者&#xff1a;船长在船上 &#x1f6a9;&#x1f6a9;&#x1f6a9; 主页&#xff1a;来访地址船长在船上的博客 &#x1f528;&#x1f528;&#x1f528; 简介&#xff1a;CSDN前端领域优质创作者&#xff0c;资深前端开发工程师&#xff0c;专注前端开发…

FreeRTOS 软件定时器的使用

FreeRTOS中加入了软件定时器这个功能组件&#xff0c;是一个可选的、不属于freeRTOS内核的功能&#xff0c;由定时器服务任务&#xff08;其实就是一个定时器任务&#xff09;来提供。 软件定时器是当设定一个定时时间&#xff0c;当达到设定的时间之后就会执行指定的功能函数&…

【趣学算法】Day2 贪心算法——最优装载问题

14天阅读挑战赛努力是为了不平庸~ 算法学习有些时候是枯燥的&#xff0c;这一次&#xff0c;让我们先人一步&#xff0c;趣学算法&#xff01; ❤️一名热爱Java的大一学生&#xff0c;希望与各位大佬共同学习进步❤️ &#x1f9d1;个人主页&#xff1a;周小末天天开心 各位大…

ESP8266/esp32接入阿里云物联网平台点灯控制类案例

ESP8266/esp32接入阿里云物联网平台点灯控制类案例&#x1f4cc;阿里云物联网云平台介绍&#xff1a;https://help.aliyun.com/product/30520.html &#x1f38b;需要自己在阿里云物联网云平台注册自己的账户&#xff0c;这里不做介绍了。 &#x1f33b;阿里云物联网云平台创建…

Python基础入门(持续更新中)

一、发展历程 Python的创始人为荷兰人吉多范罗苏姆&#xff08;Guido van Rossum&#xff09;。1989年圣诞节期间&#xff0c;在阿姆斯特丹&#xff0c;Guido为了打发圣诞节的无趣&#xff0c;决心开发一个新的脚本解释程序&#xff0c;作为ABC语言的一种继承。之所以选中单词P…

CANoe-以太网软硬件网络自动映射的问题

以太网软硬件网络自动映射的问题 当我们设置CANoe以太网模式为Network-based access模式时 我们需要在CANoe硬件里配置segment,具体内容请参考文章《如何配置CANoe Network-based access模式的以太网网络拓扑》 有时我们图省事,配置的segment默认名称是什么,我们也不管,也…

UVM如何处理out-of-order乱序传输

文章目录前言1、基本思路2、支持乱序传输的sequence3、支持乱序传输的Driver总结前言 乱序传输(out-of-order)是指在协议中&#xff0c;后发出去的req&#xff0c;支持先回resp&#xff0c;通常通过ID来保证req和resp之间的关系。很多协议支持乱序传输&#xff0c;例如AXI4。本…

我们简单的new了一个对象,JVM都做了哪些贡献?

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章是关于CAS的介绍以及在我们new对象时&#xff0c;Java虚拟机会为我们做些什么贡献。 本篇文章记录的基础知识&#xff0c;适合在学Java的小白&#xff0c;也适合复…

【C++笔试强训】第九天

&#x1f387;C笔试强训 博客主页&#xff1a;一起去看日落吗分享博主的C刷题日常&#xff0c;大家一起学习博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a;夜色难免微凉&#xff0c;前方必有曙光 &#x1f31e;。 &#x1f4a6; &…