SuperMap iServer 支持以下类型的三维服务提供者:

配置本地三维服务提供者

配置一个 UGC 本地三维服务提供者,如下所示:

<!-- 本地三维服务提供者-->
<provider class="com.supermap.services.providers.UGCRealspaceProvider" name="3DProvider">
        <config class="com.supermap.services.providers.UGCRealspaceProviderSetting">
                <workspacePath>../../samples/data/Realspace/RealspaceSample.sxwu</workspacePath>
                <xmlParse>false</xmlParse>
        </config>
</provider>

其中<provider>中的 class 标识的是  UGC 三维服务提供者的实现类,<config>中的 class 标识的是  UGC 三维服务提供者对应的配置类,即 UGCRealspaceProviderSetting,<config>中的内容是对应的配置项。

<workspacePath>表示该服务提供者所用的工作空间的路径。此外,工作空间路径支持从环境变量和系统配置文件中读取。可写为:

<workspacePath>${datapath1}/World.sxwu</workspacePath> 
详细说明请参见:预设本地工作空间路径

配置 REST 三维服务提供者

配置一个 REST 三维服务提供者,如下所示:

<!-- REST 三维服务提供者-->
<provider class="com.supermap.services.providers.RestRealspaceProvider" enabled="true" name="rest3DProvider-test">
        <config class="com.supermap.services.providers.RestRealspaceProviderSetting">
                <restServiceRootURL>http://localhost:8090/iserver/services/3D-sample/rest</restServiceRootURL>
                <restProviderCacheConfig>
                        <maxElementsInMemory>1</maxElementsInMemory>
                        <maxSizeOnDisk>2048</maxSizeOnDisk>
                        <timeToLiveSeconds>0</timeToLiveSeconds>
                        <timeToIdleSeconds>0</timeToIdleSeconds>
                </restProviderCacheConfig>
                <useCache>true</useCache>
        </config>
</provider>

其中<provider>中的 class 标识的是  REST 三维服务提供者的实现类,<config>中的 class 标识的是  REST 三维服务提供者对应的配置类,即 RestRealspaceProviderSetting,<config>中的内容是对应的配置项。包括:

  • <restServiceRootURL>:REST 三维服务地址,指向服务的根资源路径,如 http://localhost:8090/iserver/services/3D-sample/rest。
  • <useCache>:是否使用缓存。默认为 true。开启缓存后,对资源的 REST 请求会缓存在本地,下次收到同样的请求就直接在缓存中读取,不需要再向服务端发送。
  • <restProviderCacheConfig>:服务提供者历史请求缓存在内存中的存储设置,包括:
  • <maxElementsInMemory>:内存中允许存储的最大请求记录数。0代表无限制;1代表不使用内存缓存,默认为1。如果不为1,则优先向内存中存储请求记录。
  • <maxSizeOnDisk>:磁盘最大容量。单位为 MB,默认大小为2048MB。
  • <timeToLiveSeconds>:设置缓存存活的时间上限,超时后会自动清除缓存。从创建记录开始计算,单位为秒,默认为0,代表缓存永久存活。
  • <timeToIdleSeconds>:设置缓存闲置的时间上限,超时后会自动清除缓存。从上次被访问开始计算,单位为秒,默认为0,代表缓存永久存活。
  • <token>:启用安全机制的情况下,访问受保护的 REST 资源需要提供Token 令牌

配置 MongoDB 三维服务提供者

配置一个 MongoDB 三维服务提供者,如下所示:

<!-- MongoDB 三维服务提供者-->
<provider class="com.supermap.services.providers.MongoDBRealspaceProvider" enabled="true" name="mongoDB3DProvider-scene"> 
      <config class="com.supermap.services.providers.MongoDBRealspaceProviderSetting"> 
        <serverAdresses> 
          <string>192.168.120.47:27017</string> 
        </serverAdresses>  
        <database>smtiles</database>  
        <username>iserver</username>  
        <password>iserver</password>  
        <tilesetNames> 
          <string>1181328118</string> 
        </tilesetNames> 
      </config> 
 </provider> 

其中<provider>中的 class 标识的是 MongoDB 三维服务提供者的实现类,<config>中的 class 标识的是 MongoDB 三维服务提供者对应的配置类,即 MongoDBRealspaceProviderSetting,<config>中的内容是对应的配置项。包括:

  • <serverAdresses>:MongoDB 服务地址。
  • <tilesetNames>:切片集数组。若参数为空,即发布 MongoDB 数据库中所有的三维切片集。
  • <database>:用来存储地图瓦片的数据库。默认使用名为 smtiles 的数据库。
  • <username>:具有访问该数据库权限的用户。
  • <password>:该用户的密码。

配置三维切片缓存服务提供者

配置一个三维切片缓存服务提供者,如下所示:

<!-- 三维切片缓存服务提供者-->
<provider class="com.supermap.services.providers.LocalRealspaceProvider" enabled="true" name="local3DCache-osgb"> 
      <config class="com.supermap.services.providers.LocalRealspaceProviderSetting"> 
        <configFile>..../samples/Data/3D_Cache/osgb/jinjiang_Compressed-test.scp</configFile>
        <isMultiInstance>false</isMultiInstance>
        <clipregions> 
          <com.supermap.services.components.commontypes.georegion3d> 
            <id>0</id>  
            <points class="com.supermap.services.components.commontypes.Point3D-array"> 
              <com.supermap.services.components.commontypes.point3d> 
                <x>121.0</x>  
                <y>38.0</y>  
                <z>-6.0</z> 
              </com.supermap.services.components.commontypes.point3d>  
              <com.supermap.services.components.commontypes.point3d> 
                <x>121.0</x>  
                <y>38.0</y>  
                <z>-48.0</z> 
              </com.supermap.services.components.commontypes.point3d>  
              <com.supermap.services.components.commontypes.point3d> 
                <x>121.0</x>  
                <y>38.0</y>  
                <z>-49.0</z> 
              </com.supermap.services.components.commontypes.point3d> 
            </points>  
            <parts> 
              <int>3</int> 
            </parts>  
            <type>REGION3D</type>  
            <rotationx>0.0</rotationx>  
            <rotationy>0.0</rotationy>  
            <rotationz>0.0</rotationz>  
            <scalex>0.0</scalex>  
            <scaley>0.0</scaley>  
            <scalez>0.0</scalez> 
          </com.supermap.services.components.commontypes.georegion3d> 
        </clipregions> 
      </config> 
 </provider> 

其中<provider>中的 class 标识的是三维切片缓存服务提供者的实现类,<config>中的 class 标识的是三维切片缓存服务提供者对应的配置类,即 LocalRealspaceProviderSetting,<config>中的内容是对应的配置项。包括:

  • <configFile>:缓存配置文件的路径。
  • <isMultiInstance>:是否支持多实例。
  • <clipRegions>:裁剪范围。
  • <rotationx>:三维几何对象沿 X 轴方向的旋转角度,单位为度。
  • <rotationY>:三维几何对象沿 Y轴方向的旋转角度,单位为度。
  • <rotationZ>:三维几何对象沿 Z 轴方向的旋转角度,单位为度。
  • <scalex>:三维几何对象沿 X 轴方向的缩放比例。
  • <scaley>:三维几何对象沿 Y 轴方向的缩放比例。
  • <scalez>:三维几何对象沿 Z轴方向的缩放比例。

配置3DTiles缓存服务提供者

配置一个3DTiles缓存服务提供者: 

<!--3DTiles缓存服务提供者-->
<provider class="com.supermap.services.providers.ThreeDTilesRealspaceProvider" enabled="true" name="ThreeDTilesCache-attribute"> 
      <config class="com.supermap.services.providers.ThreeDTilesRealspaceProviderSetting"> 
        <configFile>E:/test-data/pointHanging/NewDGN/attribute.json</configFile>
        <isMultiInstance>false</isMultiInstance>
      </config> 
 </provider> 

其中<provider>中的 class 标识的是3DTiles缓存服务提供者的实现类,<config>中的 class 标识的是3DTiles缓存服务提供者对应的配置类,即 ThreeDTilesRealspaceProviderSetting,<config>中的内容是对应的配置项。包括:

  • <configFile>:缓存配置文件的路径。
  • <isMultiInstance>:是否支持多实例。

配置 OSS 三维瓦片缓存服务提供者(已过时)

配置一个 OSS 三维瓦片缓存服务提供者:  

<!-- 三维切片缓存服务提供者-->
<provider class="com.supermap.services.providers.OssRealspaceProvider" enabled="true" name="oss3DCache-233232"> 
      <config class="com.supermap.services.providers.OssRealspaceProviderSetting"> 
        <configPath>Config.scp</configPath>
        <ossWebsite>http://oss-cn-beijing.aliyuncs.com</ossWebsite>
        <bucketName>233232</bucketName>
        <accessKeyId>LTAI4G8HxYSCzAsbSuperMap</accessKeyId>
        <accessKeySecret>GQDvAQ2UXkjrwrtVo0cOVX1SuperMap</accessKeySecret>
        <isMultiInstance>false</isMultiInstance>
        <cacheKey>SuperMapUXkjrwrtVo0</cacheKey> 
      </config> 
 </provider> 

其中<provider>中的 class 标识的是三维瓦片缓存服务提供者的实现类,<config>中的 class 标识的是 OSS 三维瓦片缓存服务提供者对应的配置类,即 OssRealspaceProviderSetting,<config>中的内容是对应的配置项。包括:

  • <configPath>:缓存配置文件的路径。
  • <ossWebsite>:需要发布的 OSS 对象存储的地址,如 http://oss-cn-beijing.aliyuncs.com
  • <bucketName>:需要发布的 OSS 存储空间的名称
  • <accessKeyId>:获取阿里云云产品 OpenAPI 接口授权时需要的 ID
  • <accessKeySecret>:获取阿里云云产品 OpenAPI 接口授权时需要的 Secret
  • <isMultiInstance>:是否支持多实例。
  • <cacheKey>:缓存配置文件的密钥。

配置 S3 三维瓦片缓存服务提供者

配置一个 S3 三维瓦片缓存服务提供者:  

<!-- S3 三维瓦片缓存服务提供者-->
<provider class="com.supermap.services.providers.SuperMapTilesRealspaceProvider" enabled="true" name="s33DCache-sichuanImage-2"> 
      <config class="com.supermap.services.providers.SuperMapTilesRealspaceProviderSetting"> 
        <configFile>/sct/sichuan_Image/sichuan_Image.sci3d</configFile>
        <s3ConnectionInfo>
          <endpoint>http://172.16.1.1:9090</endpoint>
          <region>us-east-1</region>
          <accessKey>minioadmin</accessKey>
          <secretKey>minioadmin</secretKey>
        </s3ConnectionInfo>
        <cacheKey>123456</cacheKey>
        <isMultiInstance>false</isMultiInstance> 
      </config> 
 </provider> 

其中<provider>中的 class 标识的是 S3 三维瓦片缓存服务提供者的实现类,<config>中的 class 标识的是 S3 三维瓦片缓存服务提供者对应的配置类,即 SuperMapTilesRealspaceProviderSetting,<config>中的内容是对应的配置项。包括:

  •  <s3ConnectionInfo>:S3 对象存储的连接信息。
  • <accessKey>:访问密钥 ID。与私有访问密钥关联的唯一标识符;访问密钥 ID 和私有访问密钥一起使用,对请求进行加密签名。
  • <secretKey>:与访问密钥 ID 结合使用的私有访问密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
  • <region>:对象存储服务中桶 (Bucket )所在的区域,当存储类型为 Amazon S3 对象存储时,该参数为必填项。
  • <endpoint>: 终端节点即对象存储服务在不同区域的区域域名,用于处理各自区域的访问请求。如 http(s)://obs.cn-north-4.myhuaweicloud.com。如果使用 MinIO 则配置域名时应该使用 TCP 端口。
  • <configFile>:对象存储中的瓦片配置文件的路径,如 /supermap/world/world.sci3d,其中目录第一级为桶 (bucket) 名
  • <cacheKey>:三维缓存密钥。
  • <isMultiInstance>:是否支持多实例。

配置 UGCV5(MVT) 三维服务提供者

配置一个 UGCV5(MVT) 三维服务提供者:  

<!--UGCV5(MVT) 三维服务提供者-->
<provider class="com.supermap.services.providers.MVTTileRealspaceProvider" enabled="true" name="3Dmvt-ShiJieDiTuDay"> 
      <config class="com.supermap.services.providers.ThreeDTilesRealspaceProviderSetting"> 
        <configFile>F:/世界地图_Day/世界地图_Day.sci</configFile>
        <isMultiInstance>false</isMultiInstance>
      </config> 
 </provider> 

其中 <provider> 中的 class 标识的是 UGCV5(MVT) 三维服务提供者的实现类,<config>中的 class 标识的是 UGCV5(MVT) 三维服务提供者对应的配置类,即 ThreeDTilesRealspaceProviderSetting,<config>中的内容是对应的配置项。包括:

  • <configFile>:UGCV5 瓦片配置文件的路径,如 F:/世界地图_Day/世界地图_Day.sci
  • <isMultiInstance>:是否支持多实例。