一 GIS地图界面

GIS程序最常见的界面就是,不同区域被边界隔开,填充为不同的颜色;

如下三个;是超图iServer自带;

京津地区土地利用现状,京津地区人口分布,京津地区地貌分布;用于学习是很好资源;

如果对计算机图形学了解的话,你就知道这种不同区域填充为不同颜色,底层算法是用计算机图形学填充算法实现的;

下面来看一下填充算法的基本概念;

二 计算机图形学区域填充算法

区域填充概念
    区域:指已经表示成点阵形式的填充图形,是象素的集合。
    区域填充:将区域内的一点(常称【种子点】)赋予给定颜色,然后将这种颜色扩展到整个区域内的过程。
    区域填充算法要求区域是连通的,因为只有在连通区域中,才可能将种子点的颜色扩展到区域内的其它点。

区域有两种表示形式
    1)内点表示:枚举出区域内部的所有象素,内部所有象素着同一个颜色,边界像素着与内部象素不同的颜色。
    2)边界表示:枚举出区域外部的所有象素,边界上的所有象素着同一个颜色,内部像素着与边界象素不同的颜色。

区域连通
    1)四向连通区域:从区域上一点出发可通过【上、下、左、右】四个方向移动的组合,在不越出区域的前提下,到达区域内的任意象素。
    2)八向连通区域:从区域上一点出发可通过【上、下、左、右、左上、右上、左下、右下】八个方向移动的组合,在不越出区域的前提下,到达区域内的任意象素。

简单种子填充算法基本思想
    给定区域G一种子点(x, y),首先判断该点是否是区域内的一点,如果是,则将该点填充为新的颜色,然后将该点周围的四个点(四连通)或八个点(八连通)作为新的种子点进行同样的处理,通过这种扩散完成对整个区域的填充。

看一下图形学填充算法VC++版的效果;

这个是孔令德老师教材VC++源码的运行效果;网上花积分下的;有没有盗孔老师的版不知道;

就说如果了解一些计算机图形学内容,对于GIS开发也是很有帮助;

一般做GIS开发是你传边界线像素宽度、边界线颜色、内部要填充的颜色值给GIS系统,它会帮你画好;如果能了解一些底层算法也是很有帮助的;

GIS地图界面和计算机图形学填充算法相关推荐

  1. 计算机图形学算法详解,计算机图形学裁剪算法详解

    <计算机图形学裁剪算法详解>由会员分享,可在线阅读,更多相关<计算机图形学裁剪算法详解(10页珍藏版)>请在人人文库网上搜索. 1.裁剪算法详解在使用计算机处理图形信息时,计算 ...

  2. 计算机图形学常见算法原理,计算机图形学常用算法及代码大全

    <计算机图形学常用算法及代码大全>由会员分享,可在线阅读,更多相关<计算机图形学常用算法及代码大全(41页珍藏版)>请在人人文库网上搜索. 1.2.1.1 生成直线的DDA算法 ...

  3. 计算机图形学要学什么语言,计算机图形学:算法与实现

    计算机图形学:算法与实现 语音 编辑 锁定 讨论 上传视频 <计算机图形学:算法与实现>一书的出版社是清华大学出版社,出版时间是第1版 (2012年1月1日). 书    名 计算机图形学 ...

  4. 计算机图形学直线算法论文,《计算机图形学》中直线生成算法的教学心得

    摘要:<计算机图形学>是计算机科学与技术专业一门重要的专业课,其中直线生成算法是教学重点之一.该文通过分析几种直线生成算法的特点,阐述了理论教学和实践教学的重点和难点,总结了教学的体会和心 ...

  5. 计算机图形学 裁剪算法源代码,OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc...

    OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分  .<计算 ...

  6. 计算机图形学+简单算法实现,《计算机图形学》课程设计-简单几何体的消隐算法实现.doc...

    PAGE PAGE 18 PAGE 18 课程名称:<计算机图形学> 论文题目:简单几何体的消隐算法实现 教学部: 年 级: 班 级: 学 号: 姓 名: 简单几何体的消隐算法实现 摘 要 ...

  7. 七巧板复原算法——计算机图形学基本算法之一, 点在多边形内部的判断

    注:此时我已经完成了一个演示版本,但是为了文章的渐进性,我将把开发过程一步步的写出来,用来记录. 本实验代码用到的图形学关系和算法列举如下: 基本计算机图形学关系和算法 1.点在多边形内部的 点在多边 ...

  8. 计算机图形学曲线算法代码,计算机图形学自由曲线绘制算法.doc

    计算机图形学自由曲线绘制算法 宁夏师范学院数学与计算机科学学院 <>实验报告 实验序号: 实验项目名称: 学 号姓 名专业.班实验地点指导教师时 间.实验内容与步骤 1 //TestVie ...

  9. 计算机图形学——区域填充算法

    一.区域填充概念 比奇中文网 https://m.biqi.org/ 区域:指已经表示成点阵形式的填充图形,是象素的集合. 区域填充:将区域内的一点(常称[种子点])赋予给定颜色,然后将这种颜色扩展到 ...

最新文章

  1. 从事GIS开发多年,2017年对GIS行业的心得,尤其对三维GIS的理解
  2. DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习
  3. tomcat报错LifecycleException的解决方案
  4. 深度学习概述:当你没有方向时的加油站
  5. 学生电脑哪个牌子好_专卖工作服哪个牌子好
  6. 【问题】HDFS中块(block)的大小为什么设置为128M?
  7. ACL 2018论文解读 | 基于路径的实体图关系抽取模型
  8. VR开发中性能问题—OculusWaitForGPU
  9. 直播协议HTTP-FLV标准解读与技术实现
  10. C++ 空类,默认产生哪些成员函数
  11. oracle如何储存超长汉子_热水器该如何选择?!
  12. spring5源码-事务
  13. java 使用qq邮箱发送邮件报错 port: 465, response: 550 错误
  14. 全国大学生电子设计竞赛(七)--逆变电源设计
  15. mtex极图_一种多相金属材料相成分识别的方法与流程
  16. raisecom msg融合网关成都电信实战分享
  17. 字符集和字符集编码详解
  18. 主题讲座:移动互联网时代的创业机会
  19. 闪讯利用openwrt路由器拨号教程(五)
  20. Fix ‘Clearing orphaned inodes’ on Ubuntu

热门文章

  1. ext2和ext3文件系统知识
  2. swiper左右切换按钮无效_BMD为ATEM切换台发布新的2 M/E和4M/E控制面板
  3. DATE_FORMAT() 函数||DATE_SUB() 函数
  4. 计算机组成原理—— 指令系统
  5. 微信小程序开发3——事件处理
  6. Python 使用CORS跨域资源共享解决flask服务器跨域问题、浏览器同源策略
  7. Python 路径问题:cv2.error: OpenCV(4.1.0)...size.width>0 size.height>0 in function ‘cv::imshow‘. 解决方法
  8. 声明和定义结构体需要注意的问题
  9. CTFshow php特性 web150
  10. 第七周实践项目4 队列数组