com.supermap.data

类 Environment



  • public class Environment
    extends Object

    关于开发环境的一些配置信息管理类,比如设置缓存目录、设置零值判断精度等功能,通过此类还可以设置像素与逻辑坐标的比例。

    • 字段详细资料

      • DEFAULT_MAX_EQUAL_ZERO_PRECISION

        public static final double DEFAULT_MAX_EQUAL_ZERO_PRECISION
        默认零值判断最大精度。系统给定的精度范围的上界,为公有静态只读字段,用户不能修改。
        另请参阅:
        Toolkit, 常量字段值
        默认值:
        默认值为 1E-10。
      • DEFAULT_MIN_EQUAL_ZERO_PRECISION

        public static final double DEFAULT_MIN_EQUAL_ZERO_PRECISION
        默认零值判断最小精度。系统给定的精度范围的下界,为公有静态只读字段,用户不能修改。
        另请参阅:
        Toolkit, 常量字段值
        默认值:
        默认值为 -1E-10。
    • 方法详细资料

      • getMaxEqualZeroPrecision

        public static double getMaxEqualZeroPrecision()
        返回判断一个单精度或者双精度数是否为零的最大判断精度。如果返回或设置的数值在最小判断精度(MinEqualPrecision)和最大判断精度(MaxEqualPrecision)精度范围之间,就认为它为0。即设 a 为返回或设置的数值,那么当 a 大于等于 MinEqualPrecision 且小于等于 MaxEqualPrecision 时,则认为 a 为0。注意:事实上,MaxEqualPrecision 应该大于等于 MinEqualPrecision,但目前版本的组件代码暂时不对此进行控制。
        返回:
        判断一个单精度或者双精度数是否为零的判断最大精度。
        另请参阅:
        Toolkit
        默认值:
        默认值为 1E-10。
      • setMaxEqualZeroPrecision

        public static void setMaxEqualZeroPrecision(double value)
        设置判断一个单精度或者双精度数是否为零的最大判断精度。如果返回或设置的数值在最小判断精度(MinEqualPrecision)和最大判断精度(MaxEqualPrecision)精度范围之间,就认为它为0。即设 a 为返回或设置的数值,那么当 a 大于等于 MinEqualPrecision 且小于等于 MaxEqualPrecision 时,则认为 a 为0。注意:事实上,MaxEqualPrecision 应该大于等于 MinEqualPrecision,但目前版本的组件代码暂时不对此进行控制。
        参数:
        value - 判断一个单精度或者双精度数是否为零的判断最大精度。
        另请参阅:
        Toolkit
      • getMinEqualZeroPrecision

        public static double getMinEqualZeroPrecision()
        返回判断一个单精度或者双精度数是否为零的最小判断精度。默认值为。如果返回或设置的数值在最小判断精度(MinEqualPrecision)和最大判断精度(MaxEqualPrecision)精度范围之间,就认为它为0。即设 a 为返回或设置的数值,那么当 a 大于等于 MinEqualPrecision 且小于等于 MaxEqualPrecision 时,则认为 a 为0。注意:事实上,MaxEqualPrecision 应该大于等于 MinEqualPrecision,但目前版本的组件代码暂时不对此进行控制。
        返回:
        判断一个单精度或者双精度数是否为零的判断最小精度。
        另请参阅:
        Toolkit
        默认值:
        默认值为 -1E-10。
      • setMinEqualZeroPrecision

        public static void setMinEqualZeroPrecision(double value)
        设置判断一个单精度或者双精度数是否为零的最小判断精度。如果返回或设置的数值在最小判断精度(MinEqualPrecision)和最大判断精度(MaxEqualPrecision)精度范围之间,就认为它为0。即设 a 为返回或设置的数值,那么当 a 大于等于 MinEqualPrecision 且小于等于 MaxEqualPrecision 时,则认为 a 为0。注意:事实上,MaxEqualPrecision 应该大于等于 MinEqualPrecision,但目前版本的组件代码暂时不对此进行控制。
        参数:
        value - 判断一个单精度或者双精度数是否为零的判断最小精度。
        另请参阅:
        Toolkit
      • getFileCacheFolder

        public static String getFileCacheFolder()
        返回数据集文件缓存目录。
        返回:
        数据集文件缓存目录。
        默认值:
        默认值为一个空字符串。
      • setFileCacheFolder

        public static void setFileCacheFolder(String value)
        设置数据集文件缓存目录。
        参数:
        value - 数据集文件缓存目录。
      • isCustomMapRatioEnabled

        @Deprecated
        public static boolean isCustomMapRatioEnabled()
        已过时。 
      • setCustomMapRatioEnabled

        @Deprecated
        public static void setCustomMapRatioEnabled(boolean value)
        已过时。 
      • setCustomDPIEnabled

        public static void setCustomDPIEnabled(boolean value)
        设置是否使用自定义的 DPI, true 表示使用自定义的 DPI; false 表示使用系统的 DPI。
        参数:
        value - 一个布尔值指定是否使用自定义的 DPI。
      • isCustomDPIEnabled

        public static boolean isCustomDPIEnabled()
        返回是否使用自定义的 DPI。
        返回:
        一个布尔值,指定是否使用自定义的 DPI, true 表示使用自定义的 DPI; false 表示使用系统的 DPI。
        默认值:
        默认值为false。
      • getSystemDPI

        public static double getSystemDPI()
        返回系统的DPI,值域为(60,180),非自定义设置时使用Set抛异常。
        返回:
        返回系统的的 DPI。
      • setSystemDPI

        public static void setSystemDPI(double value)
        设置系统的DPI。
        参数:
        value - 系统的DPI。
      • isClearTypeSupported

        @Deprecated
        public static boolean isClearTypeSupported()
        已过时。 
      • setClearTypeSupported

        @Deprecated
        public static void setClearTypeSupported(boolean value)
        已过时。 
      • getCustomMapRatioX

        @Deprecated
        public static double getCustomMapRatioX()
        已过时。 
      • setCustomMapRatioX

        @Deprecated
        public static void setCustomMapRatioX(double value)
        已过时。 
      • getCustomMapRatioY

        @Deprecated
        public static double getCustomMapRatioY()
        已过时。 
      • setCustomMapRatioY

        @Deprecated
        public static void setCustomMapRatioY(double value)
        已过时。 
      • getCustomDPIX

        public static double getCustomDPIX()
        返回水平方向上的 DPI。
        返回:
        返回水平方向上的 DPI。
      • setCustomDPIX

        public static void setCustomDPIX(double value)
        设置水平方向上的 DPI。当 isCustomDPIEnabled()返回值为 true 时有效。
        参数:
        value - 水平方向上的 DPI数值。
      • getCustomDPIY

        public static double getCustomDPIY()
        返回垂直方向上的 DPI。
        返回:
        返回垂直方向上的 DPI。
      • setCustomDPIY

        public static void setCustomDPIY(double value)
        设置垂直方向上的 DPI。当 isCustomDPIEnabled()返回值为 true 时有效。
        参数:
        value - 垂直方向上的 DPI数值。
      • isUnicodeVersion

        public static boolean isUnicodeVersion()
        返回判断当前程序版本是否为 Unicode 版本,SuperMap Objects Java 6R(2012) SP2 版本为非 Unicode 版本,返回值为 false。
        返回:
        一个布尔值,用来判断当前程序版本是否为 Unicode 版本,true 表示为 Unicode 版本;false 为非 Unicode 版本。
      • getCurrentLoadedEngineInfos

        public static EngineInfo[] getCurrentLoadedEngineInfos()
        返回一个数组,表示当前加载引擎信息列表。
        返回:
        一个数组,表示当前加载引擎信息列表。
      • getCurrentLoadedEngine

        public static EngineType[] getCurrentLoadedEngine()
        返回当前已加载引擎的列表。返回一个拷贝即可。
        返回:
        当前加载引擎的列表拷贝。
      • LoadEngine

        public static boolean LoadEngine(EngineType type)
      • getCurrentCharset

        public static Charset getCurrentCharset()
        返回当前系统所使用的字符集。
        返回:
        当前系统所使用的字符集。
      • setCurrentCharset

        public static void setCurrentCharset(Charset charset)
        设置当前系统所使用的字符集。
        参数:
        charset - 当前系统所使用的字符集。
      • LoadWrapJ

        public static void LoadWrapJ()
        加载wrapj
      • getOMPNumThreads

        public static int getOMPNumThreads()
        获取OMPNumThreads
        返回:
        int
      • setOMPNumThreads

        public static void setOMPNumThreads(int value)
        设置OMPNumThreads
        参数:
        value -
      • setOMPNumThreads

        public static void setOMPNumThreads(int value,
                                            boolean isSaveToXml)
        设置并行计算所使用的线程数。

        目前提供两种方式设置并行计算所使用的线程数,一是通过此方法设置,二是通过修改配置文件 SuperMap.xml 中的 <OMPNumThreads></OMPNumThreads> 节点的值(默认为 2),该配置文件位于“产品安装目录\Bin”目录下。

        注意:

        1. 应用程序启动时优先读取配置文件中的设置。如果不调用此方法进行修改,则默认使用配置文件中指定的线程数目;如果通过此方法修改线程数目,修改将立即生效,并同步修改配置文件中的值。
        2. 配置文件中的线程数目只在应用程序启动时读取一次,如果手动修改配置文件中的该值,必须重新启动应用程序才能生效。
        3. 线程数目的有效范围为 1-16。如果配置文件中的线程数目超出范围,则设置无效,使用默认值 2;如果通过此方法设置线程数目超出范围,则会抛出异常。
        4. 建议设置线程数与计算机的核数相同,以便充分利用计算机的计算资源。

        有关并行计算支持的接口等内容,请参阅《并行计算》说明文档。

        参数:
        value - 并行计算所使用的线程数。
        isSaveToXml - 是否保存为xml文件
        抛出:
        IllegalArgumentException - 如果设置值小于等于 0 或大于 16
        从以下版本开始:
        SuperMap iObjects Java 7.0.0
      • getSceneAntialiasValue

        public static int getSceneAntialiasValue()
        返回全屏反走样系数。

        全屏反走样系数代表了反走样处理强度的大小,该值越高,代表场景锯齿越小,场景越细腻,同时也会带来更高的系统资源占用率。过高的全屏反走样系数可能会引起场景性能的下降,请根据用户电脑硬件配置,并结合设置全屏反走样系数方法(Environment.setSceneAntialias())来进行合理设置。

        全屏反走样系数取值范围为0到16。

        返回:
        返回全屏反走样系数。
        默认值:
        默认值为2。
      • setSceneAntialiasValue

        public static void setSceneAntialiasValue(int value)
        设置全屏反走样系数

        全屏反走样系数代表了反走样处理强度的大小,该值越高,代表场景锯齿越小,场景越细腻,同时也会带来更高的系统资源占用率。过高的全屏反走样系数可能会引起场景性能的下降,请根据用户电脑硬件配置,并结合设置全屏反走样系数方法(Environment.setSceneAntialias())来进行合理设置。

        全屏反走样系数取值范围为0到16。

        参数:
        value - 全屏反走样系数。
      • setSceneAntialias

        public static void setSceneAntialias(boolean value)
        设置是否开启全屏反走样功能。

        开启全屏反走样功能将会优化场景的细腻程度,减少场景中模型边缘锯齿的出现。

        开启全屏反走样功能会增加对系统资源的占用,请根据用户电脑硬件配置,并结合设置全屏反走样系数方法(Environment.setSceneAntialias())来进行合理设置。

        参数:
        value - 是否开启全屏反走样功能。
      • isSceneAntialias

        public static boolean isSceneAntialias()
        返回是否开启全屏反走样功能。

        开启全屏反走样功能将会优化场景的细腻程度,减少场景中模型边缘锯齿的出现。

        开启全屏反走样功能会增加对系统资源的占用,请根据用户电脑硬件配置,并结合设置全屏反走样系数方法(Environment.setSceneAntialias())来进行合理设置。

        返回:
        返回是否开启全屏反走样功能。
        默认值:
        默认值为false。
      • getAnalystMemorySize

        public static long getAnalystMemorySize()
        获取设置的分析时使用内存模式的有效内存值 -1 表示无论空余物理内存多少,都强制使用内存模式 0 表示强制使用原来的模式,即使用记录集来读取存储数据 大于0值,表示当系统空余物理内存大于此值时就是用内存模式,单位为兆(M)
        返回:
        long
      • setAnalystMemorySize

        public static void setAnalystMemorySize(long value)
        设置分析时使用内存模式的有效内存值
        参数:
        value -
      • setMapInflated

        public static void setMapInflated(boolean value)
        设置是否开启扩大查询范围
        参数:
        value - boolean
      • isMapInflated

        public static boolean isMapInflated()
        返回是否开启扩大查询范围
        返回:
        boolean
      • getUGOBasePath

        public static String getUGOBasePath()
        返回当前组件的Bin目录位置,用于检测许可相关文件
        返回:
        boolean
      • setCUDAComputingEnabled

        public static void setCUDAComputingEnabled(boolean value)
        设置是否开启CUDA并行计算模式。
        参数:
        value - 一个布尔值,指示是否开启CUDA并行计算模式。

        SuperMap 针对部分分析功能,提供CUDA并行计算模式,只要执行计算任务的主机配有NVIDIA的显卡,且计算能力在2.0以上,就会利用GPU的并行计算能力来执行任务。其性能相对普通CPU并行有较大提升。

        注意:即使开启了CUDA并行计算模式,如果运行环境即机器显卡不支持CUDA,程序也不会按CUDA并行模式来执行。

        目前,支持CUDA并行计算模式的分析功能包括:

        • 地形计算
          1. 坡度计算:CalculationTerrain.calculateSlope 方法。
          2. 坡向计算:CalculationTerrain.calculateAspect 方法。
          3. 三维晕渲图(渲染模式):CalculationTerrain.calculateHillShade 方法。
          4. 正射三维影像:所有 2 个 CalculationTerrain.calculateOrthoImage 重载方法。

        目前提供两种方式设置是否开启CUDA并行计算模式,一是通过此属性设置,二是通过修改配置文件 SuperMap.xml 中的 <IsCUDAComputingEnabled></IsCUDAComputingEnabled> 节点的值(默认为 false),该配置文件位于“产品安装目录\Bin”目录下。

        使用以上两种方式时请注意:

        1. 应用程序启动时,优先读取配置文件中设置的值。在执行分析之前,通过此方法指定值后,将同步修改配置文件。
        2. 配置文件中指定的值只在应用程序启动时读取一次,如果修改,需重新启动应用程序才能生效。
      • isCUDAComputingEnabled

        public static boolean isCUDAComputingEnabled()
        返回是否开启CUDA并行计算模式。

        有关CUDA并行计算模式,请参阅 setCUDAComputingEnabled 方法。

        返回:
        一个布尔值,指示是否开启了CUDA并行计算模式。
        从以下版本开始:
        SuperMap iObjects Java 7.1.0
        默认值:
        默认值为应用程序启动时读取的 SuperMap.xml 文件中 <IsCUDAComputingEnabled></IsCUDAComputingEnabled> 节点的值。
      • checkCUDACapability

        public static CUDACapability checkCUDACapability()
        检测计算机是否可以利用GPU进行CUDA并行计算。

        注意:Linux平台暂不支持此接口。

        返回:
        计算机是否有能力进行CUDA并行计算的检测结果。
        从以下版本开始:
        SuperMap iObjects Java 7.1.0
      • setOpenCLComputingEnabled

        public static void setOpenCLComputingEnabled(boolean value)
        设置是否开启OpenCL并行计算模式。
        参数:
        value - 一个布尔值,指示是否开启OpenCL并行计算模式。

        SuperMap 针对部分分析功能,提供OpenCL并行计算模式,只要执行计算任务的主机装有OpenCL平台驱动,且有支持OpenCL的可用显卡设备,就会利用GPU的并行计算能力来执行任务。其性能相对普通CPU并行有较大提升。

        注意:即使开启了OpenCL并行计算模式,如果运行环境不支持OpenCL,程序也不会按OpenCL并行模式来执行。

        目前,支持OpenCL并行计算模式的分析功能包括:

        • 地形计算
          1. 坡度计算:CalculationTerrain.calculateSlope 方法。
          2. 坡向计算:CalculationTerrain.calculateAspect 方法。
          3. 三维晕渲图(渲染模式):CalculationTerrain.calculateHillShade 方法。
          4. 曲率计算:CalculationTerrain.calculateCurvature 方法。

        目前提供两种方式设置是否开启OpenCL并行计算模式,一是通过此属性设置,二是通过修改配置文件 SuperMap.xml 中的 <IsOpenCLComputingEnabled></IsOpenCLComputingEnabled> 节点的值(默认为 false),该配置文件位于“产品安装目录\Bin”目录下。

        使用以上两种方式时请注意:

        1. 应用程序启动时,优先读取配置文件中设置的值。在执行分析之前,通过此方法指定值后,将同步修改配置文件。
        2. 配置文件中指定的值只在应用程序启动时读取一次,如果修改,需重新启动应用程序才能生效。
      • isOpenCLComputingEnabled

        public static boolean isOpenCLComputingEnabled()
        返回是否开启OpenCL并行计算模式。

        有关OpenCL并行计算模式,请参阅 setOpenCLComputingEnabled 方法。

        返回:
        一个布尔值,指示是否开启了OpenCL并行计算模式。
        从以下版本开始:
        SuperMap iObjects Java 8.0.0
        默认值:
        默认值为应用程序启动时读取的 SuperMap.xml 文件中 <IsOpenCLComputingEnabled></IsOpenCLComputingEnabled> 节点的值。
      • checkOpenCLCapability

        public static OpenCLCapability checkOpenCLCapability()
        检测计算机是否可以利用GPU进行OpenCL并行计算。

        注意:仅Windows平台和Linux平台支持此接口。

        返回:
        计算机是否有能力进行OpenCL并行计算的检测结果。
        从以下版本开始:
        SuperMap iObjects Java 8.0.0
      • SetTileLayerBufferSize

        public static void SetTileLayerBufferSize(int size)
        设置将浏览过的瓦片驻留在内存中的数量上限
        参数:
        size - 数量
      • GetTileLayerBufferSize

        public static int GetTileLayerBufferSize()
        获取将浏览过的瓦片驻留在内存中的数量上限
        返回:
        数量
      • SetTileLayerDownLoadThreadCount

        public static void SetTileLayerDownLoadThreadCount(int size)
        设置网络瓦片下载时的最大线程数
        参数:
        size - 最大线程数
      • GetTileLayerDownLoadThreadCount

        public static int GetTileLayerDownLoadThreadCount()
        获取网络瓦片下载时的最大线程数
        返回:
        最大线程数
      • setMaxStdIO

        public static void setMaxStdIO(int value)
        设置最大文件IO句柄数
        参数:
        value - 最大文件IO句柄数
      • getMaxStdIO

        public static int getMaxStdIO()
        获取最大文件IO句柄数
        返回:
        最大文件IO句柄数
      • setCurrentCulture

        public static void setCurrentCulture(String value)
        设置当前语言环境,如en-US zh-CH等
        参数:
        value - 当前语言环境
      • getCurrentCulture

        public static String getCurrentCulture()
        获取当前语言环境
        返回:
        前语言环境
      • isHardwareAccelerationEnable

        public static boolean isHardwareAccelerationEnable()
        返回是否开启硬件加速绘制,true表示开启;false表示关闭。目前硬件加速绘制只对动态图层有效。
        返回:
        返回是否开启硬件加速绘制,true表示开启;false表示关闭。目前硬件加速绘制只对动态图层有效。
      • setHardwareAccelerationEnable

        public static void setHardwareAccelerationEnable(boolean value)
        设置是否开启硬件加速绘制。
        参数:
        value - 一个布尔值,指示是否开启硬件加速绘制,true表示开启;false表示关闭。目前硬件加速绘制只对动态图层有效。
      • isOneLogFilePerProcess

        public static boolean isOneLogFilePerProcess()
        是否每个进程有一个日志文件。
        返回:
        是否每个进程有一个日志文件
      • setOneLogFilePerProcess

        public static void setOneLogFilePerProcess(boolean value)
        设置每个进程有一个日志文件。
        参数:
        value - 是否每个进程有一个日志文件
      • getElementValue

        public static String getElementValue(String name)
        获取要素值。
        参数:
        name - 要素名
        返回:
        要素名
      • setElementValue

        public static void setElementValue(String name,
                                           String value)
        设置要素值。
        参数:
        name - 要素名
        value - 要素值
      • setQueryTimeout

        public static void setQueryTimeout(int timeout)
        设置空间查询超时时间(单位:ms)
        参数:
        timeout - 空间查询超时时间
      • getQueryTimeout

        public static int getQueryTimeout()
        获取空间查询超时时间
        返回:
        空间查询超时时间

Copyright © 2021–2024 SuperMap. All rights reserved.