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

叠加分析Clip操作出错

楼主#
更多 发布于:2007-01-14 22:52
<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>
喜欢0 评分0
维雷利
路人甲
路人甲
  • 注册日期2004-06-18
  • 发帖数11
  • QQ
  • 铜币137枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-01-26 09:23
为什么只有人看,没人来回答一下呢?
举报 回复(0) 喜欢(0)     评分
游客

返回顶部