• ArcGIS地图文档MXD效率慢的一点建议(转)


    来自:http://blog.csdn.net/linghe301/article/details/7351697

    最近关于ArcGIS的地图文档MXD慢的问题比较多,下面就对MXD的一点建议给大家分享!

    关于地图文档MXD
    地图文档其实是一个很好的对象,这个对象可以将我们配置好的地图包括(图层、符号、标注、比例尺、显示范围等)信息进行保存,然后我们使用MXD对上面的要求进行统一的管理,而且在我们发布地图服务时也需要使用该对象(虽然有MSD)。特别是在制图方面,地图文档的使用就更广泛了。

    关于地图文档MXD的慢(以下都是数据源为ArcSDE为例)
    一般用户反映我打开地图文档MXD比较慢,那么这个慢我们可以分两部分:
    1:打开地图文档MXD的时候慢,也就是直接使用ArcMap双击MXD,那么在显示ArcMap的logo的时候,就非常慢
    2:已经打开了ArcMap,但是加载相关图层,符号渲染等比较慢

    再次强调一下,如果发现自己的ArcMap、ArcSDE、ArcGIS Server凡是使用到了地图文档慢的,请首先自觉的根据自己的相关版本将相关的补丁打全再往下看,因为这个很重要........

    ----------------------------------------------------------------------------------
    对问题1的情况需要我们注意的:
    1:服务器的防火墙是否关闭,或者5151端口是否禁用
    2:服务器的IP是否修改
    3:配置好的MXD的数据源是否改变
    4:配置好的MXD的数据源的某些图层是否被删除
    5:网络问题


    典型问题:我在我本机配置好的MXD,怎么打开都很快,但是拷贝到其他机器就很慢?
    解答:如果用户的ArcSDE连接为服务连接,应该不会出现该问题,但是仍然有用户反映,这个就根据用户的实际情况来做判断了。
    如果用户的ArcSDE为直连,拷贝到其他用户打开肯定会有问题,因为直连需要netservicename,那么不同的机器可能配置的netservicename不一样,那么会有长时间打开,数据源为!号的现象,这也正常。

    典型问题:我在我本机配置好的MXD,为什么我做了一些数据图层的删除,我的MXD打开就很慢?

    解答:因为用户删除的是数据库内的图层,但是我们配置的MXD里面仍然保存了删除前图层的信息,那么加载图层会首先遍历MXD里面保存的信息,对找不到的图层可能会进行多次的查询等,所以会很慢。那么我们可以使用打开MXD后,将TOC里面的无效信息清空,然后save as copy一个新的MXD即可。


    如果是连接其他服务器,加载的时候长时间未响应,可以直接将网线拔掉!这样会加快打开MXD的效率。

    --------------------------------------------------------------------------------
    对问题2的情况需要我们注意的:
    1:配置好的MXD包含图层的多少
    2:所有图层的数据量大小
    3:所有图层的空间索引是否创建和有效使用
    4:是否使用了高级制图方法(maplex标注、Representation)
    5:是否有版本数据,进行版本压缩



    因为如果你的这个MXD包含好多图层加载,而且使用了比较高级的渲染方法,都会导致在加载图层时候比较慢的情况,有些时候是正常的,可能根据你的服务器和客户端的配置情况才能优化了。

    但是在我们加载多个图层的时候,ArcMap的左下角会有一个“Drawing...(某个要素类名称)”,那么我们根据这个来判断在MXD加载图层的过程中到底是哪个图层出现问题。

    典型问题:在我在某个客户的一个现场问题,也是打开MXD的时候,针对用户的一个图块图层,加载就非常慢,这个图层大概有千万条记录,但是没有做任何符号的渲染,从这个情况可以看出肯定是这个图层的索引问题,或者没有使用空间索引,或者空间索引无效导致。
    解决方法:重建空间索引,分析数据。


    MXD Doctor 
    那么如果你的MXD有问题,就打不开怎么办?
    ArcGIS提供了一个比较好的工具可以进行检查。MXD Doctor 是独立的应用程序,位于C:\Program Files (x86)\ArcGIS\Desktop10.0\Tools。该工具可用于分析已损坏的 .mxd 文件。根据分析结果,可将已损坏的 .mxd 文件中所包含的实体复制到新的或现有 .mxd 文件中。

    MXD Doctor 主要用于从已损坏的 .mxd 文件中提取有效实体。但是,此工具也可以通过将一个 .mxd 文件中的内容复制到另一个 .mxd 文件的方式,对有效的 .mxd 文件中的实体进行检索。此工具还可用于从已损坏的 ArcScene (.sxd) 或 ArcGlobe (.3dd) 文档中提取 VBA 项目。只有将现有文档作为目标文档时,此功能才有效。启动 MXD Doctor 工具之前,需要先使用 ArcScene 或 ArcGlobe 来创建一个空白目标文档。要在 MXD Doctor 对话框中指定源文档和目标文档的文件名,可浏览至正确的文件夹并输入文档的文件名(因为浏览器支持 .mxd 和 .mxt 文件)。
    相关参考:http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/000300000019000000/


    文档碎片整理程序工具(DocDefragmenter)
    ArcGIS 文档碎片整理程序工具位于C:\Program Files (x86)\ArcGIS\Desktop10.0\Tools,可对 .mxd 文件内存储的数据进行碎片整理,以尽可能减小文件大小。如果 .mxd 文件过大,此工具将十分有用。此工具也可以对 .sxd、.3dd 和 .mxt 文件进行碎片整理。

    您可以对单个文档文件、特定文件夹中的所有 ArcGIS 文档或文件树中某点下的文件夹内的所有文档进行碎片整理。对于经过碎片整理的文档,有不同的放置选项可供选择。默认情况下,会在原始文件所在的文件夹中创建一个新文档文件,而新文件的名称与原始文件相同,只是在后加上了 _Defrag 后缀。例如,如果对 JoshuaTreeNP.mxd 进行碎片整理,则新文件名为 JoshuaTreeNP_Defrag.mxd。
    相关参考:http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/000300000017000000/

    ArcMAP MXD Redirect Data Sources
    该工具只支持9.2/9.3,主要对用户的数据源破坏问题进行修复和替换。
    相关参考:http://arcscripts.esri.com/details.asp?dbid=14456

    mxdpefstat
    MXDPERFSTAT (ArcGIS 10 和 93)可以帮助诊断典型的 MXD 文档的性能问题,例如
    • Inefficient scale dependency 
    • Slow symbology 
    • Large features 
    • Projection on the fly 
    • Potential database tuning 

    下载地址:http://arcscripts.esri.com/details.asp?dbid=16931

    该工具是一个命令行工具,执行完毕之后,可以得到分析结果,可以看到每个图层的刷新时间,及图层显示时各阶段的时间,如果有问题,会在Recommendations里面给出建议,如下所示:

    1. C:\Users\Administrator\Downloads\AS16931\mxdpefstat>mxdperfstat10prerelease -mxd c:\1.mxd -scale 250000 -width 1920 -heght 1028  
    2. 2012-3-14 9:54:40 Checking License  
    3. License: esriLicenseProductCodeArcInfo  
    4. 2012-3-14 9:54:44 TestParams.SetParams check argsValid  
    5. 2012-3-14 9:54:44 TestParams.SetParams ValidateMxd Start  
    6. 2012-3-14 9:54:44 TestParams.SetParams ValidateMxd Finish  
    7. 2012-3-14 9:54:44 new MainForm()  
    8. 2012-3-14 9:54:44 InitializeComponent()  
    9. 2012-3-14 9:54:45 InitializeComponent() Completed  
    10. 2012-3-14 9:54:45 testParams.MxdDocumentPath  
    11. 2012-3-14 9:54:45 mainForm.TestParams = testParams;  
    12. 2012-3-14 9:54:45 Application.Run(mainForm)  
    13. 2012-3-14 9:54:50(IMapControl3)axMapControl1.Object  
    14. 2012-3-14 9:54:50axMapControl1.LoadMxFile(m_mapDocumentName)  
    15. 2012-3-14 9:55:02 MainForm: RunTest(ref m_activeView)  
    16. Starting test  
    17. 2012-3-14 9:55:03MainForm: RunTest() Started  
    18. GetVisibleLayers Scale=256972.111553785  
    19. Name=SDE.县级居民地point MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    20. ADDED Layer=SDE.县级居民地point  
    21. Name=SDE.地市级以上居民地4m MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    22. ADDED Layer=SDE.地市级以上居民地4m  
    23. Name=SDE.首都和省级行政中心4m MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    24. ADDED Layer=SDE.首都和省级行政中心4m  
    25. Name=SDE.地级行政界线polyline MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    26. ADDED Layer=SDE.地级行政界线polyline  
    27. Name=SDE.五级河流polyline MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    28. ADDED Layer=SDE.五级河流polyline  
    29. Name=SDE.主要铁路4m MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    30. ADDED Layer=SDE.主要铁路4m  
    31. Name=SDE.主要公路4m MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    32. ADDED Layer=SDE.主要公路4m  
    33. Name=SDE.国界与省界4l MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    34. ADDED Layer=SDE.国界与省界4l  
    35. Name=SDE.三级以上河流4l MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    36. ADDED Layer=SDE.三级以上河流4l  
    37. Name=SDE.国界4l MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    38. ADDED Layer=SDE.国界4l  
    39. Name=SDE.四级河流polyline MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    40. ADDED Layer=SDE.四级河流polyline  
    41. Name=SDE.一级河流4l MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    42. ADDED Layer=SDE.一级河流4l  
    43. Name=SDE.县级行政界线line MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    44. ADDED Layer=SDE.县级行政界线line  
    45. Name=SDE.国界与省界4p MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    46. ADDED Layer=SDE.国界与省界4p  
    47. Name=SDE.三级以上河流4p MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    48. ADDED Layer=SDE.三级以上河流4p  
    49. Name=SDE.国界4p MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    50. ADDED Layer=SDE.国界4p  
    51. Name=SDE.一级河流4p MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    52. ADDED Layer=SDE.一级河流4p  
    53. Name=SDE.县级行政界线poly MinimumScale=0MaximumScale=0Valid=TrueVisible=True  
    54. ADDED Layer=SDE.县级行政界线poly  
    55. 2012-3-14 9:55:04 Testing scale=250000  
    56.          layer1 SDE.县级居民地point  
    57. 2012-3-14 9:55:05Cursor features: layer=SDE.县级居民地point features=4  
    58.         layer=SDE.县级居民地point Vertices=0 Features=0  
    59.         LayerVertices=0  
    60.          layer2 SDE.地市级以上居民地4m  
    61. 2012-3-14 9:55:06Cursor features: layer=SDE.地市级以上居民地4m features=0  
    62.         layer=SDE.地市级以上居民地4m Vertices=0 Features=0  
    63.         LayerVertices=0  
    64.          layer3 SDE.首都和省级行政中心4m  
    65. 2012-3-14 9:55:06Cursor features: layer=SDE.首都和省级行政中心4m features=0  
    66.         layer=SDE.首都和省级行政中心4m Vertices=0 Features=0  
    67.         LayerVertices=0  
    68.          layer4 SDE.地级行政界线polyline  
    69. 2012-3-14 9:55:07Cursor features: layer=SDE.地级行政界线polyline features=0  
    70.         layer=SDE.地级行政界线polyline Vertices=0 Features=0  
    71.         LayerVertices=0  
    72.          layer5 SDE.五级河流polyline  
    73. 2012-3-14 9:55:08Cursor features: layer=SDE.五级河流polyline features=1  
    74.         layer=SDE.五级河流polyline Vertices=109 Features=1  
    75.         LayerVertices=109  
    76.          layer6 SDE.主要铁路4m  
    77. 2012-3-14 9:55:08Cursor features: layer=SDE.主要铁路4m features=0  
    78.         layer=SDE.主要铁路4m Vertices=0 Features=0  
    79.         LayerVertices=0  
    80.          layer7 SDE.主要公路4m  
    81. 2012-3-14 9:55:09Cursor features: layer=SDE.主要公路4m features=0  
    82.         layer=SDE.主要公路4m Vertices=0 Features=0  
    83.         LayerVertices=0  
    84.          layer8 SDE.国界与省界4l  
    85. 2012-3-14 9:55:10Cursor features: layer=SDE.国界与省界4l features=2  
    86.         layer=SDE.国界与省界4l Vertices=374 Features=2  
    87.         LayerVertices=374  
    88.          layer9 SDE.三级以上河流4l  
    89. 2012-3-14 9:55:11Cursor features: layer=SDE.三级以上河流4l features=3  
    90.         layer=SDE.三级以上河流4l Vertices=67 Features=3  
    91.         LayerVertices=67  
    92.          layer10 SDE.国界4l  
    93. 2012-3-14 9:55:11Cursor features: layer=SDE.国界4l features=0  
    94.         layer=SDE.国界4l Vertices=0 Features=0  
    95.         LayerVertices=0  
    96.          layer11 SDE.四级河流polyline  
    97. 2012-3-14 9:55:12Cursor features: layer=SDE.四级河流polyline features=1  
    98.         layer=SDE.四级河流polyline Vertices=53 Features=1  
    99.         LayerVertices=53  
    100.          layer12 SDE.一级河流4l  
    101. 2012-3-14 9:55:13Cursor features: layer=SDE.一级河流4l features=1  
    102.         layer=SDE.一级河流4l Vertices=65 Features=1  
    103.         LayerVertices=65  
    104.          layer13 SDE.县级行政界线line  
    105. 2012-3-14 9:55:14Cursor features: layer=SDE.县级行政界线line features=15  
    106.         layer=SDE.县级行政界线line Vertices=724 Features=15  
    107.         LayerVertices=724  
    108.          layer14 SDE.国界与省界4p  
    109. 2012-3-14 9:55:14Cursor features: layer=SDE.国界与省界4p features=2  
    110.         layer=SDE.国界与省界4p Vertices=7046 Features=2  
    111.         LayerVertices=7046  
    112.          layer15 SDE.三级以上河流4p  
    113. 2012-3-14 9:55:15Cursor features: layer=SDE.三级以上河流4p features=0  
    114.         layer=SDE.三级以上河流4p Vertices=0 Features=0  
    115.         LayerVertices=0  
    116.          layer16 SDE.国界4p  
    117. 2012-3-14 9:55:16Cursor features: layer=SDE.国界4p features=1  
    118.         layer=SDE.国界4p Vertices=46220 Features=1  
    119.         LayerVertices=46220  
    120.          layer17 SDE.一级河流4p  
    121. 2012-3-14 9:55:17Cursor features: layer=SDE.一级河流4p features=0  
    122.         layer=SDE.一级河流4p Vertices=0 Features=0  
    123.         LayerVertices=0  
    124.          layer18 SDE.县级行政界线poly  
    125. 2012-3-14 9:55:18Cursor features: layer=SDE.县级行政界线poly features=8  
    126.         layer=SDE.县级行政界线poly Vertices=2848 Features=8  
    127.         LayerVertices=2848  
    128. 2012-3-14 9:55:19 RunTest:LoadXML  
    129. 2012-3-14 9:55:19 RunTest: ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown()  
    130. 2012-3-14 9:55:19 RunTest: ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown() Completed  
    131. 2012-3-14 9:55:19 RunTest:Application.Exit()  
    132. 2012-3-14 9:55:19 After RunTest:Application.Exit()  
    133. 2012-3-14 9:55:19 Dspose: ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown()  
    134. 2012-3-14 9:55:19 Dspose: ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown() Completed  

    我们在该目录下得到一个XML文件

    MxdPerfStat

    2012-3-14 9:55:19
    c:\1.mxd
    layerCount= 18
    Unknown
    esriDecimalDegrees
    X= 104.25 Y= 28.48 width= 1920 height= 1028


    Map Display Performance (sec) for each scale
    Scale Refresh Time(sec) VisibleLayers
    256,972 .43 18
    Layer Properties
    Item At Scale Layer Name Refresh Time (sec) Recommendations Features Vertices Labeling Geography Phase (sec) Graphics Phase (sec) Cursor Phase (sec) DBMS CPU DBMS LIO DBMS PIO Source LayerType Layer Spatial Reference LayerQueryDef
    1 256,972 SDE.县级居民地point .02 avoid projecting on the fly; 4   False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPoint GCS_WGS_1984  
    2 256,972 SDE.地市级以上居民地4m .03 avoid projecting on the fly;     False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPoint GCS_WGS_1984  
    3 256,972 SDE.首都和省级行政中心4m .02 avoid projecting on the fly;     False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPoint GCS_WGS_1984  
    4 256,972 SDE.地级行政界线polyline .02 avoid projecting on the fly;     False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    5 256,972 SDE.五级河流polyline .02 avoid projecting on the fly; 1 109 False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    6 256,972 SDE.主要铁路4m .02 avoid projecting on the fly;     False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    7 256,972 SDE.主要公路4m .02 avoid projecting on the fly;     False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    8 256,972 SDE.国界与省界4l .02 avoid projecting on the fly; 2 374 False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    9 256,972 SDE.三级以上河流4l .02 avoid projecting on the fly; 3 67 False .01 .00 .00 .00 1   esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    10 256,972 SDE.国界4l .02 avoid projecting on the fly;     False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    11 256,972 SDE.四级河流polyline .02 avoid projecting on the fly; 1 53 False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    12 256,972 SDE.一级河流4l .03 avoid projecting on the fly; 1 65 False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    13 256,972 SDE.县级行政界线line .03 avoid projecting on the fly; 15 724 False .02 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolyline GCS_WGS_1984  
    14 256,972 SDE.国界与省界4p .05 avoid projecting on the fly; 2 7,046 False .03 .01 .02 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolygon GCS_WGS_1984  
    15 256,972 SDE.三级以上河流4p .02 avoid projecting on the fly;     False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolygon GCS_WGS_1984  
    16 256,972 SDE.国界4p .26 simplify geometry: vertices fetched=46220; avoid projecting on the fly; 1 46,220 False .25 .00 .12 .00 1   esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolygon GCS_WGS_1984  
    17 256,972 SDE.一级河流4p .02 avoid projecting on the fly;     False .01 .00 .00 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolygon GCS_WGS_1984  
    18 256,972 SDE.县级行政界线poly .03 avoid projecting on the fly; 8 2,848 False .02 .00 .01 .00     esriDBMS_Oracle,192.168.220.165,5151,sde esriGeometryPolygon GCS_WGS_1984  

    通过上面的信息,我们就可以对MXD做一个非常详细的性能评估,对我们制图,发布服务都是一个很好的参考!

  • 相关阅读:
    课题:快速建立自己的外链资源圈
    【干货分享】常用端口服务对照表
    【经验分享(续篇)】Trachtenberg system(特拉亨伯格速算系统)
    网站渗透测试原理及详细过程
    渗透测试入门DVWA 教程1:环境搭建
    CTF---密码学入门第七题 杯酒人生
    CTF---密码学入门第六题 古典密码
    CTF---密码学入门第五题 传统知识+古典密码
    CTFCrackTools在Windows下显示A Java Exception has occurred的解决方案
    CTF---密码学入门第四题 困在栅栏里的凯撒
  • 原文地址:https://www.cnblogs.com/gisoracle/p/2544562.html
Copyright © 2020-2023  润新知