SuperMapXML文件解析

      SuperMap iDesktop 8C 安装完毕后,在安装路径的Bin目录下,有一个系统配置文件:SuperMap.xml,该文件在系统、图层、日志、事务等方面加载了一些参数设置,在使用过程中,根据实际情况,用户可以对这些参数进行修改,保存之后,重新启动应用程序即可生效。
SuperMap.xml文件提供以下几方面内容的相关参数设置:
1. 显示效果设置
   1.1. 优化字体显示效果
      IsSupportClearType用来控制是否开启 ClearType 支持的参数,可用于优化屏幕显示效果,使字体显示更平滑,该参数值有两种情况:
 true表示开启 ClearType 支持。
 false表示不开启ClearType 支持。该值为默认值。
注意:
      由于之前的组件版本同样字号的微软雅黑字体,在 SFC,UGC,ESRI,WORD 中的大小都不一样,在 SuperMap Objects .NET 6R(2012) Service Pack 3 优化了微软雅黑字体的显示效果,同样字号的字大小和Word保持一致。但是该效果要在参数 为 true 时起作用。和 SuperMap Objects .NET 6R(2012) Service Pack 2 相比,同样字号的字在新版本中会变大一些,请用户使用时关注一下。
      1.2. 地图显示和出图分辨率
      地图显示与出图分辨率的参数设置通过以下三个参数实现:
 控制是否开启使用用户自定义 DPI,即下面两个DPI参数值的设置是否生效。该参数的值有两种情况:true 表示开启,false 表示不开启。默认值为 true 。
 自定义的水平方向上的 DPI 数值,默认值为96。
 自定义的垂直方向上的 DPI 数值,默认值为96。
      CustomDPIX 和 CustomDPIY这两个配置文件参数需一同使用。该参数是对原来的 CustomMapRatioX 和 CustomMapRatioY 参数变更的结果,如果用户想通过 CustomDPIX 和 CustomDPIY 新参数达到变更前默认的地图显示和出图的显示效果,需要将两个参数值都修改为 76.2 即可。
1.3. 优化场景显示效果
      下面两个参数通过全屏反走样的设置来优化场景的屏幕显示效果。
      IsSceneAntialias控制是否开启全屏反走样功能。该参数的值有两种情况:true表示开启;false表示不开启。开启全屏反走样功能将会优化场景的细腻程度,减少场景中模型边缘锯齿的出现。
这里写图片描述
      开启全屏反走样功能会增加对系统资源的占用,请根据用户电脑硬件配置,并结合全屏反走样系(SceneAntialiasValue)来进行合理设置。SceneAntialiasValue设置全屏反走样系数。该参数值为整数,取值范围为0到16之间,默认值为2。全屏反走样系数代表了反走样处理强度的大小,该值越高,代表场景锯齿越小,场景越细腻,同时也会带来更高的系统资源占用率。过高的全屏反走样系数可能会引起场景性能的下降,请用户根据实际情况进行合理的设置。

1.4. 地图符号绘制
      SymbolDrawWithLineBrushColor该参数影响地图中对于点符号的绘制。如果点符号中的面笔划没有被固定边框颜色和填充颜色,那么,如果 SymbolDrawWithLineBrushColor 值为 true,在地图中绘制该点符号的面笔划时,将使用当前点对象的 GeoStyle 中的 linecolor 和 fillforecolor 的颜色值分别进行面笔划边框和填充的绘制;如果 SymbolDrawWithLineBrushColor 值为 false,在地图中绘制该点符号的面笔划时,将使用当前点对象的 GeoStyle 中的 linecolor 颜色值绘制面笔划边框和填充,即面笔画的边框和填充颜色相同。
1.5. 自定义显示引擎
      以下两项与自定义显示引擎相关:
 CustomGraphicsEnable设置是否使用用户自定义的显示
      引擎类型,该参数有两种情况:true 表示使用用户自定义的显示引擎类型,即下面的参数所指定的类型;false 表示不使用用户自定义的显示引擎类型,即GraphicsType参数指定的内容无效。
 设置所使用的显示引擎,该参数有两种类型:1 表示Windows 显示引擎;9 表示跨平台内存显示引擎。
1.6. 高精度显示优化
      IsHighPrecisionMode设置是否开启高精度显示模式,该参数的值有两种情况:true表示开启;false表示不开启。
      高精度显示模式可以使坐标位置更为精确。在实际应用中可能会存在这样的情况,栅格图层与矢量图层进行叠加显示,而两个图层中的同名地物的位置出现了细微的偏差,通过开启高精度显示模式,可以消除细微的偏差,使坐标位置更为精确、精度更高。
      如下图所示,为不开启高精度显示模式的效果。对某栅格数据进行矢量化后,将生成的面矢量数据与原栅格数据进行叠加,理论上两者应完全重叠,但是当放大到一定倍数后,可以看到一些区域出现栅格与对应的面对象没有完全吻合的情况,如果开启了高精度显示模式就可以避免出现这种情况,使精度大大提高。
这里写图片描述

1.7. 是否开启增强影像清晰度
      IsImageClearer设置在场景中是否开启增强影像清晰度,设置该选项为true后,会影响影像的显示范围。该参数有两种类型:true表示开启增强影像清晰度,但显示范围会变小;false表示关闭(默认关闭),但显示范围会更大。

2. 性能优化设置
   2.1. 并行计算相关设置
      OMPNumThreads设置启用多少线程进行并行计算,该参数的值为整数。
   2.2. 文字渲染性能
      FreeTypeLibPoolSize设置使用多少 FreeType实例处理文字渲染。
   2.3. 空间分析计算内存模式相关设置
      AnalystMemorySize设置分析模式,该参数的值为整数。支持的值包括 -1 和 0。0 表示使用传统模式进行分析,-1表示使用内存模式进行分析。
3. 出图与打印设置
   3.1. 出图效果优化
      IsMapInflated用于地图出图时,控制是否扩大出图范围,以避免标签、等级符号专题图出现压盖、截断现象。该参数的值有两种情况:true 表示允许扩大出图范围,以优化出图效果,false 表示不扩大出图范围。默认值为 true 。
   3.2. 栅格打印设置
      RasterPrint_BlockSize设置栅格打印的分块大小,该参数的值为整数,单位:MB。
   3.3. 打印页面设置
      LayoutOverlap设置在进行分页打印时,两页面重叠区域的大小,该参数的值为数值型,单位:毫米。
4. 缓存相关设置
缓存文件存放默认目录CacheFileLocation指定缓存文件存放的位置。
示例:设置缓存文件存放路径为“D:\cache”。
这里写图片描述
      如果该值用户没有指定,则默认为系统的临时目录,对于Windows 平台默认写到“系统盘:\Documents and Settings\当前用户名\Local Settings\Temp”目录下,非Windows平台默认写到“\tmp”目录下。
5. 引擎相关设置
   5.1. SQL Server引擎
      SqlServerMultiThread引擎在多线程环境下的配置参数,如果 SDX 对象要在线程中使用,必须强制设置该选项为 true。
   5.2. PostgreSQL引擎
      PGSQLConnPoolSize引擎在多线程环境下的配置参数,0代表不使用连接池。如果 SDX 对象要在线程中使用,应根据实际需求对参数进行设置,建议设置为大于1的值,且与连接数相匹配,这样有利于性能的提高。需要注意的是,此参数为静态参数,如果进行了修改,需要重新启动程序。
6. 日志相关设置
      LogSetting type="object"这对标签之间的一系列参数提供了完整的日志参数设置,从而使用户可以定制符合自己应用习惯的输出日志。
   6.1. 崩溃日志的处理
      当应用程序出现崩溃时,日常的日志无法记录相关信息,因此,需要通过开启崩溃日志来记录相关的信息,以下两项用来进行崩溃日志的相关设置:
 DumpEnabled设置是否开启崩溃日志,该参数的值有两种情况:true表示开启;false表示不开启。
 DumpPath>./Dumps//DumpPath设置崩溃日志的输出路径,该路径为相对路径,即相对于SuperMap.xml自身文件的路径。
   6.2. 开启/关闭日志功能
      LogEnabled>控制是否自动启动日志功能的参数。该参数的值有两种情况:true 表示软件运行时自动启动日志功能;false 表示手动启动日志功能。默认值为 true。
   6.3. 日志文件的设置
      6.3.1 日志文件存储路径
      LogFileLocation>./log/LogFileLocation>设置日志文件存放的位置,若目录为空,则默认写到安装目录下的 Bin 目录下。用户可自行修改日志文件的存放位置。例如,设置日志文件存储路径为:“D:\Log”。
      6.3.2 日志文件存储方式
      StorageType>控制日志文件的存储方式。 Text 表示日志文件存储以文本类型文件进行存储, XML 表示日志文件以 XML 文件进行存储, Memory 表示日志文件存储在内存中。默认为 Text。
LogPhysicalSave>控制是否按照 StorageType 规定类型进行存储。 true 表示按照 StorageType 规定类型进行存储,例如StorageType = Text,则日志文件就会以文本形式存储;若为 false 则表示不管 StorageType 规定了什么类型,都把日志文件存储在内存中。

      6.3.3 日志分文件存储
当存在以下情况时,日志需要分文件进行存储。
       第一,LogTimeInterval>用来控制日志分文件存储的时间间隔,该参数的值有五种时间类型:None、Hour、Day、Week、Month。None 表示用一个文件进行存储;Hour 表示每隔一小时新建一个日志文件进行存储;Day 表示每隔一天新建一个日志文件进行存储;Week 表示每隔一个星期新建一个日志文件进行存储;Month 表示每隔一个月新建一个日志文件进行存储。默认值为 Day,即默认每隔一天新建一个日志文件。
       第二,当日志文件的大小超过MaxFileSize>所指定的大小时,经根据情况进行日志的分文件存储,具体如下:
MaxFileSize> 用来控制日志文件的大小。若日志文件的大小达到了 MaxFileSize 的值,则系统会根 ExceedSizeMode 来处理日志文件。MaxFileSize 的类型为长整型,单位为比特,若 MaxFileSize 值为-1表示没有文件大小控制。
      当日志文件的大小达到了 MaxFileSize 的值,系统根据 ExceedSizeMode的值来处理日志文件。该参数值有三种情况:
 Rolling 表示回滚处理,即从当前文件头开始进行覆盖写入;
 ReOpen 表示重新打开文件处理,即将当前文件清空,然后重新打开写入;
 NewFile 表示新建一个文件进行记录,新建文件名为原有文件名 + #1、#2、#3 等依此类推。

      6.3.4 日志文件文件名称规则
      LogFilePrefix>UGC/LogFilePrefix>为日志文件名的前缀,文件名的后缀为“.log”,用户可以自定义前缀名,但文件名称中不能包含下表字符。
这里写图片描述

      此外,日志并不是只输出到一个日志文件中,用户可以根据所设定的时间规则,建立新的日志文件存储输出的日志信息,也就是日志分文件存储的规则。
      LogTimeInterval>用来控制日志分文件存储的时间间隔,该参数的值有五种时间类型:None、Hour、Day、Week、Month。None 表示用一个文件进行存储;Hour 表示每隔一小时新建一个日志文件进行存储;Day 表示每隔一天新建一个日志文件进行存储;Week 表示每隔一个星期新建一个日志文件进行存储;Month 表示每隔一个月新建一个日志文件进行存储。默认值为 Day,即默认每隔一天新建一个日志文件。
      因此,日志文件的文件名称还包含了与日志分文件存储的时间间隔相关的内容。具体如下:
在启动日志文件后,首先判断LogTimeInterval的值: LogTimeInterval = None
      日志文件的名称为:“前缀_PID.log”。若设置了MaxFileSize的值,且ExceedSizeMode = NewFile,则当日志文件的大小超过了MaxFileSize,文件命名为“前缀_PID#1.log”、“前缀_PID#2.log”、“前缀_PID#3.log”……,依次类推。例如,UGC_2212#2.log表示前缀为UGC,当前PID为2212,#2表示超过MaxFileSize新建文件的标记。
LogTimeInterval = Week、Day、Hour
      日志文件的名称为:“前缀_PID_日期.log”。当时间间隔超过了LogTimeInterval时,日志文件名称为“前缀_PID_日期_1.log”、“前缀_PID_日期_2.log”、“前缀_PID_日期_3.log”……依次类推。若同时设置了MaxFileSize的值,且ExceedSizeMode = NewFile,则当日志文件的大小超过了MaxFileSize,则在前面文件名的基础上在后面添加#1、#2、#3……,依次类推。例如,UGC_2212_2007121914_1#3.log,表示前缀为UGC,新建日志文件的时间为2007年12月19日14时,当前PID为2212,_1 是超过时间间隔新建文件添加的标记,#3是超过MaxFileSize新建文件的标记。
注意:
   日期精确到小时,即年月日时。
      PID为进程标志符。在Windows下,可以在通过“Windows任务管理器”查看。在“Windows任务管理器”下的“查看”菜单下,点击“选择列”,选中“PID(进程标志符)”即可在Windows任务管理器窗口中查看PID。
      若日志文件的类型为xml格式,则.log更换为.xml。
      在UGC的使用过程中,用户可根据实际情况对这些参数进行修改,保存之后,重新启动应用程序即可生效。本文将对用户可以自定义的参数进行一些说明。

      6.3.5 日志输出设置
      IsAppend>false如果要写入的日志文件存在,用 IsAppend 来控制是否继续追加到当前日志文件。该参数的值有两种情况:true 表示继续追加;false 表示覆盖原有日志文件。默认值为 false。
重复日志的处理方式
      IsFilter>false 用来控制是否过滤重复日志。该参数的值有两种情况:true 表示过滤重复日志,false 表示不过滤重复日志。默认值为 false。例如进行了1000个相同的操作,每个操作都会输出一个“成功”,若 IsFilter 设为 true,则就只会输出一个“成功”的记录,若 IsFilter 设为 false,则会重复输出1000个“成功”。

日志输出格式
      LogFormat>规定了日志文件中每条日志记录的内容。建议不要随便修改LogFormat 的内容。如果您是高级用户,可以根据自己的需求进行修改,例如您不需要在日志中记录日志的错误级别,则可以将"%Level"删除,或者可以随意添加分隔符,例如:中括号,大括号,竖线、星号等。LogFormat 中,用"\n"来进行回车,用"\t"代表制表符等。
示例:
LogFormat>%DATETIME| %TIMESPAN| %RESID| %THREADID| %LEVEL| %MSG| %CODEFILE(%CODELINE)
这里写图片描述

      DateTimeFormat>规定了日志文件中日期和时间的格式,其中年月日分别用 %Y,%m,%d 来表示,小时分钟秒分别用 %H,%M 和 %S 来代替。默认的日期时间格式为:年-月-日 小时:分钟:秒,高级用户可以根据自己的习惯,修改日期和时间的格式。
示例:
DateTimeFormat>%Y-%m-%d %H:%M:%S
日志输出级别
LogLevel>error定义错误日志记录级别的常量。该参数的值有两种情况:debug 是面向程序员的级别,包含所有信息;error 是面向用户的,包含非法操作等可能引起的错误信息。默认值为 error。
日志存盘频率
LogCountToDisk>控制日志多少条向磁盘中写入一次。
LogCountInMemory>控制内存中保存多少条日志后写入日志文件。

7. 外部文件设置
resource type=“external”>resource.xml
PrjConfig type=“external”>PrjConfig.xml
PrjCode type=“external”>CodeTransition.xml
EPSFont type=“external”>EPSFont.xml
GraphicsMemFonts type=“external”>GraphicsMemFonts.xml
      resource.xml、PrjConfig.xml、EPSFont.xml、CodeTransition.xml 为外部文件,其中,resource.xml 文件内存储了 UGC 的全部字符串资源、PrjConfig.xml 为 UGC 投影配置文件、EPSFont.xml 内存储了 EPS 字体名与 UGC 字体名的对应关系、CodeTransition.xml 为查找 SuperMap 投影和 EPSG 投影编号的对照表 。这四个文件为系统文件,推荐您不要随意改动。

8. 其他
   8.1. 进度条开关
      ShowProgress>是用来控制是否显示进程条的参数,该参数值有两种情况:
 true表示显示所有进度条。该值为默认值。
 false表示不显示进度条。

   8.2. 相关路径设置
 WorldFilePath>C:/Windows/Fonts/内存显示引擎所使用的字体路径。
 FontsPath>C:/Windows/Fonts/内存显示引擎所使用的字体路径。
 SystemPath>./Resource系统资源路径。
 WebCacheFilePath>./Cache/WebCache/设置打开网络地图时,所获取到的瓦片文件存放的路径。

   8.3. 对象编辑数目限制
MaxEditGeometrySize>设置单次编辑对象的最大数目,该参数的值为整数。

   8.4. 关于处理时间的设置
      OvertimeDownload>设置当打开网络地图时,所获取的网络地图的瓦片加载所需要的最大时间,如果瓦片加载的时间超过了该参数所设置的时间,将放弃该瓦片的加载。该参数为数值型,单位:秒。
      OvertimeRefresh>地图操作响应时间间隔,默认值1000,单位:毫秒。

   8.5. 坐标数据读取方式
      WMTS服务中默认BoundingBox和TopLeftCorner标签读取方式为(经度,纬度)。而一部分服务提供商提供的坐标格式为(纬度,经度),当你遇到这个情况时,为了保证坐标数据读取的正确性,需要对SuperMap.xml文件(以下两个参数进行正确的修改。通常出现该情况的表现是本地矢量数据与发布的WMTS服务数据无法叠加到一起。
      IsTopLeftCornerExchange> 设置WMTS服务中BoundingBox标签读取方式,该参数的值有两种类型,true表示读取方式为(纬度,经度);false表示读取方式为(经度,纬度)。
IsBoundsCornerExchange> 设置WMTS服务中TopLeftCorner标签读取方式,该参数的值有两种类型,true表示读取方式为(纬度,经度);false表示读取方式为(经度,纬度)。

   8.6. 影像块大小和块管理方式设置
      ImgBlockCacheSize> 设置内存中缓存的影像块数,默认为256块;每块字节数可根据块大小和像素格式进行计算。
      <ChangeCache_ByDelete> </ChangeCache_ByDelete>设置影像块的管理方式,该参数的值有两种类型,true表示当缓存的影像块达到设置的ImgBlockCacheSize时,则释放已缓存的块,并重新开辟新块进行缓存;false表示不释放影像块,当缓存块达到设置的ImgBlockCacheSize时,重复利用空闲的影像块,当没有可利用的空闲影像块时,则缓存失败。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值