ArcGIS地质图矢量化技巧

news2024/12/24 9:00:14

01

概述

今天以ArcGIS为例,结合多年的工作经验,来介绍一下地质图矢量化的技巧。

02

底图的配准

不同比例尺的图件,有着不同的配准精度要求:

1:20万的地质图,配准误差不能高于20米;

1:50万的地质图,配准误差不能高于50米。

扫描质量很好的原始图件,只需要4个以上的控制点用一次配准就可达到精度要求;扫描质量不好的原始图件,必须要用二次甚至三次配准,在ArcGIS中,至少6个控制点才能进行二次配准,至少10个控制点才能进行三次配准。控制点要均匀分布在图面上。为了配准的方便,在配准之前,还有必要用图像处理软件对一些老化严重的图件进行处理,以去除老化色,恢复其原色。

03

地理数据库(Geodatabase)中要素类(Feature Class)的建立

要素类的建立是地理数据库建立工作的主要内容,在地质图的矢量化工作中,主要涉及到的要素类有面要素(Polygon Features)、线要素(Line Features)、点要素(Point Fatures)。与地质有关的面要素有:侵入岩、沉积岩、变质岩、蚀变带、各种脉岩等;线要素主要有:断层、地质界线等;点要素主要则主要是各种矿点。除此之外还有水系、道路、城镇、居民点等非地质要素。

在建立要素类的过程中,依次要设置名称(Name)、别名(Alias)、类型(Type)、几何特征(Geometry Properties)、坐标系(Coordinate System)、XY容忍度(XY Tolerance)、属性表字段(Fields)等。名称是计算机识别要素类的依据,其设置要做到简洁明了、见名知意,如果需要,还可以设置别名,请注意别名仅是供用户识别使用的,它不是计算机识别的依据。类型(即面、线、点)、几何特征(即是不是包括Z值的3D数据)、坐标系的设置要和底图相同,这样才能保证矢量化后的数据与原始数据一致。XY容忍度不宜设置过大,否则会影响到数据的精确度,我们可根据底图具体的精度要求设置,比如1:20万的地质图,此值设为1米即可满足精度要求。属性表字段的设置十分重要,故放在下一节介绍。

04

要素类的属性表

要素类的属性表的创建和填写是矢量化工作的主要和关键内容。属性表的创建过程主要包括字段的命名和字段类型和长度的选择。例如对于侵入岩,可设置岩体地方性名称、岩石类型、岩性符号、岩性代码、岩石颜色、岩石结构、岩石构造、岩相、主要矿物及含量、次要矿物及含量、与围岩接触关系、接触面走向、接触面倾向、接触面倾角、围岩时代、形成时代、含矿性等。对于沉积岩及地层,可设置地层地方性名称、地层单位符号、地层单位时代、岩石组合、岩石组合主体颜色、岩层主要沉积构造、生物化石、产状等。

字段类型,在地质图矢量化中常用的主要有:Short Integer、Long Integer、Float、Double、Text,因该依字段数据的特征选择。

字段长度太短会不够使用,太长又会造成数据冗余,尤其对于Text类型如此。

水经注万能地图下载器下载的地质图

05

点、线、面的矢量化跟踪

点、线、面的矢量化跟踪,必须要遵循一个基本的原则,就是忠实于原图,与原图一致。

点的矢量化十分容易,只需将地图上的点放到合适的大小,然后在其中心处定位即可。

线的矢量化也较为简单,要求将线条放到合适的粗细,依次用鼠标对其跟踪。由于扫描后的底图在放大到一定程度时将会是一个个方形的栅格,有人主张将底图放大到很大的倍数,跟踪时将鼠标点在栅格中央即可,这样可以将图精确到栅格。

其实这样的说法是不对的,这样做的弊端有二:一是速度慢、效率低;二是这样做的后果未必忠实于原图,相反会造成一些细微的错误。如图1所示,底图的线条原本是光滑的,而按照一个一个的栅格跟踪,出现了很多微小的锯齿。一定要认识到:任何栅格图像放大到一定程度都会出现方形的栅格,这是栅格数据的一大局限,这些方格并不是原始底图的真实反映,而是原始线条的近似表达。要跟踪的不是一个个的方格中心点,而是所有方格的整体走势。

正确和错误的跟踪方法对比

A:正确的方法,把握所有方格的整体走势,线条平滑

B:错误的方法,按照每个栅格的中心跟踪,出现了很多微小的锯齿

由此可见,所谓的“细致”是相对的,有时过于细致,反而会造成错误。所以正确的跟踪方法应该是:把握所有方格的整体走势,让线条最大程度地贯穿这个走势。一般来说,线条应该是平滑的。

面的矢量化是最为复杂和繁琐的,工作量非常巨大。总体上来说,面与面的拓扑关系有以下四种:相离、相邻、相交、包含。处理好面的矢量化问题,就是要正确地处理好这四种拓扑关系。传统的方法是:如果两个面有公共的边,在作图时就要使用捕捉、跟踪等工具,以保证这两个面严格重合在公共边。如果一个面中包含了另外一个面,在作图时就要使用切割工具,然后才能在大面内部新建小面。

很显然,以上关于面的矢量化方法在ArcGIS中完全是常规的方法。这样的方法每次遇到公共的边都要重复跟踪,费时费力,操作起来非常繁琐,稍有不慎就会产生错误,最常见的错误是在多个面的交接处产生一些小的三角形。这样的错误修改起来也是非常麻烦的。

正是因为传统方法的以上缺点,我们强烈地不推荐这样做,而是用一种更为快捷的方法:,按照线要素的矢量化的方法将所有面的边界当作线要素矢量化,从而形成一个叫做作图原始线条的线要素类。注意:矢量化时所有面的边界一定要闭合,所有的线条只能跟踪一遍。然后再用工具箱中的“Feature to Polygon”工具,将作图原始线条转化为面。这样做的好处是操作简单,省时省力而且大大降低了出错的机会。

用工具箱中的“Feature to Polygon”工具可以将任何封闭的曲线转化成面

06

图例

这一部分的操作属于视觉表达的范畴。ArcGIS有强大的图例生成工具,只要熟悉了操作方法,完全可以生成任何需要的图例。

在生成了图例之后,应该将其保存为Style文件,Style文件一旦生成,可使用Style Manger对其修改和管理。

如果以后见到以前做过的图例,这时只需调用以前做好的Style即可。还可以将Style成套地保存,以后遇到这样的图例,只需用“Match to symbols in a style”的方法即可,这样就可以节省大量的时间。

Match to symbols in a style

07

多人分工协作技巧

如果要想在较短的时间内完成规模巨大的图件,就必须要进行多人分工协作。多人分工协作要求每一位成员都严格执行统一的标准,只有这样才能使每个人负责的各个部分都完美地整合衔接在一起。

在工作开始之前,可以建立一个分工图框,每人负责其中的一部分,当所有人的工作完成后就要进行合图。由于大家都是按照统一的分工图框进行工作的,所以合图时每个人的图都可以很好地衔接在一起。有些被图框一分为二的线和面,需要用Merge工具将其恢复原状。

Merge工具即可消除分工图框线条

分工协作时,可以设置分工图框,每人完成其中的一块,合图时用Merge工具即可消除分工图框线条。

分工协作要求高度的一致性,大家执行的标准一点要细化到方方面面,如矢量化跟踪时各节点之间的距离、填写属性表时各字符是大写还是小写,是全角还是半角等。如果在每一个细节上都做到统一,出错的机会将会被降到很小,那么合图后整个数据就会浑然一体。

08

元数据

有人将元数据称为“数据的数据”,它就相当于数据的说明书,对于一套完整的数据,元数据是必不可少的。但笔者对一些矢量化工作人员调查发现,元数据的重要性一直得不到足够的重视,这是很不应该的。比如在商场中购物,没有说明书的产品我们会认为它的质量是信不过的。同理,没有元数据的数据,它的可靠度也不会太高。

ArcGIS为我们提供了丰富而又强大的元数据编辑工具,进入ArcCatalog,选中所要编辑的数据,然后点击数据编辑工具即可进行元数据的编辑,点击各个选项卡即可对各个项目进行编辑。

元数据编辑器

09总结

地质图的矢量化是一项要求细致的基础工作,高质量的矢量数据将为以后的研究提供可靠的数据支撑。笔者所在的工作小组,在掌握以上所述的方法之前,每人用6——7天时间才能勉强完成一幅1:20万的区域地质图,掌握了科学高效的方法后,每人用2——3天即可完成同样的工作量。由此可见,掌握科学高效的矢量化方法是多么重要。

树谷资料库资源大全(3月16日更新)

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

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

相关文章

DFIG控制9: 搭建定子αβ坐标系下的电机模型

DFIG控制9: 搭建定子αβ坐标系下的电机模型。本文基于教程的第9部分(终于做完了)。主要目的是自己搭建一个DFIG的电机模型,与Simulink库中的模型做个对比。 本文基于教程的第9部分: DFIM Tutorial 9 - Analytical Mod…

Focal Loss论文解读和调参教程

论文:Focal Loss for Dense Object Detection 论文papar地址:ICCV 2017 Open Access Repository 在各个主流深度学习框架里基本都有实现,本文会以mmcv里的focal loss实现为例(基于pytorch) 简介: 本文是…

1.mybatis-plus入门及使用

1.什么是MybatisPlus MyBatis-Plus 官网 为什么要学MybatisPlus? MybatisPlus可以节省大量时间,所有的CRUD代码都可以自动化完成MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效…

Java——数组中出现次数超过一半的数字

题目链接 牛客在线oj题——数组中出现次数超过一半的数字 题目描述 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,…

FastDFS与Nginx结合搭建文件服务器,并内网穿透实现公网访问

文章目录前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.1 …

低代码开发重要工具:jvs-flow (流程引擎)2.1.7版本更新内容

流程引擎主要包含了流程定义和编辑、任务分配和处理、流程监控和跟踪、数据模型和存储、条件和规则设置、安全性和权限管理、性能优化以及持续集成和部署等功能,以满足不同业务场景下的需求。 JVS流程引擎从V2版本开始,由flowable切换为 jvs-flow&#…

2023 年 五 大数据恢复软件帮助您找回数据

您是否刚刚丢失了一份需要数天工作才能更换的重要文件?不要恐慌!此列表中排名前 10 位的最佳数据恢复软件应用程序可以帮助您找回数据,您甚至可能不必在它们上花任何钱。 五大最佳数据恢复软件工具 以下是我们最喜欢的 10 大数据恢复软件应用…

记录-vue项目中使用PWA

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言: 梳理了一下项目中的PWA的相关用法,下面我会正对vue2和vue3的用法进行一些教程示例,引入离线缓存机制,即使你断网,也能访问页面。一旦用…

动力节点王鹤SpringBoot3笔记——第八章 文章管理模块

目录 第八章 文章管理模块 8.1 配置文件 8.2 视图文件 8.3 Java代码 第八章 文章管理模块 创建新的Spring Boot项目,综合运用视频中的知识点,做一个文章管理的后台应用。 新的Spring Boot项目Lession20-BlogAdmin。Maven构建工具,包…

VxLAN数据中心L2互连(hand-off方式)

用Arista的veos做了个DCI(hand-off)实验。模拟了VxLAN数据中心hand-off方式做L2互通。 在此分享。 实现思路 分别在DC1、DC2内配置BGP EVPN协议创建VXLAN隧道,实现各数据中心内部VM之间的通信,DC1-BL和DC2-BL通过二层接口方式接…

spring事务(注解 @Transactional )失效场景

目录标题1. 代理不生效1.1 将注解标注在接口方法上1.2 被final、static关键字修饰的类或方法1.3 类方法内部调用示例解决方案:新加一个Service方法1.4 (类本身) 未被spring管理2. 框架或底层不支持的功能2.1 非public修饰的方法2.2 多线程调用举例1举例22.3 数据库本…

C. Uncle Bogdan and Country Happiness(dfs + 回溯)

Problem - C - Codeforces 波格丹叔叔在弗林特船长的团队里待了很长一段时间,有时会怀念他的家乡。今天他告诉你他的国家是如何引入幸福指数的。有n个城市和n -1条连接城市的无方向道路。任何城市的公民都可以通过这些道路到达任何其他城市。城市编号从1到n&#xf…

【软考:软件设计师】 4 计算机组成与体系结构(三)计算机安全 | 加密技术

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于软考中级:软件设计师系列专栏,本专栏服务于软考中级的软件设计师考试,包括不限于知识点讲解与真题讲解两大部分,并且提供电子教材与电子版真题,关注私聊即可 …

服务(第二篇)LAMP

一、编译安装apache ①关闭防火墙,将安装Apache所需软件包传到/opt目录下 systemctl stop firewalld.service setenforce 0 [rootxxx opt]# ls apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 ②安装环境依赖包 yum -y install gcc gcc-c mak…

专业排名全美top6|建筑学硕士学历CSC获批顺利赴美

E老师人文社科背景,二本院校任教,硕士毕业,没有英文文章,且申请周期只有一个月。据此我们提出,以赶上CSC申报为前提,尽量申请美国综合或者专业排名靠前的学校。最终我们助E老师获得美国专业排名TOP6的弗吉尼…

六个阶段形成CRM销售漏斗,优点有哪些

CRM销售漏斗是反映机会状态以及销售效率的重要的销售管理模型。对企业来说,CRM销售漏斗是一个必不可少的工具。通过销售漏斗,企业可以跟踪和分析客户旅程的每个阶段,并制定相应的销售战略。下面来说说,什么是CRM销售漏斗&#xff…

高频PCB电路设计常见的66个问题

随着电子技术快速发展,以及无线通信技术在各领域的广泛应用,高频、高速、高密度已逐步成为现代电子产品的显著发展趋势之一。信号传输高频化和高速数字化,迫使PCB走向微小孔与埋/盲孔化、导线精细化、介质层均匀薄型化,高频高速高…

Redis消息队列实现异步秒杀

Redis秒杀优化 改进秒杀业务,提高并发性能 需求: 1.新增秒杀优惠券的同时,将优惠券的信息保存到redis中 2.基于Lua脚本,判断秒杀库存,一人一单,决定用户是否抢购成功 3.如果抢购成功,将优惠…

Android系统启动流程--init进程的启动流程

这可能是个系列文章,用来总结和梳理Android系统的启动过程,以加深对Android系统相对全面的感知和理解(基于Android11)。 1.启动电源,设备上电 引导芯片代码从预定义的地方(固化在ROM,全称Read …

hive 入门 一般用于正式环境 修改元数据(二)

安装配置可参考 https://blog.csdn.net/weixin_43205308/article/details/130020674 1、如果启动过derby,最小初始化过 在安装路径下删除 derby.log metastore_db rm -rf derby.log metastore_db此处省略安装mysql数据库 2、配置MySQL 登录mysql mysql -uroot …