首页 / 浏览问题 / 桌面GIS / 问题详情
idektop发布工作空间的rest地图服务与发布本地切片服务区别是什么?
20EXP 2022年04月29日
问题1:发布工作空间的rest地图服务是切片形式,但是前台leaflet调用放大级别超过18无法显示,如何解决?

问题2:idesktop发布工作空间的rest地图服务与发布本地瓦片形式两种区别在哪?iserver集群标签下的切片服务,切片完之后是否自动发布服务,需要手动发布服务吗?

问题3:如果地图有变化,需要重新切片然后发布服务吗,有什么快捷方法?

问题4:发布成功的矢量瓦片服务,支持openlayer预览形式,那么是不是不支持leaflet调用?

另外数据服务如何关联一起,目前,我的项目是直接发布整个工作空间,数据服务和地图服务是在一个夹子底下,如果做切片服务的话,一个图层一个服务,管理比较麻烦,另外不清楚如何与当前地图的数据做关联?

1个回答

您好,根据您的描述,我在下面依次作答:

  1. 前端 leaflet 无法显示超过18级的问题,可能有以下原因:
    • 检查切片的层级是否超过18级;
    • 是否给Leaflet的对应图层设置最大显示层级,Layer的默认最大显示层级是18;
  2. REST服务与本地瓦片服务的区别:
    • 本地瓦片服务:主要发布的的瓦片缓存(*.sci);
    • REST服务:一种基于REST架构的面向资源的结构,具有以下特点:
      • 服务器提供的每项资源都通过 URI 进行唯一标识,但一个资源可以被多个 URI 标识;
      • REST 服务使用 HTTP 协议标准的方法,包括:GET、POST、PUT、DELETE 方法等,分别对应对资源的四种操作,获取、创建、修改和删除等;
      • 对资源提供多种格式的表述,如 xml,json,html 等;
      • REST 服务处理资源请求所需的全部信息均包含在请求内;
  3. iServer集群标签下的切片服务,切片完之后是否自动发布服务,需要手动发布服务吗:需要分情况讨论:
    • 对已发布服务且启用缓存的地图进行切片:切片的位置与地图服务缓存位置一致,此时不需要手动再发布切片服务;
    • 仅调用切片服务生成缓存切片:需要手动发布瓦片服务;
  4. 如果地图有变化,需要重新切片然后发布服务吗,有什么快捷方法:不用完全重新切片,iServer支持切片的时候设置切片范围和层级,指定到之前的切片范围后,即可覆盖原本的瓦片缓存;
  5. 发布成功的矢量瓦片服务,支持openlayer预览形式,那么是不是不支持leaflet调用:iClient for Leaflet 提供了 L.supermap.tiledVectorLayer 支持加载矢量瓦片,详细使用方式建议参考《SuperMap iClient for Leaflet API》
  6. 数据服务如何关联一起:有2种方式建议参考:
    • 按图层数据发布服务:可以在前端加载多个图层在一张地图上显示;
    • 可以在iDesktop桌面端将地图配置好,然后再进行切片,切片服务是按地图进行切片,并不是一个图层一个服务,一个地图可以包含多个图层,切图后的瓦片包含当前地图对应层级的对应图层数据。

希望可以帮到您。

2,158EXP 2022年04月29日
好的谢谢了

目前只发布了整个工作空间,勾选了rest地图服务与数据服务,地图没有做切片,所以rest矢量地图服务最大显示层级是18吗?前台maxzoom设置20级,放大超过18级就不显示了,天地图和矢量图层都不显示。

问题3中,对已发布的rest地图服务进行切片后,服务地址还是以前的吗?怎么验证是切片服务还是以前的rest地图服务?

需求就是想要看到19、20级的天地图及超图发布的矢量地图,正在尝试什么方案可以解决这个问题。

您好,前端确认是对图层(是Layer,不是Map)设置的maxZoom超过18吗?如果是的话,建议您通过SuperMap iDesktop桌面端打开发布的工作空间检查一下发布的地图的最大可见比例尺设置。REST矢量地图服务没有最大显示层级限制,层级限制都是在前端代码、发布的地图属性和图层属性上设置的。

对已发布的rest地图服务进行切片,服务地址是还是以前的(因为并没有改变原本的服务),切图的时候参数设置的,建议您可以将切图地址设置为原本地图的瓦片缓存地址(如:\webapps\iserver\output\cache\test,服务的瓦片缓存地址默认都是在\webapps\iserver\output\cache目录下,可以通过iServer服务详情页面查看具体配置)。

对于无法在前端查看超过18级的矢量地图问题,建议您先通过 iDesktop 桌面端加载 iServer 发布的地图服务,确认能否正常的看到18级以后的地图。

  • 若能够看到,说明iServer服务那边是正常的,问题在前端代码,建议确认前端代码是否只设置了map的maxZoom,而没有设置 layer 的 maxZoom;
  • 若桌面端也无法正常看到超过18级的地图,建议在桌面端打开发布的工作空间,打开发布的地图,查看地图属性和对应图层的图层属性中分别设置的最大、最小可见比例尺,扩展可见比例尺范围,再重新发布服务。

...