地图数据结构ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地图数据结构
两种数据结构的比较及转换
1
两种数据结构的比较
• 矢量数据的特点 • 位置明显,信息隐含 • 栅格数据的特点 • 属性明显,位置隐含
2
矢量数据特点
• 优点: • 结构紧凑,容易定义和操作单个空间实体,冗余度低; • 具有空间实体的拓扑信息,便于网络分析; • 图形输出质量好、精度高。 • 缺点: • 结构较为复杂,导致了操作和算法的复杂化,不能有效的
点的转换
J
P
I
X=x0+(j-0.5)* △x
y=y0-(i-0.5)* △y
15
线的转换
• 线状栅格图像通常具有一定的宽度并且宽 窄不一,不便于直接进行矢量化,须在细 化处理,提取中轴线的基础上再矢量化。 因此,线的矢量化包括细化、跟踪和拓扑 化等过程。
16
细化
• 细化就是将线状栅格像元阵列逐步剥除轮廓边缘 的点,使之成为线宽度只有一个像元的中轴线骨 架图形。细化后的图形骨架即保留了原图形的绝 大部分特征,又便于下一步的矢量化处理。对图 像进行细化处理,应符合下列基本要求:
极大增加; • 以行和列作为空间实体的位置标志,难以获取空间实体的拓扑信息,
难以进行网络分析等操作。 • 栅格数据不是面向实体的,各种实体往往是叠加在一起反映出来的,
因此难以识别和分离。 • 对点实体、线实体和面实体的识别采用的技术不仅费时,而且不能保
证识别的结果完全正确。
4
栅格数据和矢量数据比较
比较内容 数据结构 数据量 图形运算 图形精度 影像格式 数据共享 拓扑和网络分析 叠置分析
矢量结构
栅格结构
复杂、紧凑,冗余度低 简单,冗余度高
小
大
复杂
简单
高
低
不一致
一致或接近
不易实现
容易实现
容易实现
不易实现
不易实现
容易实现
5
两种数据结构的转换
• 矢量数据向栅格数据的转换 • 点的转换 • 线的转换 • 面的转换
1 8 64 2 16 128 4 32 256 也就是2的不同幂次,0,1,2,3。。。
8次幂
20
某种状态数值就是加权值的和。
下面一种邻域组合: 010 110 001
它的值=2+8+16+256=282 100 011 111
他的值=1+4+16+32+128+256=437 这样的话,我们通过一个数值,就可以表达一种3乘3邻域的一种空间分布状态。
21
11 11 111 111 111 11 1 1 11 1 11 11 1
22
边缘跟踪与剥皮算法
栅格细化时, 先找到一个位于线划栅格边缘上的像元, 接着以此像元为 中心, 按一定顺序( 如顺时针方向) 检测其8 个邻域的颜色值。通过检测 可以同时达到两个目的,一是判断本中心像元应不应该被置为“0”; 二 是找到与本中心像元相邻的边缘像元, 以便继续“剥皮”和跟踪。如此 循环反复, 继续找到下一个边缘像元作为本中心像元, 一直跟踪到线划 栅格一侧边缘的下一个边缘像元为起始像元。按此方法得到细化栅格 后, 再根据细化后栅格像元值的相邻关系, 按顺序连接成折线, 经过光滑 等处理, 最后就能得到理想的矢量数据。上述方法中判定本中心像元是 否应当被置为“0”的条件是不符合图2 的图形就置为“0”。
11111 11 1111 1
1111 11 1111 1
111 11 1111 1
111 1111
1111 1111
18
如图只有2、3、4、5、10、11、12、16、22、23、28、33、 34、35、38、42、43、46、50可以将中心点剥去
19
查找表
查找表为二值图像处理提供了简洁而有效的方法。考虑一个像素的3乘3 邻域。由于在这个邻域范围有9个像素,每个像素有两个状态(二值图像, 取0,1),那么整个邻域不同状态的总数量为2^9=512 .这样,我们可 以相对不同的情况(512种),来安排对应的输出值,而这512种可 能是事先预知的,给每一个单元(一共9个单元)分别安排不同的权值,
11
面的转换
12
栅格数据向矢量数据的转换
• 为了便于进行栅格数据向矢量数据的转换, 需要对原始栅格图像进行二值化处理,这 是因为通常扫描后的原始图像是以不同灰 度级存储的,而太多的灰度值不便于进行 矢量化处理,故需要进行压缩,通常压缩 为两级(0和1),这个过程就是二值化
13
14
源自文库
y (x0,y0)
• 线宽只有一个像元; • 细化后的骨架应是原线画的中轴线 • 保持原有线画的连通性及特征 • 细化算法有很多:
17
经典的细化算法
• 在3*3像元阵列中,凡是去掉后不会影响原 栅格图像拓扑连通性的像元都应该去掉; 反之则应保留。3*3像元阵列共有512种情 况,经过旋转去除相同情况,共有51种情 况。
到直线段两端点的行列号,求出两端点的行数差 和列数差。 • 如果行数差大于列数差,则逐行分别的求出该行 中心线与直线段的交点,即: • Y=yi • X=(y-y1)*(x2-x1)/(y2-y1)-x1 • 再将该坐标用点的转换方式转换为相应的行列号
9
• 如果列数差大于行数差怎么办?
10
分带法
进行点集的集合运算; • 空间实体的查询十分费时,需要逐点、逐线、逐面的查询
3
栅格数据特点
• 优点: • 数据结构结单,定位存取性能好; • 可以与影像和DEM数据进行联合空间分析; • 数据共享容易实现; • 对栅格数据的操作比较容易; • 缺点: • 数据量与格网间距的平方成反比,较高的几何精度的代价是数据量的
6
点的转换
• 1 确定栅格单元大小 • △x=(xmax-xmin)/N, △y=(ymax-ymin)/M • 2 把坐标转换为行列号 • I=1+INT{(Y0-Y)/ △y} • J=1+INT{(X-X0)/ △x}
7
y
(x0,y0)
J
P
I
x8
线的转换
• 1 八方向栅格化法 • 设直线段端点坐标为p1(x1,y1)、p2(x2,y2),首先得
像元置为非“0”的条件
23
1
11
11111
111111111111
111111111111
111111111111
11111111111
1111111111
111 1111
111 1111
11
111
11
111
1
111
24
1
11
11111
11111 11 1111 1
11111 11 1111 1
两种数据结构的比较及转换
1
两种数据结构的比较
• 矢量数据的特点 • 位置明显,信息隐含 • 栅格数据的特点 • 属性明显,位置隐含
2
矢量数据特点
• 优点: • 结构紧凑,容易定义和操作单个空间实体,冗余度低; • 具有空间实体的拓扑信息,便于网络分析; • 图形输出质量好、精度高。 • 缺点: • 结构较为复杂,导致了操作和算法的复杂化,不能有效的
点的转换
J
P
I
X=x0+(j-0.5)* △x
y=y0-(i-0.5)* △y
15
线的转换
• 线状栅格图像通常具有一定的宽度并且宽 窄不一,不便于直接进行矢量化,须在细 化处理,提取中轴线的基础上再矢量化。 因此,线的矢量化包括细化、跟踪和拓扑 化等过程。
16
细化
• 细化就是将线状栅格像元阵列逐步剥除轮廓边缘 的点,使之成为线宽度只有一个像元的中轴线骨 架图形。细化后的图形骨架即保留了原图形的绝 大部分特征,又便于下一步的矢量化处理。对图 像进行细化处理,应符合下列基本要求:
极大增加; • 以行和列作为空间实体的位置标志,难以获取空间实体的拓扑信息,
难以进行网络分析等操作。 • 栅格数据不是面向实体的,各种实体往往是叠加在一起反映出来的,
因此难以识别和分离。 • 对点实体、线实体和面实体的识别采用的技术不仅费时,而且不能保
证识别的结果完全正确。
4
栅格数据和矢量数据比较
比较内容 数据结构 数据量 图形运算 图形精度 影像格式 数据共享 拓扑和网络分析 叠置分析
矢量结构
栅格结构
复杂、紧凑,冗余度低 简单,冗余度高
小
大
复杂
简单
高
低
不一致
一致或接近
不易实现
容易实现
容易实现
不易实现
不易实现
容易实现
5
两种数据结构的转换
• 矢量数据向栅格数据的转换 • 点的转换 • 线的转换 • 面的转换
1 8 64 2 16 128 4 32 256 也就是2的不同幂次,0,1,2,3。。。
8次幂
20
某种状态数值就是加权值的和。
下面一种邻域组合: 010 110 001
它的值=2+8+16+256=282 100 011 111
他的值=1+4+16+32+128+256=437 这样的话,我们通过一个数值,就可以表达一种3乘3邻域的一种空间分布状态。
21
11 11 111 111 111 11 1 1 11 1 11 11 1
22
边缘跟踪与剥皮算法
栅格细化时, 先找到一个位于线划栅格边缘上的像元, 接着以此像元为 中心, 按一定顺序( 如顺时针方向) 检测其8 个邻域的颜色值。通过检测 可以同时达到两个目的,一是判断本中心像元应不应该被置为“0”; 二 是找到与本中心像元相邻的边缘像元, 以便继续“剥皮”和跟踪。如此 循环反复, 继续找到下一个边缘像元作为本中心像元, 一直跟踪到线划 栅格一侧边缘的下一个边缘像元为起始像元。按此方法得到细化栅格 后, 再根据细化后栅格像元值的相邻关系, 按顺序连接成折线, 经过光滑 等处理, 最后就能得到理想的矢量数据。上述方法中判定本中心像元是 否应当被置为“0”的条件是不符合图2 的图形就置为“0”。
11111 11 1111 1
1111 11 1111 1
111 11 1111 1
111 1111
1111 1111
18
如图只有2、3、4、5、10、11、12、16、22、23、28、33、 34、35、38、42、43、46、50可以将中心点剥去
19
查找表
查找表为二值图像处理提供了简洁而有效的方法。考虑一个像素的3乘3 邻域。由于在这个邻域范围有9个像素,每个像素有两个状态(二值图像, 取0,1),那么整个邻域不同状态的总数量为2^9=512 .这样,我们可 以相对不同的情况(512种),来安排对应的输出值,而这512种可 能是事先预知的,给每一个单元(一共9个单元)分别安排不同的权值,
11
面的转换
12
栅格数据向矢量数据的转换
• 为了便于进行栅格数据向矢量数据的转换, 需要对原始栅格图像进行二值化处理,这 是因为通常扫描后的原始图像是以不同灰 度级存储的,而太多的灰度值不便于进行 矢量化处理,故需要进行压缩,通常压缩 为两级(0和1),这个过程就是二值化
13
14
源自文库
y (x0,y0)
• 线宽只有一个像元; • 细化后的骨架应是原线画的中轴线 • 保持原有线画的连通性及特征 • 细化算法有很多:
17
经典的细化算法
• 在3*3像元阵列中,凡是去掉后不会影响原 栅格图像拓扑连通性的像元都应该去掉; 反之则应保留。3*3像元阵列共有512种情 况,经过旋转去除相同情况,共有51种情 况。
到直线段两端点的行列号,求出两端点的行数差 和列数差。 • 如果行数差大于列数差,则逐行分别的求出该行 中心线与直线段的交点,即: • Y=yi • X=(y-y1)*(x2-x1)/(y2-y1)-x1 • 再将该坐标用点的转换方式转换为相应的行列号
9
• 如果列数差大于行数差怎么办?
10
分带法
进行点集的集合运算; • 空间实体的查询十分费时,需要逐点、逐线、逐面的查询
3
栅格数据特点
• 优点: • 数据结构结单,定位存取性能好; • 可以与影像和DEM数据进行联合空间分析; • 数据共享容易实现; • 对栅格数据的操作比较容易; • 缺点: • 数据量与格网间距的平方成反比,较高的几何精度的代价是数据量的
6
点的转换
• 1 确定栅格单元大小 • △x=(xmax-xmin)/N, △y=(ymax-ymin)/M • 2 把坐标转换为行列号 • I=1+INT{(Y0-Y)/ △y} • J=1+INT{(X-X0)/ △x}
7
y
(x0,y0)
J
P
I
x8
线的转换
• 1 八方向栅格化法 • 设直线段端点坐标为p1(x1,y1)、p2(x2,y2),首先得
像元置为非“0”的条件
23
1
11
11111
111111111111
111111111111
111111111111
11111111111
1111111111
111 1111
111 1111
11
111
11
111
1
111
24
1
11
11111
11111 11 1111 1
11111 11 1111 1