维雷利
路人甲
路人甲
  • 注册日期2004-06-18
  • 发帖数11
  • QQ
  • 铜币137枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1589回复:2

AE9.1升级到9.2,叠加分析出错!

楼主#
更多 发布于:2007-01-28 21:24
<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); 这句话出错,说读取了一个被保护的内存地址。
喜欢0 评分0
cmfc
路人甲
路人甲
  • 注册日期2003-09-24
  • 发帖数102
  • QQ
  • 铜币538枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-01-29 22:35
没有ae9.2,请共享...
谢谢!
举报 回复(0) 喜欢(0)     评分
aplsc
路人甲
路人甲
  • 注册日期2006-08-15
  • 发帖数2
  • QQ
  • 铜币106枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-01-31 13:30
楼主,我也遇到这个情况了,目前还没有解决,真郁闷啊
举报 回复(0) 喜欢(0)     评分
游客

返回顶部