社区
其他
帖子详情
考研长安(1)-栅格数据的编码方法详解
熊猫的异想天开
2019-08-01 05:28:38
大家好,这是熊猫的异想天开,今天想记录一下GIS中有关栅格数据的一些编码方法,希望自己回头复习时候可以看看,有需要的的朋友也可以收藏一下。由于我是手机写的,发现不能编辑字体和将每一幅图片插到相应的位置,我就先介绍一下图片吧。 1)第一幅图是直接栅格编码,“行”也就是从左到右了,“行主序”可以看出是奇数行从左到右偶数行从右到左,“Morton”是四叉树中的一种编码。 2)第二幅图是链码及其对细线的表示。 3)第三幅图就是所谓的7-4(c) 4)第四幅图为7-4(c)的块码表示 接下来先赘述一下栅格数据结构定义、特点以及决定每个栅格单元代码的方式。 栅格结构是最简单、最直接的空间数据结构,是将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个像元或像素由行、列定义,并包含一个代码表示该像素的属性类型或量值,或仅仅包括指向其属性的指针。 栅格结构最显著的特点也就是:属性明显,定位隐含。 决定每个栅格单元代码的方式有4种,分别为:中心点法、面积占优法、重要性法和百分比法。 中心点法:就是用处于栅格中心处的地物类型或现象特性决定栅格代码。 面积占优法:以占矩形区域面积最大的地物类型或现象特性决定栅格单元的代码。 重要性法:根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码。 百分比法:根据矩形区域内各地理要素所占面积的百分比数确定栅格单元的代码。 接下来奔向主体,给大家解释一下栅格编码的方法。 首先栅格编码有两种:直接栅格编码和压缩栅格编码。 直接栅格编码就是将栅格数据看作是一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个像元记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定目的还可以采用其他特殊的顺序。 压缩编码方法就是用尽可能少的数据量记录尽可能多的信息,其类型又有信息无损编码和信息有损编码之分。目前有一系列栅格数据压缩编码方法,如链码、游程长度编码、块码和四叉树编码等。 1)链码(Chain Codes) 链码又称为弗里曼链码或边界链码,链码可以有效地压缩栅格数据,而且对估算面积、长度、转折方向的凹凸度等运算十分方便,比较适合于存储图形数据。 链码是以3*3的方格中间是起始点,右边设定为0,然后按照逆时针递增到7,即链码的八个方向序号。图中的细线的链码为(3,0)21100066567,其中(3,0)为起始点坐标,3为列,0为行,之后的数值序列描述了方向。 任意一条细线都可用链码序列表示为: C=a1a2...an,0<=ai<=7 如果始点和终点是重合的话,则说明这个曲线就是闭合的。 (重点:要记住链码的形式也就是始点接一串代表了方向的数字,其中坐标第一个代表y,第二个代表x,代表方向的数值是从右边以0为开始然后逆时针递增到7。) 2)游程长度编码(Run-Length Codes) 游程长度编码是栅格数据压缩的重要编码方法,它的基本思路是:对于一幅栅格图像,常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些重复的记录内容。其编码方案是:只在各行(或列)数据的代码发生变化时依次记录代码以及相同的代码重复个数,从而实现数据的压缩。 例如对7-4(c)图所示栅格数据,可沿行方向进行如下游程长度编码:(0,1),(4,2),(7,5);(4,5),(7,3);(4,4),(8,2),(7,2);(0,2),(4,1),(8,3),(7,2);(0,0),(8,4),(7,1),(8,1);(0,3),(8,5);(0,4),(8,4);(0,5),(8,3)。 只用了44个数字就可以表示,如果用直接编码的方法就须要用64个整数来表示,所以游程长度编码压缩数据是十分有效又简便的。 (重点:你要知道这种方法是记录出现的代码的值以及代码出现的次数,每一个用逗号隔开,一行结束用分号隔开,最后是个句号) 另一种游程长度编码方案就是逐个记录各行(或列)代码发生变化的位置和相应代码, (重点:你要知道先记录的是代码发生变化的位置也就是第一个变化了的第一个数值的位置,然后记录该位置的代码值,同样每行每列结束用分号隔开。) 块码 块码是游程长度编码扩展到二维的情况,采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单位的代码组成。 (重点:前面的两个数字为初始位置的行号和列好,然后是半径,这个半径就要构成一个正方形了,然后是这个方形所代表的数值,其实也就是把这个区域划分为大小不等的正方形块,最小的正方形就一个数,相当于一个点了) 块码具有可变的分辨率,即当代码变化小时图块大,就是说在区域图斑内部分辨率低,反之,以小块记录区域边界地段分辨率高,以此达到压缩的目的。 四叉树编码下次写吧,用手机码字手都痛了。
...全文
3961
4
打赏
收藏
考研长安(1)-栅格数据的编码方法详解
大家好,这是熊猫的异想天开,今天想记录一下GIS中有关栅格数据的一些编码方法,希望自己回头复习时候可以看看,有需要的的朋友也可以收藏一下。由于我是手机写的,发现不能编辑字体和将每一幅图片插到相应的位置,我就先介绍一下图片吧。 1)第一幅图是直接栅格编码,“行”也就是从左到右了,“行主序”可以看出是奇数行从左到右偶数行从右到左,“Morton”是四叉树中的一种编码。 2)第二幅图是链码及其对细线的表示。 3)第三幅图就是所谓的7-4(c) 4)第四幅图为7-4(c)的块码表示 接下来先赘述一下栅格
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
熊猫的异想天开
2019-08-02
打赏
举报
回复
引用 3 楼 hookee 的回复:
hookee
2019-08-02
打赏
举报
回复
熊猫的异想天开
2019-08-01
打赏
举报
回复
引用 1 楼 潇湘忆梦 的回复:
那你可能不会结贴了
其实我想写博客的 怎么是帖子 能教下我吗
潇湘忆梦
2019-08-01
打赏
举报
回复
那你可能不会结贴了
ArcGIS Pro-栅格计算器-精确提取-
栅格数据
特定值
在ArcGIS中使用栅格计算器的SetNull函数可以高效地提取特定值的
栅格数据
,同时将不符合条件的像素值设置为NoData。该方法适用于从复杂的
栅格数据
集中筛选出关键信息,例如,根据地表覆盖类型、温度范围或其他环境变量进行选择。通过构建合适的条件表达式,SetNull允许用户指定一个逻辑条件,此条件用于评估栅格中的每个像素值。如果某个像素满足这个条件,则其值保持不变;如果不满足,该像素值则被设置为NoData。
栅格模型数据编码方式
栅格模型数据编码方式1、链式编码2、游程编码3、块状编码4、四叉树编码 1、链式编码 有如下栅格模型数据,其中R代表的是一条河流: 链式编码需要以罗盘的方向作为参照,罗盘的各个方向有相应的编码,如下: 河流编码结果如下: 1,5,3,2,2,3,3,2,3 编码的前两位代表起点的行号和列号,河流的起点在第1行,第5列,所以前两位是1,5。第2个点相对于起点,是在其西南方向,西南方向在罗盘中的编码是3,所以,编码的第3位是3,后面的以此类推。 2、游程编码 游程编码是对相邻的重复数据进行统计编码,假如有如
ArcGIS:成分栅格编码-矢量数据的综合分析
实习目的:成分栅格的基本原理和方法 、综合运用矢量数据分析方法制作成分栅格 、分析不同栅格
编码方法
的特点实验内容:根据某地的土地利用现状数据,综合运用多种方法,生成土地利用的成分
栅格数据
实习数据:地类图斑、行政区实验原理与方法:在数据四至范围内创建与像元同样大小的格网多边形,格网多边形与土地利用数据叠加,统计各格网多边形内各种地类的面积并计算面积比例,将统计表中的数据按各个地类分别选择出来并输出为独立的表格,将耕地的输出表格与格网多边形进行属性连接。
栅格数据
的
编码方法
直接栅格编码 直接编码就是将
栅格数据
看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行从左到右逐像元记录,也可奇数行从左到右而偶数行由右向左记录,为了特定的目的还可采用其他特殊的顺序。 链式编码 链式编码又称为弗里曼链码(Freeman,1961)或边界链码。链式编码主要是记录线状地物和面状地物的边界。 它把线状地物和面状地物的边界表示为:由某一起始点开始并按某些基本方向确定的单位矢量链。基...
矢量数据与
栅格数据
详解
-01
这就是今天的大部分内容,事实上一些细节上的事情并没有详细说明,大家可以详细看看
栅格数据
的压缩编码的方式。今天就到这里结束了。矢量数据和
栅格数据
都是用来描述实际物理世界的方式,描述世界的方式和我们认知世界的方式是一致的。矢量数据和
栅格数据
是我们地理人最常见的数据类型之一了,也是地信原理最早介绍的内容之一,就让我们从他们开始。3、注意:通常拓扑关系越多,数据编辑和维护的难度就越大,越复杂,但要进行复杂的空间分析就方便。矢量数据是一种常见的数据结构,常被用于表示空间实体的空间位置以及附加的属性信息和几何关系。
其他
10,612
社区成员
29,029
社区内容
发帖
与我相关
我的任务
其他
Web 开发 其他
复制链接
扫一扫
分享
社区描述
Web 开发 其他
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章