性能测试工具三(ArcGIS Performance calibration tool)

来源:互联网 发布:淘宝限制购买数量 编辑:程序博客网 时间:2024/09/21 09:28

经常与ArcGIS性能打交道的人恐怕又有福气了,最近新推出了一个ArcGIS性能检查工具,感兴趣的朋友可以尝尝鲜!

该工具也是属于独立安装的,是基于ArcGIS Engine程序开发的,我大体总结了极大功能

1:可以进行相关图层放大、缩小、平移等的时间计算

2:可以进行脚本化的数据编辑(创建、删除、分割、移动、旋转等)-亮点

3:可以进行MXD文件性能检查的工具,可以对图层获得要素总数(可以包含标注检查)等

4:可以进行ArcSDE数据库(Oracle)的Trace文件跟踪

该工具可以支持版本9.31010.1,既支持文件地理数据库也支持ArcSDE地理数据库,既支持集成与ArcGIS Desktop,也支持独立的EXE工具打开

下面我们就简单介绍一下这个工具

 图片

功能1Rendering

从上图我们也可以看到相关的渲染时间的结果,我们加载相关图层(MXD或者要素类),点击右上角红绿灯的,开始,然后我们可以对目标图层进行放大、缩小、漫游等操作,每操作一步,内容框都会有每一步的渲染时间,而且这些事件包括(图形、注记、选择、合计等)

功能2:脚本化的数据编辑

这个也可能是这个工具最大的亮点,如果我们希望批量的对数据进行增加或者删除操作,我们可以使用这种方式对目标数据进行操作。

工具安装目录里面有一个相关的帮助文档

简单说明一下,该功能支持

[html] view plaincopyprint?

  Create X1,Y1 [, X2,Y2, X3,Y3, X4,Y4, ..., Xn,Yn] [; N [; xoffset=X0] [, yoffset=Y0]]  

  CreateGN NetworkName, NetworkType, SnapTolerance  

  Delete oid1 [, oid2, … oidN] // delete 1 or more features  

  Display XMin, YMin, XMax, YMax  

  FeatureClass feature_class_name  

  Fetch feature_class_name, XMin, YMin, XMax, YMax  

  Move oid1 [, oid2, … oidN]; x,y // move lines to an x,y offset  

  Rotate oid1[, oid2, … oidN]; x, y, angle // rotate lines about a point, angle in radians  

  Split oid1 [, oid2, ... oidN]; ratio // ratio is >0.0 to <1.0  

StartEdit // start editing  

StopEdit Save | Discard  

SimplifyFeatures True | False  

SummarizeEdits [ExcludeFirstEdit] //summarize edit commands  

OraTraceStart TraceIdentifier, TraceLevel  

OraTraceStop  

Pause milliseconds  

Workspace connection_string  

Create X1,Y1 [, X2,Y2, X3,Y3, X4,Y4, ..., Xn,Yn] [; N [; xoffset=X0] [, yoffset=Y0]]CreateGN NetworkName, NetworkType, SnapToleranceDelete oid1 [, oid2, … oidN] // delete 1 or more featuresDisplay XMin, YMin, XMax, YMaxFeatureClass feature_class_nameFetch feature_class_name, XMin, YMin, XMax, YMaxMove oid1 [, oid2, … oidN]; x,y // move lines to an x,y offsetRotate oid1[, oid2, … oidN]; x, y, angle // rotate lines about a point, angle in radiansSplit oid1 [, oid2, ... oidN]; ratio // ratio is >0.0 to <1.0StartEdit // start editingStopEdit Save | DiscardSimplifyFeatures True | FalseSummarizeEdits [ExcludeFirstEdit] //summarize edit commandsOraTraceStart TraceIdentifier, TraceLevelOraTraceStopPause millisecondsWorkspace connection_string从每行最左边的关键字可以看出每个函数(我这样称谓)的作用

[html] view plaincopyprint?

  // ------------------------------  

  // NOTES ABOUT GENERATED COMMANDS  

  // ------------------------------  

  // 'Create' commands create features identical to existing features but offset   

  // by [(X,Y) = (2000,1000)] (defined on the Script Generate tab) so they don't   

  // create features in the same positions as existing ones.  

    

  // 'Move' commands move existing features by the offset [(X,Y) = (2000,1000)].  

    

// 'Rotate' commands rotate existing features at an angle of 0.75 radians   

// about a pivot point. If the shape is a Point or Junction, the pivot point is itself.   

// If the shape is a Polyline or Edge, the pivot point is half way along its curve.   

// If the shape is a Polygon, the pivot point is its area centroid.  

  

// 'Split' commands split features (Edge, Polyline, Polygon) by the   

// distance-along-curve ratio of 0.5.  

  

// 'Delete' commands delete existing features which will be permanently lost if the   

// 'StopEdit Discard' command at the end of the script is changed to 'StopEdit Save'.   

// If these are important, please back up the geodatabase prior to running the script.  

// In order to save edits (with 'StopEdit Save'), there must be no editing errors.  

// -----------------------------------------------------------------------------------  

// ------------------------------// NOTES ABOUT GENERATED COMMANDS// ------------------------------// 'Create' commands create features identical to existing features but offset // by [(X,Y) = (2000,1000)] (defined on the Script Generate tab) so they don't // create features in the same positions as existing ones.// 'Move' commands move existing features by the offset [(X,Y) = (2000,1000)].// 'Rotate' commands rotate existing features at an angle of 0.75 radians // about a pivot point. If the shape is a Point or Junction, the pivot point is itself. // If the shape is a Polyline or Edge, the pivot point is half way along its curve. // If the shape is a Polygon, the pivot point is its area centroid.// 'Split' commands split features (Edge, Polyline, Polygon) by the // distance-along-curve ratio of 0.5.// 'Delete' commands delete existing features which will be permanently lost if the // 'StopEdit Discard' command at the end of the script is changed to 'StopEdit Save'. // If these are important, please back up the geodatabase prior to running the script.// In order to save edits (with 'StopEdit Save'), there must be no editing errors.// -----------------------------------------------------------------------------------

比如打开一个工作空间,我们使用Workspace

[html] view plaincopyprint?

  //打开ArcSDE工作空间  

  Workspace SERVER=lishDATABASE="";INSTANCE="sde:oracle11g:;LOCAL=orcl";USER=test; //PASSWORD=test;VERSION=SDE.DEFAULT  

    

  //打开文件工作空间  

  Workspace DATABASE="D:\data\California.gdb"  

//打开ArcSDE工作空间Workspace SERVER=lish; DATABASE="";INSTANCE="sde:oracle11g:;LOCAL=orcl";USER=test; //PASSWORD=test;VERSION=SDE.DEFAULT//打开文件工作空间Workspace DATABASE="D:\data\California.gdb"不过一般我们编辑数据都是打开工作空间,打开编辑,编辑操作,结束编辑,其实这个工作也是一样的方式

例如如下的一个编辑脚本,我们在上图的“script”选择项执行,该脚本内容

[html] view plaincopyprint?

  //打开文件工作空间  

  Workspace DATABASE="D:\data\California.gdb"  

    

  //列出该工作空间所有的要素类  

  GetDatasetNames esriDTFeatureClass  

    

  //打开编辑  

StartEdit  

    

//设置编辑目标要素类“Airports”  

FeatureClass Airports // esriGeometryPoint  

  

//新建要素  

Create 1882.81034066169,1032.73355508579  

Create 1882.86043540154,1032.81573502581  

Create 1882.85746793112,1032.86838139496  

Create 1882.71977971485,1033.12822351073  

  

//结束编辑  

StopEdit Save // to save edits change 'Discard' to 'Save'  

//打开文件工作空间Workspace DATABASE="D:\data\California.gdb"//列出该工作空间所有的要素类GetDatasetNames esriDTFeatureClass//打开编辑StartEdit//设置编辑目标要素类“Airports”FeatureClass Airports // esriGeometryPoint//新建要素Create 1882.81034066169,1032.73355508579Create 1882.86043540154,1032.81573502581Create 1882.85746793112,1032.86838139496Create 1882.71977971485,1033.12822351073//结束编辑StopEdit Save // to save edits change 'Discard' to 'Save'那么我们可以在上图的“log”选项查看执行结果

[html] view plaincopyprint?

  ----------------------------  

  EXECUTE SCRIPT RESULTS  

  ----------------------------  

  Test Machine: LISH  

  User: Administrator  

ArcGIS Product: Desktop  

  ArcGIS Version: 10.1.0.2944  

  Script: C:\Users\Administrator\Desktop\2.scr  

  Date/Time: 2012-5-2 15:53:33  

----------------------------  

  

Found ScriptCommand assemblies:  

ESRI.ScriptEngine.DisplayCommand, Version 1.0.0.149  

ESRI.ScriptEngine.EditCommand, Version 1.0.0.149  

  

Opened workspace: DATABASE="D:\data\California.gdb"  

Open workspace ET: "0.8238"  

  

GetDatasetNames found "12" type 'esriDTFeatureClass' datasets, ET: "150.6171"  

Dataset Names: Airports, Cities, Counties, EarthquakeHistory, GolfCourses  

Dataset Names: Highways, Lakes, Places, Rivers, StateBND  

Dataset Names: UrbanAreas, Volcanos  

  

Started editing, ET: "13.8412"  

  

  

Opened (esriGeometryPoint) feature class: "Airports", ET: "14.0266"  

Create (esriGeometryPoint), New OID: "60", ET: "43.6566" (Simplified)  

Create (esriGeometryPoint), New OID: "61", ET: "0.9032" (Simplified)  

Create (esriGeometryPoint), New OID: "62", ET: "0.6437" (Simplified)  

Create (esriGeometryPoint), New OID: "63", ET: "0.6473" (Simplified)  

Stopped editing and saved edits, ET: "26.2753"   

  

--------------------------------------  

Script Execution Time: 00:00:00.5045021  

----------------------------EXECUTE SCRIPT RESULTS----------------------------Test Machine: LISHUser: AdministratorArcGIS Product: DesktopArcGIS Version: 10.1.0.2944Script: C:\Users\Administrator\Desktop\2.scrDate/Time: 2012-5-2 15:53:33----------------------------Found ScriptCommand assemblies:ESRI.ScriptEngine.DisplayCommand, Version 1.0.0.149ESRI.ScriptEngine.EditCommand, Version 1.0.0.149Opened workspace: DATABASE="D:\data\California.gdb"Open workspace ET: "0.8238"GetDatasetNames found "12" type 'esriDTFeatureClass' datasets, ET: "150.6171"Dataset Names: Airports, Cities, Counties, EarthquakeHistory, GolfCoursesDataset Names: Highways, Lakes, Places, Rivers, StateBNDDataset Names: UrbanAreas, VolcanosStarted editing, ET: "13.8412"Opened (esriGeometryPoint) feature class: "Airports", ET: "14.0266"Create (esriGeometryPoint), New OID: "60", ET: "43.6566" (Simplified)Create (esriGeometryPoint), New OID: "61", ET: "0.9032" (Simplified)Create (esriGeometryPoint), New OID: "62", ET: "0.6437" (Simplified)Create (esriGeometryPoint), New OID: "63", ET: "0.6473" (Simplified)Stopped editing and saved edits, ET: "26.2753" --------------------------------------Script Execution Time: 00:00:00.5045021更多的操作,可以下载工具,查看帮助体验。

3Fetch数据

如果是相关的MXD,配置好的图层有符号、标注、Maplex等,我们可以通过这个功能来获得相关的获取数据的时间

图片

另外还有DBMS功能就是如果数据源为Oracle数据库的ArcSDE,可以获得trace文件来分析相关的性能问题

还有一个“Extents”选择项,里面针对每一个选择项都有相关的帮助,我没有进行细致的研究,感兴趣的朋友可以看看

图片

 

比如他可以支持设定一个脚本文件(里面设置相关的矩形框),该矩形框可以与相关的图层进行叠加分析,可以获得该矩形框与相关要素类的叠加要素数,可以设置不同的符号标识,而且相关结果可以以标注的形式标明

 

原创粉丝点击