阅读:1617回复:1
叠加分析Clip操作出错
<P>原来用AE9.1写的叠加分析Clip操作,现在移植到ArcMap 9.2上用AO开发,报错误</P>
<P>$exception {"Attempted to read or write protected memory. This is often an indication that other memory is corrupt."} System.Exception {System.AccessViolationException}</P> <P>请有经验的指点一下。谢谢!</P> <DIV class=HtmlCode> <P>public void OverlayClip(ILayer pInputLayer, ILayer pOverlayLayer, string outFeatureClassName)<BR>{<BR> ITable pInputTable = pInputLayer as ITable; <BR> if (pInputTable == null)<BR> {<BR> throw new Exception("pInputTable is null");<BR> }</P> <P> ITable pOverlayTable = pOverlayLayer as ITable; // 'Q<BR> if (pOverlayTable == null)<BR> {<BR> throw new Exception("pOverlayTable is null");<BR> }</P> <P> try<BR> {<BR> //define output featureclass name<BR> IFeatureClassName pFeatureClassName = null;<BR> pFeatureClassName = new FeatureClassNameClass();</P> <P><BR> //set output location and featureclass name<BR> IWorkspaceName pNewWSName = null;<BR> pNewWSName = new WorkspaceNameClass();<BR> pNewWSName.WorkspaceFactoryProgID = _WorkspaceFactoryProgID;<BR> pNewWSName.PathName = _WorkspacePath;</P> <P> IDatasetName pDatasetName = pFeatureClassName as IDatasetName;<BR> pDatasetName.Name = outFeatureClassName;<BR> pDatasetName.WorkspaceName = pNewWSName;</P> <P> //设置容限值为0,系统默认容限值为当前DataFrame的空间域范围的1万分之一<BR> double tol;<BR> tol = 0;</P> <P> //Perform Clip<BR> IBasicGeoprocessor pBGP = null;<BR> pBGP = new BasicGeoprocessorClass();<BR> IFeatureClass pOutFeatureClass = null;<BR> pOutFeatureClass = pBGP.Clip(pInputTable, false, pOverlayTable, false, tol, pFeatureClassName);<BR> </P> <P> //输出要素类<BR> _OutFeatureLayer = null;<BR> _OutFeatureLayer = new FeatureLayerClass();<BR> _OutFeatureLayer.Name = pOutFeatureClass.AliasName;<BR> _OutFeatureLayer.FeatureClass = pOutFeatureClass;<BR> }<BR> catch (Exception ex)<BR> {<BR> throw ex;<BR> }<BR>}</P></DIV> |
|
1楼#
发布于:2007-01-26 09:23
为什么只有人看,没人来回答一下呢?
|
|