阅读:1702回复:2
AE9.1升级到9.2,叠加分析出错!
<P>发现原来在9.1下面写的叠加分析Clip操作,在9.2下不对了,哪位做过的,指点一下吧。</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> pOutFeatureClass = pBGP.Clip(pInputTable, false, pOverlayTable, false, tol, pFeatureClassName); 这句话出错,说读取了一个被保护的内存地址。 |
|
1楼#
发布于:2007-01-29 22:35
没有ae9.2,请共享...
谢谢! |
|
2楼#
发布于:2007-01-31 13:30
楼主,我也遇到这个情况了,目前还没有解决,真郁闷啊
|
|