刘小标 2020-10-15
iServer 服务是什么?
iServer 内置服务功能,如下表所示:
服务 | 功能描述 |
---|---|
地图服务 | -地图浏览、缩放、平移; -地图量算、查询;专题图 |
数据服务 | -对数据源、数据集进行查询; -对数据集进行在线编辑,增删改 |
空间分析服务 | -对几何对象/数据集的裁剪、擦除、相交、合并、更新等操作; -缓冲区分析、空间关系分析等;提取等值线 |
三维服务 | -三维数据的发布; -三维场景的发布,可以通过 Realspace 插件在线浏览、查询三维数据 |
交通换乘分析服务 | -交通换乘方案分析; -公交站点查询 |
交通网络分析服务 | -最佳路径分析、多旅行商分析; -服务区分析、选址分析; -最近设施分析 |
其中,地图服务、数据服务、三维服务,以及空间分析服务,是我们工作中最常使用的服务类型。
下面为大家详细描述 iServer 创建服务步骤,以便深入理解 iServer 服务:
一起看下超图 iServer 的服务架构,iServer 的每一种服务,如 REST、WMS 等都由三部分组成:Provider(提供者层)、Component(组件层)、Interface(接口层)。
SuperMap iServer 提供的各种 GIS 服务就是由这三层中的各种模块相互组合、相互作用构建出来的。
1、选择服务类型 2、指定数据来源 3、设置其他参数
服务提供者(Provider)针对某一类型数据进行 GIS 功能的处理,实现 GIS 功能封装与接口的统一。
iServer 默认类型:
- 地图服务提供者
- 数据服务提供者
- 三维服务提供者
- 空间分析服务提供者
- 交通网络分析服务提供者
- 交通换乘分析服务提供者
注:用户可自定义服务提供者
下面以三张表格阐明地图、数据、三维以及分析服务提供者及其使用说明:
地图服务提供者及其使用说明
地图服务提供者 | 使用说明 |
---|---|
本地地图服务提供者 UGCMapProvider | 获取 SuperMap 数据,处理地图功能 |
REST 地图服务提供者 RESTMapProvider | 对 REST 地图服务来源的 GIS 数据进行地图功能的处理 |
WMTS 地图服务提供者 WMTSMapProvider | 对 WMTS 来源的数据进行地图功能的处理 |
WMS 地图服务提供者 WMSMapProvider | 对 WMS 来源的数据进行地图功能的处理 |
BingMaps 地图服务提供者 BingMapsMapProvider | 对 BingMaps 服务的 GIS 数据进行地图功能的处理 |
超图云服务地图服务提供者 CloudMapProvider | 实现对超图云服务的 GIS 数据进行地图功能的处理 |
天地图地图服务提供者 TiandituMapProvider | 实现对天地图服务的 GIS 数据进行地图功能的处理 |
聚合地图服务提供者 AggregationMapProvider | 实现对多源的 GIS 数据进行地图功能的聚合处理 |
..... | 使用其他数据来源进行服务的发布 |
数据服务提供者及其使用说明
数据服务提供者 | 使用说明 |
---|---|
本地数据服务提供者 UGCDataProvider | 获取 SuperMap 数据,处理数据相关功能 |
WFS 数据服务提供者 WFSDataProvider | 对 WFS 来源的数据进行数据功能的处理 |
REST 数据服务提供者 RESTDataProvider | 对远程 REST 数据服务来源的数据进行数据功能的处理 |
聚合数据服务提供者 AggregationDataProvider | 实现对多来源的 GIS 数据进行数据功能的聚合处理 |
三维、分析服务提供者及其使用说明
三维/分析服务提供者 | 使用说明 |
---|---|
本地真三维服务提供者 | 获取 SuperMap 数据,处理三维相关功能 |
交通网络分析服务提供者 | 获取 SuperMap 数据,处理网络分析功能 |
空间分析服务提供者 | 获取 SuperMap 数据,处理空间分析功能 |
交通换乘分析服务提供者 | 获取 SuperMap 数据,处理交通换乘分析功能 |
根据发布的协议或者规范在服务接口列表中查找是否有合适的服务接口:
1、已经有对应的服务接口,该步骤结束 2、没有对应的服务接口,创建一个服务接口
服务接口(Interface)将服务组件按照不同服务规范发布成不同类型的网络服务,该层决定了所支持发布的服务类型。
默认服务接口类型:
- REST
- REST/JSR(空间分析服务、交通换乘分析服务)
- WMS
- WFS
- WPS
- WCS
- WMTS
- Handler(对接使用 iServer Java 2008 开发的应用程 序)
注:用户可自定义服务接口
1、选择服务类型 2、设置使用的服务提供者 3、设置绑定的服务接口
服务组件(Component)对不同服务提供者的功能进行组合并封装成易于客户端应用的模块。 默认组件类型:
- 地图服务组件(Map)
- 数据服务组件(Data)
- 交通网络分析组件(TransportationAnalyst)
- 三维服务组件( Realspace)
- 空间分析组件(SpatialAnalyst)
- 交通换乘分析组件(TrafficTransferAnalyst)
注:用户可自定义服务组件。
服务组件(Component)与服务提供者(Provider)对应关系:
服务组件(Component)与接口(Interface)对应关系:
创建 SuperMap 数据来源的地图 REST 服务(动态出图)。 准备数据:China.smwu
支持对地图服务生成和使用地图瓦片、矢量瓦片、属性瓦片,且生成的瓦片包支持分享传播与离线使用。
地图瓦片
将地图中所有图层切分并存储为栅格图片的地图瓦片,支持 FastDFS 和 MongoDB 分布式存储、SMTiles 、 SuperMap UGC 格式和 GeoPackage 格式。其中,SuperMap UGC 格式是 SuperMap 各个产品间通用的传统地图瓦片格式,相同版本的地图瓦片可以通用。分布式切图服务支持的“UGCV5”切片类型,就是指 5.0 版本原始缓存。
此外,地图瓦片的图片格式支持 PNG、JPG、GIF。如果选择 PNG,且当前地图颜色值数小于等于 256,SuperMap iServer 会自动将图片存为 PNG8 格式,以节约存储空间。
矢量瓦片
地图中的指定矢量图层以矢量瓦片的形式进行切分和存储,支持 SVTiles 、MVT 格式。
注:SVTiles 和 MVT 区别,SVTiles 是由 SuperMap 制定的一种利用 SQLite 数据库存储矢量瓦片数据的存储格式,是一种私有格式,而 MVT 则是目前流行的一种通用格式
在地图服务的应用中,除了供用户访问浏览地图外,还有为用户提供查询、选择、高亮等操作的实际需求,这时就需要通过要素服务为用户提供上述功能。与地图服务需要通过缓存技术提升访问速度一样,要素服务也需要通过将矢量数据预先生成瓦片来提升客户端的渲染速度,因此矢量瓦片(Vector Tile)就诞生了。矢量数据在存储的时候,其体积比地图瓦片更小,更适合于地图中对时效性要求较高的地物要素的表达,如 POI 信息、路线信息等。常见的在线地图服务,如 Google Maps、百度地图等,都是采用了栅格瓦片做底图,叠加矢量瓦片的做法。
属性瓦片
将地图中矢量图层的属性数据以属性瓦片的形式进行存储,支持 UTFGrid 格式。
在地图服务的应用中,如果包含较多的鼠标交互操作,传统做法是在地图上叠加要素图层,每个要素具有自己的热点和事件,用于完成鼠标交互。但在大数据量、高并发请求的环境中,客户端尤其是移动终端上,就不能很好地渲染大数据量的地理要素,因此就面临严重的性能问题。这种情况下,出现了一张地图瓦片结合要素属性信息的缓存方式,也就是在传统的地图瓦片的基础上,额外存储了按照格网划分的要素属性信息,这种预先划分的要素属性信息,就成为属性瓦片(也称互动格网瓦片)。地图瓦片结合属性瓦片的这种用法也已经有很多实践应用,最具代表性的是 MBTiles 规范及其附属的 UTFGrid 规范。
附上:栅格与矢量瓦片 PK 图