从RGB扫描图到数字化等高线矢量图
1 用arcgis 对地形图进行校正,主要是通过判断地图的坐标系统,然后将图层的坐标系统设置正确。选择图上的经纬网交点,对原图进行校正,一般要求四角和均匀布点。
2 二值化图像。如果是RGB图像,即彩色图像,对等高线的RGB范围进行估计,主要办法是查看足够多的栅格图上等高线像元的RGB值,然后对R的值的范围进行确定,比如100-155范围,当然这个范围肯定还包括了非等高线的地物数据。分别对RGB三者进行同样的操作。然后,使用栅格计算器进行计算,抽取出符合条件范围的数据,抽取出的数据天然是二值化的。保存好这个文件。
3.用矢量化工具进行处理。首先,使用矢量化工具中的栅格选择工具,进行初步的碎点的删除操作,比如选择删除所有不连续的小于5个像元的数据。然后设置矢量化的选择参数,比如对平滑参数一般为5,如间隙容限我选择的是50-100,如搜素角度我选择100度,这样,产生的预览图你可以看看是否连续,对不连续的,或者错误的地方,可以通过调整参数,或者最重要的:使用栅格编辑器进行编辑。记得,每次编辑完成后将自动预览,然后反复修改,理论上可以消除所有不好的错误。
4,产生等高线,如果第三步的栅格图处理得当的话,此次就没什么可以做的。当然等高线生成以后,需要检查断线,主要可以通过属性表。查询线段长度,或者其他手段,如拓扑检查。但我目前还没有用到拓扑检查 。
5 最后,对数据进行拼接,可以先使用融合,将几个图层的数据融合到一张图层中,然后使用使用integrate工具,对小间隙进行处理。可以先进行union全部的线数据,然后在使用爆炸工具将线炸开。这样你的数据基本就是搞定了。
enjoy it
从RGB扫描图到数字化等高线矢量图的更多相关文章
- Android 开发 VectorDrawable 矢量图 (三)矢量图动画
VectorDrawable 矢量图 三部曲: Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图 Android 开发 VectorDrawabl ...
- Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图
VectorDrawable 矢量图 三部曲: Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图 Android 开发 VectorDrawabl ...
- 说明位图,矢量图,像素,分辨率,PPI,DPI?
说明位图,矢量图,像素,分辨率,PPI,DPI? 显示全部 关注者 28 被浏览 7,031 关注问题写回答 邀请回答 添加评论 分享 2 个回答 默认排序 刘凯 21 人赞同了 ...
- ps中的位图,矢量图,颜色模式
什么是位图?什么是矢量图? 位图是由像素组成的图像,在缩放和旋转的时候容易失真,同时文件容量较大 矢量图是根据几何特性来绘制的图形,通过数学公式计算获得的,不易制作色彩变化太多的图象 颜色模式 RGB ...
- 【译】在Asp.Net中操作PDF - iTextSharp - 绘制矢量图
原文 [译]在Asp.Net中操作PDF - iTextSharp - 绘制矢量图 在上一篇iTextSharp文章中讲述了如何将现有的图片插入PDF中并对其进行操作.但有时,你需要在PDF中绘制不依 ...
- iOS 使用矢量图
iOS 使用矢量图 iOS 图标通常用 PNG 格式的图片.PNG 图片放大到超过自身的大小就会模糊.可以使用 PDF 格式的矢量图,优点是任意改变图片大小并且保持清晰度. 简单使用 与 PNG 格式 ...
- 颜色模式、DPI和PPI、位图和矢量图
颜色模式:用于显示和打印图像的颜色模型 RGB:电子设备的颜色 CMYF:印刷的颜色 印刷的图像分辨率大于等于120像素/厘米,300像素每英寸 图像分辨率单位为PPI(每英寸像素Pixel per ...
- svg矢量图
svg简介 Scalable Vector Graphics 可缩放矢量图形 SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失 svg知识点 svg如何绘图 svg和cnavas区别 svg ...
- 矢量图和Word:EPS,PDF,EMF和SVG
1.EMF和Word 在学校的时候,我思考过一个问题,论文中的插图如何保证清晰度.关键之一就是使用矢量图.参考知乎问题:如何在论文中画出漂亮的插图?.常见的矢量图包括:EPS,EMF和SVG.SVG适 ...
随机推荐
- spring总结之三(依赖注入)
DI(重要):依赖注入(Dependency Injection).一般情况下,一个类不可能独立完成一个复杂的业务,需要多个类合作共同完成,需要在类中调用其它类的方法,就要给对象赋值,程序在执行过程中 ...
- scrapy instantiation
start from scrapy.cmdline import execute execute(['scrapy', 'crawl', 'jokespider']) items.py import ...
- mysql Out of range value adjusted for column导致Warning(1265)Data truncated for column 'column_name' at row 1
今天下午,我们的一个开发来找我,说线上有个环境报了"Warning(1265)Data truncated for column 'column_name' at row 1",定 ...
- MS11-050安全漏洞
IE浏览器渗透攻击--MS11050安全漏洞 实验前准备 1.两台虚拟机,其中一台为kali,一台为windows xp sp3(包含IE7). 2.设置虚拟机网络为NAT模式,保证两台虚拟机可以相互 ...
- SVM学习笔记5-SMO
首先拿出最后要求解的问题:$\underset{\alpha}{min}W(\alpha)=\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\a ...
- Python3基础 list + *运算 扩充列表
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- ubuntu18.04无法安装libesd0-dev【学习笔记】
执行如下命令安装: sudo apt-get install libesd0-dev 却报了这个错误: 解决办法: sudo vim /etc/apt/sources.list //在行尾添加如下两行 ...
- 快速自动安装dart
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat Non ...
- 论操作系统的IO
论事件驱动与异步IO - 简书 https://www.jianshu.com/p/814c7e7c4647
- ThreadLocal使用
ThreadLocal提供了一种访问某个变量的特殊方式:访问到的变量属于当前线程,即保证每个线程的变量不一样,而同一个线程在任何地方拿到的变量都是一致的,这就是所谓的线程隔离. 如果要使用Thread ...