scenes


URI

<portal_uri>/scenes[.<format>]

支持的方法

GETPOSTDELETEHEAD

父资源

portal

子资源

scenescenesShareSettingbatchAddScenes

介绍

scenes 资源是当前用户有权限查看的场景列表信息,通过发送 DETELE 请求,可以批量删除场景。

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。

http://supermapiportal:8190/iportal/web/scenes.rjson

GET 请求

获取当前用户有权限查看的场景列表信息。

请求参数

如果参数未设置,则返回当前用户有权限查看的当前第一页中的场景列表信息,设置参数后,会返回用户指定的场景列表信息,请求参数必须包含在 URI 中。

字段 类型 说明
tags String[] 根据场景的标签过滤。
userNames String[] 根据场景添加者名称过滤。
orderBy SceneOrderBy 根据排序字段过滤。
orderType OrderType 根据升序还是降序过滤。
keywords String[] 根据关键字过滤。
currentPage int 根据分页页码过滤。
permissionType String 根据权限类型过滤。权限类型包括 SEARCH(可检索)、READ(可查看)、READWRITE(可编辑)、DELETE(可删除)。
returnSubDir Boolean 是否查询子目录的资源。true 表示返回当前查询目录及其子目录的资源,false 表示仅返回当前目录的资源。
shareToMe Boolean 是否查询直接分享给我的资源。该参数已过期。
searchScope SearchScope 根据共享范围过滤。
pageSize int 根据分页大小过滤。
dirIds Integer[] 根据目录 id 过滤。
isNotInDir Boolean 根据是否是未分组的进行过滤,默认值为 false。如果为 true,则返回所有未分组的场景列表信息;如果为 false,则返回全部的场景列表信息。
未分组是指未添加到目录中的场景列表资源。
filterFields FilterFields[] 用于关键字查询时的字段过滤。字段名称需大写。例如:根据场景名称的关键字符过滤,则需要设置 keywords=["osgb"]&filterFields=["NAME"]。
createStart Long 查询此时间值及此时间值之后创建的场景,如果为null或者小于0,则起始时间不限制。
createEnd Long 查询此时间值及此时间值之前创建的场景,如果为null或者小于0,则截止时间不限制。

响应结构

对 scenes 资源执行 GET 请求,返回当前用户有权查看的场景列表信息。由以下字段组成:

字段 类型 说明
content List<SceneInfo> 页面内容。
currentPage int 当前第几页。
pageSize int 每页大小。
searchParameter SearchParameter 当前页搜索参数。
total int 总记录数。
totalPage int 总页数。

响应示例

对 scenes 资源:http://localhost:8190/iportal/web/scenes.rjson 执行 GET 请求,返回 rjson 格式的资源表述如下:

{

    "total": 2,

    "totalPage": 1,

    "pageSize": 9,

    "searchParameter": {

        "permissionType": "DELETE",

        "orderType": "ASC",

        "keywords": null,

        "returnSubDir": null,

        "shareToMe": null,

        "searchScope": null,

        "orderBy": null,

        "isNotInDir": null,

        "pageSize": 9,

        "dirIds": null,

        "filterFields": null,

        "departmentIds": null,

        "createStart": -1,

        "tags": null,

        "currentUser": null,

        "createEnd": -1,

        "groupIds": null,

        "userNames": null,

        "currentPage": 1,

        "resourceIds": null

    },

    "currentPage": 1,

    "content": [

        {

            "thumbnail": "http://rdc.ispeco.com/services/../resources/thumbnail/scene/scene1288394665.png",

            "authorizeSetting": null,

            "description": "",

            "updateTime": 1583202982961,

            "userName": "zhangty",

            "title": null,

            "url": null,

            "content": null,

            "tags": [

                "用户场景"

            ],

            "visitCount": 1,

            "createTime": 1583202982961,

            "name": "CBD",

            "nickname": "zhangty",

            "layers": null,

            "id": 1288394665

        },

        {

            "thumbnail": "http://rdc.ispeco.com/services/../resources/thumbnail/scene/scene1959841615.png",

            "authorizeSetting": null,

            "description": "f",

            "updateTime": 1583202929050,

            "userName": "zhangty",

            "title": null,

            "url": null,

            "content": null,

            "tags": [

                "用户场景"

            ],

            "visitCount": 1,

            "createTime": 1583202929050,

            "name": "CBD",

            "nickname": "zhangty",

            "layers": null,

            "id": 1959841615

        }

    ]

}

如果希望获取指定的场景列表信息,如根据场景名称的关键字符过滤,则需要设置 keywords=["Olympic"]&filterFields=["NAME"],即对 scenes 资源:http://localhost:8190/iportal/web/scenes.rjson?keywords=["Olympic"]&filterFields=["NAME"] 执行 GET 请求,返回的 rjson 格式的资源表述如下:

{

  "total": 1,

  "totalPage": 1,

  "pageSize": 9,

  "searchParameter": {

    "permissionType": "DELETE",

    "orderType": "ASC",

    "keywords": ["Olympic"],

    "returnSubDir": null,

    "shareToMe": null,

    "searchScope": null,

    "orderBy": null,

    "isNotInDir": null,

    "pageSize": 9,

    "dirIds": null,

    "filterFields": ["NAME"],

    "departmentIds": null,

    "createStart": -1,

    "tags": null,

    "currentUser": null,

    "createEnd": -1,

    "groupIds": null,

    "userNames": null,

    "currentPage": 1,

    "resourceIds": null

  },

  "currentPage": 1,

  "content": [{

    "thumbnail": "http://rdc.ispeco.com/services/../web/static/portal/img/scene/sceneThumbnail.png",

    "authorizeSetting": null,

    "description": null,

    "updateTime": 1539049310706,

    "userName": "zhangty",

    "title": null,

    "url": "http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/scenes/Olympic",

    "content": null,

    "tags": ["3d"],

    "visitCount": 121,

    "createTime": 1539049310706,

    "name": "Olympic",

    "nickname": "zhangty",

    "layers": null,

    "id": 608671278

  }]

}

POST 请求

添加新的场景。

请求参数

发送请求时,需要在请求体中传递如下参数:

名称 类型 含义

name

String 场景的名称。
tags List<String> 场景的标签。
userName String 场景添加者的用户名。
description String 场景描述信息。

content

SceneInfo

三维场景具体信息,包括三维图层列表、场景相机、场景环境等。

 

响应结构

返回的资源表述结构如下:

字段 类型 说明
succeed boolean 添加场景是否成功。
newResourceID String 新添加场景的 ID。
newResourceLocation String 新添加场景的 URL。

响应示例

对 scenes 资源:http://localhost:8190/iportal/web/scenes.rjson 执行 POST 请求,在门户中新添加一个三维场景,发送请求体如下:

{

    "name": "test",

    "tags": "t",

    "userName": "user",

    "description": "",

    "content": "{layers:{url:http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/datas/Ground_zhud@Olympic/config,name:Ground_zhud@Olympic,type:S3M,realName:,id:null,isVisible:true,thumbnail:null,title:null},{url:http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/datas/Nest@Olympic/config,name:Nest@Olympic,type:S3M,realName:,id:null,isVisible:true,thumbnail:null,title:null},{url:http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/datas/Tree@Olympic/config,name:Tree@Olympic,type:S3M,realName:,id:null,isVisible:true,thumbnail:null,title:null},{url:http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/datas/Ground@Olympic/config,name:Ground@Olympic,type:S3M,realName:,id:null,isVisible:true,thumbnail:null,title:null},{url:http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/datas/Ground_other@Olympic/config,name:Ground_other@Olympic,type:S3M,realName:,id:null,isVisible:true,thumbnail:null,title:null},{url:http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/datas/Ground_deng@Olympic/config,name:Ground_deng@Olympic,type:S3M,realName:,id:null,isVisible:true,thumbnail:null,title:null},{url:http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/datas/NewDataset@water-caijian/config,name:NewDataset@water-caijian,type:S3M,realName:,id:null,isVisible:true,thumbnail:null,title:null},{url:http://rdc.ispeco.com:8080/iserver/services/3D-Olympic/rest/realspace/datas/Building@Olympic/config,name:Building@Olympic,type:S3M,realName:,id:null,isVisible:true,thumbnail:null,title:null},camera:{position:{x:-2171393.232177115,y:4378420.651896914,z:4099458.299207809},heading:6.283161083227248,pitch:-0.7855183118939602,roll:6.283185307179586},environmentState:{enableLighting:true,skyAtmosphereShow:true,enableFog:true},isSTKTerrain:false,analysisObjects:{},terrainObjects:{}}"

}

返回的 rjson 格式响应结果如下:

{

    "newResourceID": "1116904540",

    "succeed": true,

    "newResourceLocation": "http://localhost:8190/iportal/web/scenes/1116904540"

}

DELETE 请求

删除场景,支持批量删除场景。url 中传递需要删除场景的 id 数组。

响应结构

返回的资源表述结构如下:

字段 类型 说明
succeed boolean 删除场景是否成功。
error Httperror 出错信息,如果删除场景成功,则没有本字段。

响应示例

对 scenes 资源:http://localhost:8190/iportal/web/scenes.rjson?ids=[1,2] 执行 DELETE 请求,批量删除 id 为 1 和 2 的两个场景,返回的 rjson 格式响应结果如下:

{ "succeed": true}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 scenes 资源是否存在,或者客户端是否有权限访问 scenes 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 scenes 资源是否支持<format>格式的表述。

请参见