地理切片并行计算方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
瓦片金字塔
• 多分辨率的层次模型 • 预缓存 • 繁冗的切片数量/时间
如何 切片?
解决方案:时空转换策略
切片方案
• 当前切片大小:T(像素级定义) • 当前坐标:X,Y
• 那么行列值的计算方法如下: • 行号:row=abs(TileOrgX -X)/(R*T) • 列号:column=abs(TileOrgY -Y)/(R *T) • R=(25.39999918/DPI)*Scale/1000 • 单位:米/像素
Image File For Each Column
紧凑型文件存储
Server Cache Directory
Map Sever Cache Directory
Map Frame Name
_alllayers
L00
L01
……
conf.cdi L[N]
文件夹
文件
conf.xml
Level Of Detail
• Scale:图上距离比实际距离缩小的程度; • DPI:每英寸的像素数;
Arcgis瓦片存储格式
松散型 (jpg.png等) VS 紧凑型(Bundle)
• 可以直接读取,比较直观。
• 占用磁盘空间大,不太易于管理, 拷贝和迁移不太方便。
• 对密级较高的数据,不能设置密码
• 磁盘存储占用空间少, • 易拷贝,调用切片时网络流量少 • 便于迁移及管理
地理切片原理及并行方法
High-performance Geo-Computation Lab Group
内容提要
• 切片实现过程介绍 • 切片的存储格式解析 • 并行切片的方案
High-performance Geo-Computation Lab Group
什么是瓦片
• 将一定范围内的地图,按一定的比例尺级 别(瓦片级别),切片成若干个以行列进 行编排的图片数据,并按一定的命名规则 和组织方式进行存储,形成金字塔结构模 型的静态地图缓存。所获得的特定格式的 地图切片数据,即是瓦片(Tile)。
瓦片图片在原图中分布情况
DataA
DataB
DataC
DataD
DataE
DataF
DataG
DataH
DataI
Header——Data数据长度 Data ——图片数据
瓦片图片在bundle文件中组织情况
Header
DataA
Header
DataB
Header
DataC Header
DataD
Header
• 并行切入点
矢栅转换
并行方法一——共享内存
进程1 进程2 进程3 进程4
并行方法二——PC集群
• 从主机发起请求 让服务器同时出图
主机
部 署
CITYSERVER 服务器1
CITYSERVER 服务器2
CITYSERVER 服务器3
CITYSERVER 服务器4
Baidu Nhomakorabea
地理切片原理及并行方法
谢谢!
High-performance Geo-Computation Lab Group
Map Frame Name
_alllayers
L00
L01
……
conf.cdi L[N]
文件夹
文件
conf.xml
Level Of Detail
R00000001
R00000001
……
R[rows]
Tile Rows
配置文件: 切片元数据
……
C00000000.png C00000001.png
C[cols].png
R0000C0000.bundlx R0000C0080.bundlx …… R[rows]C[cols].bundlx
Compacted Tiles
存储方 式?
R0000C0000.bundle R0000C0080.bundle
R[rows]C[cols].bundle
紧凑型文件解读
• Bundle
切片类型 创建时间 文件数量 文件大小
松散型 紧凑型
13’33’’ 13’19’’
12,962 14
34.0M 41.8M
占用磁盘空 迁移时间
间
61.9M
53’’
41.8M
<1’’
金字塔
存储模 型
松散型文件存储
Server Cache Directory
Map Sever Cache Directory
DataE
Header DataF Header
DataG
Header DataH Header
DataI
每段数据前增加四个字节存储每个切片数据的长度
紧凑型文件解读
• Bundlex
瓦片索引在bundlx文件中组织情况
DataA DataB DataC
DataD DataE DataF
DataG DataH DataI
81952 = 16+5*16384+16
1 bundlx = 81952 byte 1 bundle <= 16384 tiles 1 tile偏移量占用 5 byte
切片的读取方法
• 读取方法 • Image getTile(int level, int row, int col)
地图瓦片生成的并行应用