获取影像缓存数据

发送反馈


在 SuperMap iServer REST 三维服务模块中,对三维数据的获取和操作是由 datas 及其子资源完成的,这里,举例说明获取 SuperMap iServer 服务器上一块影像缓存数据(beijing@beijing 影像缓存数据中)的过程。

作为示例,对 URI:http://localhost:8090/iserver/services/components-rest/rest/realspace/datas/beijing@beijing.rjson 执行 GET 请求,可以获取三维数据 beijing@beijing 的表述如下(在 beijing@beijing 数据存在的情况下):

{

    "dataName": "beijing@beijing",

    "dataType": "IMG"

}

从而知道,beijing@beijing 数据是一个影像数据。

对影像数据资源 beijing@beijing 的 config 子资源,即 URI:http://localhost:8090/iserver/services/components-rest/rest/realspace/datas/beijing@beijing/config 执行 GET 请求,可以获取 beijing@beijing 影像缓存数据的配置文件,保存并打开,从<sml:Levels/>节点可知,beijing@beijing 影像缓存数据中有多级缓存:

<sml:Levels>

        <sml:Level>8</sml:Level>

        <sml:Level>9</sml:Level>

        <sml:Level>10</sml:Level>

        <sml:Level>11</sml:Level>

        <sml:Level>12</sml:Level>

        <sml:Level>13</sml:Level>

        <sml:Level>14</sml:Level>

        <sml:Level>15</sml:Level>

</sml:Levels>

以获取缓存层号为15的数据为例,获取行号为9103,列号为53956的影像缓存图片,影像缓存图片的类型为 PNG。参见 tiledata 资源接口文档的 URI1,即 http://<server>:<port>/services/rest/realspace/datas/{dataName}/data/index/{xIndex}/{yIndex}.{fileExtent} 构建 URI 如下:

http://localhost:8090/iserver/services/components-rest/rest/realspace/datas/beijing@beijing/data/index/9103/53956.png?level=15

对该 URI 执行 GET 请求,最简单地,在 IE 中访问上述 URI,则得到 beijing@beijing 缓存数据的层号为15缓存中,行列号为(9103, 53956)处的缓存图片如下:

SuperMap iServer 还支持获取具体场景具体图层的影像缓存数据,通过在 tiledata 资源 URI 中增加 sceneName 和 layerName 参数来实现。构建如下示例 URI :

http://localhost:8090/iserver/services/components-rest/rest/realspace/datas/beijing@beijing/data/index/9103/53956.png?level=15&sceneName=scene&layerName=beijing@beijing

注意:SuperMap 中影像缓存划分的起点为(-180度,90度),行号和列号都从 0 开始计数。第0层采用180度*180度进行剖分,一共有2张图片。第1层采用90度*90度进行剖分,一共有8张图片。依次类推,一直按1/2倍进行剖分,建立索引。

由此可见,层号为15的缓存里,行列号(9103, 53956)的左边为(9103, 53955),下边为(9104, 53956),对他们进行显示,即分别执行 GET 请求。简单地,在 HTML 页面中添加如下标签:

<BODY>

        <IMG id =map BORDER=0cm src=http://localhost:8090/iserver/services/components-rest/rest/realspace/datas/beijing@beijing/data/index/9103/53955.png?level=15>

        <IMG id =map BORDER=0cm src=http://localhost:8090/iserver/services/components-rest/rest/realspace/datas/beijing@beijing/data/index/9103/53956.png?level=15>

        <br>

        <IMG id =map BORDER=0cm src=http://localhost:8090/iserver/services/components-rest/rest/realspace/datas/beijing@beijing/data/index/9104/53955.png?level=15>

        <IMG id =map BORDER=0cm src=http://localhost:8090/iserver/services/components-rest/rest/realspace/datas/beijing@beijing/data/index/9104/53956.png?level=15>

</BODY>

显示效果如下: