com.supermap.services.components

接口 Realspace

  • 所有已知实现类:
    RealspaceImpl


    public interface Realspace
    

    三维服务组件接口。

    三维服务组件是一类 GIS 服务组件,封装了与三维相关的 GIS 功能。

    在 SuperMap iServer 中,三维(Realspace)包括三维数据和三维场景(Scene)两个组成部分,三维数据提供了具体的数据, 三维场景提供了对三维数据的展现,形式上等同于二维中的数据和地图。

    三维数据包括矢量数据、地图、影像、地形、模型、KML 数据等,目前 SuperMap iServer 不仅支持发布这些源数据,还支持发布对这些源数据进行预处理之后生成的三维缓存数据,该数据在缓存预处理过程中进行了分层和分块处理; 对于 KML 数据而言,对应一个 KML 数据。

    三维场景的主体是一个模拟地球的三维球体(半径为6378137 米),该球体具有地理参考,球体上的点采用经纬度进行定位, 并且可以通过三维场景提供的球体上的经纬网格,方便地浏览;同时,使用全球的遥感影像图作为背景覆盖在球体表面, 增强三维球体模拟的逼真性;除此之外,三维场景还模拟了地球所处的环境,包括:宇宙的星空,地球的大气环境,地球表面的雾环境等。 三维场景还提供了相机的设置,相机可以用来控制对球体的观测角度、方位和观测范围,从而以不同的视角呈现球体的不同部位。 SuperMap iServer 通过 SceneInfo 对象来表达三维场景的信息。 三维场景用于加载三维图层(Layer3D),一个三维图层对应一个三维数据。

    • 方法概要

      方法 
      限定符和类型 方法和说明
      boolean cleanCacheData(java.lang.String dataName)
      清除动态发布数据的缓存。
      java.lang.String getCacheAccessKey()
      返回用于对缓存数据进行加密的密码。
      RealspaceDataResult getData(RealspaceDataParam dataParam)
      获取三维瓦片数据结果。
      RealspaceDataResult getData(java.lang.String sceneName, java.lang.String layerName, RealspaceDataParam dataParam)
      根据场景名以及图层名及瓦片 参数三维瓦片数据结果。
      byte[] getDataConfig(java.lang.String dataName)
      根据名称获取三维缓存数据的配置文件。
      byte[] getDataConfig(java.lang.String dataName, CompressType compressType)
      根据名称获取三维缓存数据的配置文件。
      java.util.List<RealspaceDataInfo> getDataInfos()
      获取所有的三维数据信息。
      java.lang.String getDataVersion(java.lang.String dataName, int xIndex, int yIndex, int level, java.lang.String fileExtension)
      根据索引获取瓦片数据的最新版本号。
      java.lang.String getDataVersion(java.lang.String dataName, java.lang.String relativePath)
      根据相对路径获取瓦片数据的最新版本号。
      java.lang.String getLayerExtendXML(java.lang.String sceneName, java.lang.String layerName)
      获取指定图层的图层扩展信息
      PrjCoordSys getLayerPrj(java.lang.String sceneName, java.lang.String layerName)
      获取指定图层的投影信息
      byte[] getModelIndex(java.lang.String dataName)
      根据名称获取三维模型缓存数据的模型索引文件。
      java.util.List<OfflineDataInfo> getOfflineDataPaths(java.lang.String sceneName, java.lang.String layerName)
      获取特定三维场景下特定三维图层所有的离线数据路径
      SceneInfo getSceneInfo(java.lang.String sceneName)
      根据三维场景的名称,获取三维场景的信息。
      java.util.List<java.lang.String> getSceneNames()
      返回所有可用的三维场景的名称。
      RealspaceTilesRevisionInfo getTilesRevisionInfo(java.lang.String dataName, long revisionNumber)
      获取指定版本号的瓦片变更 信息。
      byte[] getVectorIndex(java.lang.String dataName)
      根据名称获取三维矢量缓存数据的索引文件。
      boolean isCacheCanReuse()
      三维缓存是否允许拷贝和重用。
      boolean isDataAvailable(java.lang.String dataName)
      三维数据是否可用。
      boolean isSceneAvailable(java.lang.String sceneName)
      三维场景是否可用。
      boolean isSecurityEnabled()
      是否启用安全机制。
      RealspaceDataResult[] outputDataToMemory(java.lang.String sceneName, java.lang.String layerName, Output3DDataToMemoryParam dataParam)
      根据场景名以及图层名将三维瓦片生成到内存中
    • 方法详细资料

      • getSceneNames

        java.util.List<java.lang.String> getSceneNames()
                                                       throws RealspaceException
        
        返回所有可用的三维场景的名称。
        返回:
        可用的场景名称列表。
        抛出:
        RealspaceException - 三维异常信息。
      • getSceneInfo

        SceneInfo getSceneInfo(java.lang.String sceneName)
                               throws RealspaceException
        
        根据三维场景的名称,获取三维场景的信息。
        参数:
        sceneName - 三维场景的名称。
        返回:
        三维场景信息。
        抛出:
        RealspaceException - 三维异常信息。
      • getDataVersion

        java.lang.String getDataVersion(java.lang.String dataName,
                                      int xIndex,
                                      int yIndex,
                                      int level,
                                      java.lang.String fileExtension)
                                        throws RealspaceException
        
        根据索引获取瓦片数据的最新版本号。
        参数:
        dataName - 对应 SuperMap 三维场景中的三维图层的名称(LayerName)。
        xIndex - 瓦片数据在 X 方向的索引。
        yIndex - 瓦片数据在 Y 方向的索引。
        level - 瓦片数据的层号,仅模型的三维缓存数据需要设置。
        fileExtension - 瓦片数据的扩展名。包括 *.png,*.jpg,*.bil等。
        返回:
        瓦片数据的版本。
        抛出:
        RealspaceException - 三维异常信息。
      • getDataVersion

        java.lang.String getDataVersion(java.lang.String dataName,
                                      java.lang.String relativePath)
                                        throws RealspaceException
        

        根据相对路径获取瓦片数据的最新版本号。

        瓦片数据相对路径的设置有以下情况:

        • 对于地形和影像三维缓存数据来说,相对路径从缓存配置文件(SCT 和 SCI3D)所在的目录开始,也就是从缓存层号开始,缓存配置文件同级下存放了分层的缓存数据。比如缓存层号为12,那么相对路径为“12/.../.../缓存文件”。
        • 对于模型三维缓存数据来说,相对路径从缓存配置文件的父一级目录开始,即从缓存层号目录开始,模型数据与地形和影像数据不同,在分层目录下存放的不是缓存之后的数据,而是模型缓存文件的索引文件(index),版本号指的也是该索引文件的版本号。
        • KML 数据没有版本号。
        参数:
        dataName - 三维数据的名称。对应 SuperMap 三维场景中的三维图层的名称(LayerName)。
        relativePath - 瓦片数据的相对路径。
        返回:
        瓦片数据的最新版本号。
        抛出:
        RealspaceException - 三维异常信息。
      • getDataConfig

        byte[] getDataConfig(java.lang.String dataName)
                             throws RealspaceException
        
        根据名称获取三维缓存数据的配置文件。
        参数:
        dataName - 三维数据的名称。对应 SuperMap 三维场景中的三维图层的名称(LayerName)。
        返回:
        三维缓存数据的配置文件。
        抛出:
        RealspaceException - 三维异常信息。
      • getDataConfig

        byte[] getDataConfig(java.lang.String dataName,
                           CompressType compressType)
                             throws RealspaceException
        
        根据名称获取三维缓存数据的配置文件。
        参数:
        dataName - 三维数据的名称。对应 SuperMap 三维场景中的三维图层的名称(LayerName)。
        返回:
        三维缓存数据的配置文件。
        抛出:
        RealspaceException - 三维异常信息。
      • getModelIndex

        byte[] getModelIndex(java.lang.String dataName)
                             throws RealspaceException
        

        根据名称获取三维模型缓存数据的模型索引文件。

        该文件以“index”为文件的扩展名,与模型缓存数据的配置文件(扩展名为“scm”的文件)位于同样的父目录下。

        参数:
        dataName - 三维数据的名称。对应 SuperMap 三维场景中的三维图层的名称(LayerName)。
        返回:
        模型的索引文件。
        抛出:
        RealspaceException - 三维异常信息。
      • getVectorIndex

        byte[] getVectorIndex(java.lang.String dataName)
                              throws RealspaceException
        

        根据名称获取三维矢量缓存数据的索引文件。

        该文件以“dat”为文件的扩展名,与矢量缓存数据的配置文件(扩展名为“scv”的文件)位于同样的父目录下。

        参数:
        dataName - 三维数据的名称。对应 SuperMap 三维场景中的三维图层的名称(LayerName)。
        返回:
        矢量数据的索引文件。
        抛出:
        RealspaceException - 三维异常信息。
      • isDataAvailable

        boolean isDataAvailable(java.lang.String dataName)
                                throws RealspaceException
        
        三维数据是否可用。
        参数:
        dataName - 三维数据的名称。对应 SuperMap 三维场景中的三维图层的名称(LayerName)。
        返回:
        三维数据可用返回 true;否则返回 false。
        抛出:
        RealspaceException - 三维异常信息。
      • isSceneAvailable

        boolean isSceneAvailable(java.lang.String sceneName)
                                 throws RealspaceException
        
        三维场景是否可用。
        参数:
        sceneName - 三维场景的名称。
        返回:
        三维场景可用返回 true;否则返回 false。
        抛出:
        RealspaceException - 三维异常信息。
      • isSecurityEnabled

        boolean isSecurityEnabled()
                                  throws RealspaceException
        

        是否启用安全机制。

        返回:
        安全机制启用则返回 true;否则返回 false。
        抛出:
        RealspaceException - 三维异常信息。
      • getCacheAccessKey

        java.lang.String getCacheAccessKey()
                                           throws RealspaceException
        

        返回用于对缓存数据进行加密的密码。

        返回:
        返回用于对缓存数据进行加密的密码。
        抛出:
        RealspaceException - 三维异常信息。
      • cleanCacheData

        boolean cleanCacheData(java.lang.String dataName)
                               throws RealspaceException
        
        清除动态发布数据的缓存。
        参数:
        dataName - 需清除缓存的数据名。
        返回:
        成功清除则返回 true;否则返回 false。
        抛出:
        RealspaceException - 三维异常信息。
      • getOfflineDataPaths

        java.util.List<OfflineDataInfo> getOfflineDataPaths(java.lang.String sceneName,
                                                          java.lang.String layerName)
                                                            throws RealspaceException
        
        获取特定三维场景下特定三维图层所有的离线数据路径

        参数:
        sceneName - 三维场景的名称。
        返回:
        返回离线包位置
        抛出:
        RealspaceException
        从以下版本开始:
        6.1.3
      • isCacheCanReuse

        boolean isCacheCanReuse()
        

        三维缓存是否允许拷贝和重用。

        返回:
        从以下版本开始:
        6.1.3
      • getLayerPrj

        PrjCoordSys getLayerPrj(java.lang.String sceneName,
                              java.lang.String layerName)
                                throws RealspaceException
        
        获取指定图层的投影信息
        参数:
        sceneName - 场景名
        layerName - 图层名
        返回:
        图层投影信息
        抛出:
        RealspaceException
        从以下版本开始:
        7.1.2
      • getLayerExtendXML

        java.lang.String getLayerExtendXML(java.lang.String sceneName,
                                         java.lang.String layerName)
                                           throws RealspaceException
        
        获取指定图层的图层扩展信息
        参数:
        sceneName - 场景名
        layerName - 图层名
        返回:
        图层扩展信息xml
        抛出:
        RealspaceException
        从以下版本开始:
        8.0.2