关于调用IFeatureClass进行Insert失败有关问题
发布时间:2010-06-06 17:15:15 文章来源:www.iduyao.cn 采编人员:星星草
关于调用IFeatureClass进行Insert失败问题
程序简要代码如下:
esriGeoDatabase::IFeatureWorkspacePtr spFeaWs = spWorkspace;
esriGeoDatabase::IWorkspaceEditPtr spWsEdit = spFeaWs;
spWsEdit-> StartEditing(VARIANT_TRUE);
spWsEdit-> StartEditOperation();
esriGeoDatabase::IFeatureClassPtr spFeatureClass;
spFeaWs-> raw_OpenFeatureClass(sDestTbName.AllocSysString(),&spFeatureClass);
esriGeoDatabase::IFeatureBufferPtr spFeatureBuf;
esriGeoDatabase::IFeatureCursorPtr spFeacureCursor;
spFeacureCursor = spFeatureClass-> Insert(VARIANT_TRUE);
if (spFeacureCursor == NULL)
{
return FALSE;
}
执行insert时,总是出现错误 “无效的参数量”
请高手给予回答啊,急啊
------解决方案--------------------
帮助中有这么一个例子,你可以看一下
[C#]
public void IFeatureClass__Insert(IFeatureClass featureClass)
{
//get the Workspace from the IDataset interface on the feature class
IDataset dataset = (IDataset)featureClass;
IWorkspace workspace = dataset.Workspace;
//Cast for an IWorkspaceEdit
IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)workspace;
//Start an edit session and operation
workspaceEdit.StartEditing(true);
workspaceEdit.StartEditOperation();
//Create the Feature Buffer
IFeatureBuffer featureBuffer = featureClass.CreateFeatureBuffer();
//Create insert Feature Cursor using buffering = true.
IFeatureCursor featureCursor = featureClass.Insert(true);
object featureOID;
//With a feature buffer you have the ability to set the attribute for a specific field to be
//the same for all features added to the buffer.
featureBuffer.set_Value(featureBuffer.Fields.FindField( "InstalledBy "), "K Johnston ");
//Here you can set the featurebuffers 's shape by setting the featureBuffer.Shape
//to a geomerty that matched the featureclasses.
//Insert the feature into the feature cursor
featureOID = featureCursor.InsertFeature(featureBuffer);
//Calling flush allows you to handle any errors at a known time rather then on the cursor destruction.
featureCursor.Flush();
//Stop editing
workspaceEdit.StopEditOperation();
workspaceEdit.StopEditing(true);
//Release the Cursor
System.Runtime.InteropServices.Marshal.ReleaseComObject(featureCursor);
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
谁能发个mapxtreme java开发地图的简单例子
我的邮箱是dpc13583522718@163.com,使用jsp页面输出,并能对地图进行放大、缩小、平移...
-
win7家庭版64位的,安装的ArcGis9.3和Arcgis10遇到问题!!各位大哥达人帮帮忙!!!
我的系统是win7家庭版64位的,先安装的ArcGis9.3,没成功!有...
-
mapinfo是否支持地图合并?
我现在已经购买了一个城市的地图(MAPINFO格式的),但是它是分为东、西两个城区(东西两区的图层名称和结构都...
-
向Postgis数据库增删改数据后,前台Openlayers刷新不出来?
向Postgis数据库增删改数据后,前台Openlayers刷新不出来?版本2.6。
[color=...
-
MapInfo如何实现Google Map中info window那样的功能?
各位大虾,刚开始学习MapInfo,用MapXtreme + C#开发。
可以载入地图(tab格式),然后...
-
怎样实现在地图上画出公交线路(包括各个站点),急
如题
暂时不求具体的实现,主要是关于思路的流程和实现的大致流程
我老是想不通mapin...
-
谁能发一个mapxtreme for java的例子!!!谢谢...
谁能发一个mapxtreme for java的例子!!!我的邮箱是:jeff_tang1114@sina.com,万分感谢.......
-
3维GIS的问题
各位看官,能否推荐下开源的3DGIS开发套件:用什么api,什么数据库,等?最好是c++的。
多谢指点。
------解决方案------...
-
Mapx开发中,经常会有GPS位置偏离道路的情况,这种情况下,客户希望把GPS点重新拉回到公路上,请问这样该怎么做?
在Mapx开发中,经常会因为...
-
mapx中如何通过线段来生成区域,求一算法
各位好!
现在有个这样的问题想请教下:
mapx中有判断点是不是在区域(手工绘制的多变形)中的方...