阅读:2266回复:1
[求助]IBasicGeoprocessor.merge不产生作用
<P>我想在同一层中实现要素的合并,可是不知为什么 IBasicGeoprocessor.merge后没有任何变化。不知哪个环节出错了?代码如下:</P>
<P>IFeatureLayer pFL = new FeatureLayerClass();<BR> pFL=(IFeatureLayer ) lyr;<BR> ITable pTable = (ITable)pFL;</P> <P> IFeatureLayer pFL2 = new FeatureLayerClass();<BR> pFL2 = pFL;<BR> ITable pTable2 = (ITable)pFL2;</P> <P> IFeatureClassName pFeatureClassName = new FeatureClassNameClass();<BR> pFeatureClassName.FeatureType = esriFeatureType.esriFTSimple;<BR> pFeatureClassName.ShapeFieldName = "Shape";<BR> pFeatureClassName.ShapeType = pFL.FeatureClass.ShapeType;</P> <P> IWorkspaceName pNewWSName = new WorkspaceNameClass();<BR> pNewWSName.WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory";<BR> pNewWSName.PathName = @"d:\\";</P> <P> IDatasetName pDatasetName = (IDatasetName)pFeatureClassName;<BR> pDatasetName.Name = "aa";<BR> pDatasetName.WorkspaceName = pNewWSName;</P> <P> IArray inputArray = new ArrayClass();<BR> inputArray.Add(pTable);<BR> inputArray.Add(pTable2);</P> <P> IBasicGeoprocessor pBGP = new BasicGeoprocessorClass();<BR> IFeatureClass outFC;<BR> outFC = pBGP.Merge(inputArray, pTable, pFeatureClassName);</P> |
|
1楼#
发布于:2008-07-24 14:21
<P>IBasicGeoprocessor 其他几个都可以,就merge不行,只能这样做</P>
<P>IBasicGeoprocessor pBGP = new BasicGeoprocessorClass();</P> <P> ESRI.ArcGIS.esriSystem.IArray pArray;<BR> pArray = new ESRI.ArcGIS.esriSystem.ArrayClass();<BR> pArray.Add(Basetoolpfealyr1);<BR> pArray.Add(Basetoolpfealyr2);<BR> pOutputFeatClass = pBGP.Merge(pArray, pOverlayTable, pFeatClassName);</P> |
|