zoukankan      html  css  js  c++  java
  • SuperMap iServer数据动态更新刷新地图与数据服务

    一、使用背景

    有这么一个需求,后端也就通过SuperMap iDesktop或数据库更新了新增或更新某个数据地理信息后,服务端也就是SuperMap iServer无法实时查看到更新的数据,原因是SuperMap iServer没有主动监测第三方修改数据的变化(使用SuperMap iServer接口增删改无该问题)
    解决方式要么通过重启SuperMap iServer解决,要么通过删除服务重新发布解决,但是这两种版本都比较麻烦,SuperMap iServer 10.1.3版本中可以通过调用SuperMap iServer Rest API的方式进行刷新工作空间。

    二、SuperMap iServer环境

    2.1 使用SuperMap iServer版本

    官网10.1.3及以上已经同步该问题,建议使用官网正式版本。
    以下为10.1.2临时包:

    • Linux:supermap_iserver_1012_19721_5526_linux64_deploy.tar.gz
    • Windows:supermap_iserver_1012_19721_5497_win64_deploy.zip

    下载地址:

    2.2 使用方法

    2.2.1 修改SuperMap iServer配置

    修改%SuperMap iServer安装目录%webappsiserverWEB-INFiserver-system.xml

    • checkDatasourceConnectionInterval 检查“数据库型 工作空间”是否改变或“数据库型数据源”是否断开的时间间隔,单位为秒,默认30s
    • refreshDatasource 设置是否开启刷新数据库型数据源,默认为false

    修改成以下配置:

    <checkDatasourceConnectionInterval>3</checkDatasourceConnectionInterval>
    <refreshDatasource>true</refreshDatasource>
    

    修改完成后,重启SuperMap iServer服务。

    2.2.2 数据更新后,通过SuperMap iServer RestAPI代码刷新工作空间内容

    1. 通过RestAPI操作必须先申请iServer Token

    申请地址:

    http://IP:8090/iserver/services/security/tokens
    

    2.刷新工作空间

    请求URL:

    http://IP:8090/iserver/manager/workspaces/workspacereload.rjson?token=
    

    POST请求

    {
        "workspaceConnectionInfo": "/opt/zhui.sxwu",
        "isForce": true,
        "datasets": {
            "pggis": ["region_sum"]
        }
    }
    

    请求体说明:

    • workspaceConnectionInfo 文件型工作空间路径绝对路径。如果是数据库类型工作空间,请查看具体请查看SuperMap iServer 帮助文档,例如oracle工作空间则填写"server=orcl203;username=test;password=test;type=ORACLE;database=;name=testWorkSpace;driver=null"
    • pggis 为需刷新的数据源名称
    • region_sum 为刷新数据集名称,如果有多个数据源刷新为数组

    例如:

    1.刷新指定工作空间的内容

    2.返回结果为true代表刷新成功

    2.2.3 验证服务

    1.数据服务

    workspacereload刷新前:

    workspacereload刷新后:

    2.地图服务

    由于SuperMap iServer默认表述浏览(classic/leaflet等)有缓存,故需要使用iClient客户端进行验证,且iClient客户对接地图出图设置cacheEnabled: false属性。

    例如:

    workspacereload刷新前:

    workspacereload刷新后:

    (转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢)

  • 相关阅读:
    STM32 Cubemx 输出可调频率与占空比的PWM
    程序员必知的十大基础实用算法及其讲解
    [51单片机]18B20驱动函数
    《嵌入式怎么学?新人十问及解答》
    Google Chrome快捷键大全
    SSD、高级格式化硬盘,4K,分区,对齐,Ghost能不能用的解释用SSD的都可以看看
    资源下载
    Nexus Root Toolkit教程——刷机
    校园卡植入手机教程
    基于Visual c++ 2012的php扩展开发
  • 原文地址:https://www.cnblogs.com/zhangyongli2011/p/15152072.html
Copyright © 2011-2022 走看看