作者:john
iServer rest API 中没有直接发布三维瓦片服务的接口,需要通过三层架构的方式来实现,需要创建服务提供者(providers)和组件(components)接口。
1. iServer三层架构介绍
SuperMap iServer 由一个三层结构体系的开发框架搭建而成。
服务提供者层的模块:利用 GIS 计算内核或者第三方 GIS 服务实现 GIS 功能的处理;
组件层的模块:根据 GIS 功能的划分,将各种 Provider 模块进行封装处理;
接口层的模块:按照不同服务形式的规则构建 Servlet 或者 Interface,将 Component 模块以各种服务形式对外发布。
2. iServer rest API实现发布三维瓦片服务
> 1. 创建服务提供者(providers)
>> 接口介绍
>> 实现代码
var data_providers = {
config: {
configFile: "D:/Users/john/Desktop/NetworkAnalyst/IMG/IMG.sci3d",
clipRegion: null,
},
type:"com.supermap.services.providers.LocalRealspaceProvider",
name:"local3DCache-IMG8"
}
$.ajax({
type: "POST",
url: "http://127.0.0.1:8090/iserver/manager/providers.rjson" + "?token=" + token,
dataType:"json",
data: JSON.stringify(data_providers),
success : function(result) {
},
error : function(result){
}
})
> 2.创建服务组件(components)
>> 接口介绍
>> 实现代码
var data_components = {
interfaceNames:"rest",
name:"3D-local3DCache-IMG8",
providers:"local3DCache-IMG8", // 与上一步服务提供者一致
type:"com.supermap.services.components.impl.RealspaceImpl",
config:{
}
}
$.ajax({
type: "POST",
url: "http://127.0.0.1:8090/iserver/manager/components.rjson" + "?token=" + token,
dataType:"json",
data: JSON.stringify(data_components),
success : function(result) {
},
error : function(result){
}
})
到此,通过iServer rest API发布三维瓦片服务的功能模块已实现。