作者:Zhouyingping
目录
一、前言
二、软件版本
三、iServer发布影像服务
四、iDesktopX加载影像服务
4.1 全量加载:不携带过滤参数
4.2 过滤加载:按属性/空间范围过滤影像
4.2.1 按影像名称过滤(names)
4.2.2 按影像ID过滤(ids)
4.2.3 按SQL过滤(sqlFilter)
4.2.4 按空间过滤(空间函数)
a、多边形相交
b、矩形相交
4.2.5 多查询参数组合
4.3 指定渲染风格
一、前言
SuperMap iDesktopX 12i 新增加载 iServer 影像服务的能力,成功打通“服务端发布—桌面端使用”的数据链路,让桌面端的专业处理能力与云端影像服务无缝衔接,释放更大数据价值
二、软件版本
iDesktopX12.1.0 Beta
https://pan.baidu.com/e/1e1Vo51iI2aIGCpqNK8Mdqg
iServer12.1.0 Beta
https://pan.baidu.com/e/1t1Ag9LFmIeEaO1CKnDr7Og
示例数据:
通过网盘分享的文件:img3x3.zip
https://pan.baidu.com/s/1iSAW1-KWjd59fjurC1Fw4A?pwd=xuq4
历史版本支持情况:
iDesktopX 12.0.1 需要12.0.1-260302-1513-128451-windows-x64 及以上版本
https://pan.baidu.com/s/1rlKr4i3Zef0ACKirsJyf4w?pwd=5kbd
-
三、iServer发布影像服务
影像服务提供了海量影像快速发布服务的能力,并支持发布多种服务类型:REST、WMTS、WMTS-China、WMS;影像数据的管理能力,包括添加影像、删除影像以及查询检索影像。
详情参考:https://help.supermap.com/iServer/zh/iS/use_iserver/useimageservice/useimageservice.htm
博客参考:
https://blog.csdn.net/supermapsupport/article/details/128493466
四、iDesktopX加载影像服务
4.1 全量加载:不携带过滤参数
在 iDesktopX 中打开 Web 型数据源,选择 iServer REST 服务并填入影像集合的 URL,点击打开后,即可将该影像集合作为Web数据源接入,随后添加到地图即可显示集合内的全部影像内容。
URL格式:
http://localhost:8090/iserver/services/{影像服务名称}/restjsr/collections/{影像集合名称}
URL范例:
http://localhost:8090/iserver/services/imageservice-imageSample/restjsr/collections/img3x3
注:瓦片缓存:
iDesktopX 中加载地图时,会向 iServer 发送瓦片请求,待 iServer 返回瓦片内容后,iDesktopX 将其呈现在地图中。该过程中产生的瓦片缓存,默认存放路径为:iDesktopX安装目录\bin\Cache\WebCache\Rest中。
4.2 过滤加载:按属性/空间范围过滤影像
区别于全量加载,iDesktopX 支持在 URL 中携带参数设定过滤条件。此时,iServer 返回的地图瓦片仅包含符合条件的影像内容,用户即可在 iDesktopX 地图中查看筛选效果
注:URL编码
URL中包含空格特殊字符,需要将其转换为对应URL编码
4.2.1 按影像名称过滤(names)
影像集合中记录了影像文件名称,可在影像集合item中查看
我们可以使用names参数通过文件名称的过滤,多选用英文逗号间隔。
示例:
?names=img1_1.img,img3_3.img
http://localhost:8090/iserver/services/imageservice-imageSample/restjsr/collections/img3x3?names=img1_1.img,img3_3.img
4.2.2 按影像ID过滤(ids)
ID为影像集合对应的镶嵌数据集轮廓面SmID,多选用英文逗号间隔
示例:
?ids=2,4
http://localhost:8090/iserver/services/imageservice-imageSample/restjsr/collections/img3x3?ids=2,4
4.2.3 按SQL过滤(sqlFilter)
通过sqlFilter查询参数,使用影像集合对应镶嵌数据集的轮廓数据属性字段构建SQL语句过滤瓦片。
作为演示我们新增了一个字段 isverified
示例:
?sqlFilter=isverified like 'Y%'
URL遇到特殊字符编码后
?sqlFilter=isverified%20like%20'Y%25'
http://localhost:8090/iserver/services/imageservice-imageSample/restjsr/collections/img3x3?sqlFilter=isverified%20like%20'Y%25'
4.2.4 按空间过滤(空间函数)
sqlFilter查询参数支持空间计算
注:
1、使用postgis数据库型数据源
2、语句中的SRID 要与 影像集合的SRID一致。
准备的测试面节点:
point1: 112.6429031548545,26.945401048414062
point2: 112.65723687983008,26.945401048414062
point3: 112.65723687983008,26.916561937085937
point4: 112.6429031548545,26.916561937085937
a、 多边形相交
示例:
?sqlFilter=st_intersects(smgeometry,st_geomfromtext('polygon((112.6429031548545 26.945401048414062,112.65723687983008 26.945401048414062,112.65723687983008 26.916561937085937,112.6429031548545 26.916561937085937,112.6429031548545 26.945401048414062))',4490))
URL编码后
?sqlFilter=st_intersects(smgeometry,st_geomfromtext(%27polygon((112.6429031548545%2026.945401048414062,112.65723687983008%2026.945401048414062,112.65723687983008%2026.916561937085937,112.6429031548545%2026.916561937085937,112.6429031548545%2026.945401048414062))%27,4490))
http://localhost:8090/iserver/services/imageservice-imageSample/restjsr/collections/img3x3?sqlFilter=st_intersects(smgeometry,st_geomfromtext(%27polygon((112.6429031548545%2026.945401048414062,112.65723687983008%2026.945401048414062,112.65723687983008%2026.916561937085937,112.6429031548545%2026.916561937085937,112.6429031548545%2026.945401048414062))%27,4490))
注:蓝色为测试面,正确的过滤出了与其相交的影像
b、矩形相交
格式:
?sqlFilter=st_intersects(smgeometry,st_makeenvelope(xmin,ymin,xmax,ymax,4326))
示例:
?sqlFilter=st_intersects(smgeometry,st_makeenvelope(12.6429031548545,26.916561937085937,112.65723687983008,26.945401048414062,4490))
http://localhost:8090/iserver/services/imageservice-imageSample/restjsr/collections/img3x3?sqlFilter=st_intersects(smgeometry,st_makeenvelope(12.6429031548545,26.916561937085937,112.65723687983008,26.945401048414062,4490))
4.2.5 多查询参数组合
示例: names 参数与 sqlFilter参数组合
?names=img2_1.img,img3_3.img&sqlFilter=isverified like 'Y%'
URL编码后
?names=img2_1.img,img3_3.img&sqlFilter=isverified%20like%20'Y%25'
http://localhost:8090/iserver/services/imageservice-imageSample/restjsr/collections/img3x3?names=img2_1.img,img3_3.img&sqlFilter=isverified%20like%20'Y%25'
4.3 指定渲染风格
支持设置渲染风格,详细参数参考 影像服务API页面
http://localhost:8090/iserver/services/imageservice-imageSample/restjsr/api#/
示例:
?renderingRule={"displayMode":"COMPOSITE","displayBands":"2,1,0"}
影像按照新的风格样式显示