栅格查询
栅格查询
在「栅格入库」环节,已经对影像进行数据分块、建立金字塔、重投影等操作。在这些操作完成后,数据会以「数据分块」的形式存放在HBase Ganos中,「数据分块」是地理服务发布、前端快速渲染的基础,本节介绍数据分块的查询方式。
查询接口包含「元数据」查询以及「数据分块数据」查询,以REST API方式开放。
元数据查询
在查询具体的数据分块数据之前,我们需要通过元数据来获取如下信息:
- 图层名称
- 每个图层的金字塔层级
-
获取图层与金字塔信息
API名称:/raster/layers
- 方法:GET
- 返回:Map
> Json表示的图层对象集合 - 下面示例中,返回的json数据,共有三个图层,每个图层后面的数字列表代表该图层具备的金字塔层级
{
"hunan_locallayout" : [ 0, 1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9 ],
"luojia" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11 ],
"rgb" : [ 0, 1,2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13 ]
}
获取某图层的元数据信息
- 名称:/raster/{layer}/{zoomLevel}/metadata
- 方法:GET
- 返回:List
,json描述的图层metadata信息,其结构如下: - layoutDefinition : 图层layout信息,所谓Layout可以看做是覆盖整个图层的格网,一般会比图层要大
- extent:图层layout的范围
- tileLayout:
- layoutCols:layout中的列数
- layoutRows:layout中的行数
- tileCols:每个数据分块的像素列数
- tileRows:每个数据分块的像素行数
- extent:图层的范围
- bounds:数据分块所在图层的行列号范围,通过这个行列号去获取数据分块
- cellType:数据分块的数据类型
- crs:坐标参考
- layoutDefinition : 图层layout信息,所谓Layout可以看做是覆盖整个图层的格网,一般会比图层要大
- 下面是一个示例
{
"extent": {
"xmin": 15454921.707580032,
"ymin": 4158017.4539063596,
"xmax": 15746189.05716395,
"ymax": 4454374.551818466
},
"layoutDefinition": {
"extent": {
"xmin": -20037508.342789244,
"ymin": -20037508.342789244,
"xmax": 20037508.342789244,
"ymax": 20037508.342789244
},
"tileLayout": {
"layoutCols": 32,
"layoutRows": 32,
"tileCols": 256,
"tileRows": 256
}
},
"bounds": {
"minKey": {
"col": 28,
"row": 12
},
"maxKey": {
"col": 28,
"row": 12
}
},
"cellType": "int32",
"crs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs "
}
数据分块数据查询
根据元数据接口可以得知数据分块数据的相关信息,那么即可根据这些信息获取具体的数据分块数据
获取单个数据分块数据
- API:/{schema}/{table}/tile/{tileLayer}/{tileRow}/{tileCol}/{tileHeight}?format=PNG/JPEG&version={version}&during={startTime/endTime}
- 方法:GET
- 返回格式:由参数format决定,取值为PNG或JPEG
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论