arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
来源:互联网 发布:js illegal character 编辑:程序博客网 时间:2024/05/01 17:15
深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
1、 查找数据Search Cursors //by yl landgis@126.com yanleigis@21cn.com 2008.7.7
[C#]
//Create an envelope for the lower right portion of data
IEnvelope envelope = new EnvelopeClass();
envelope.PutCoords(508786, 681196, 513033, 684341);
// create a spatial query filter
ISpatialFilter spatialFilter = new SpatialFilterClass();
// specify the geometry to query with
spatialFilter.Geometry = envelope;
// specify what the geometry field is called on the Feature Class that we will querying against
String shpFld = featureClass.ShapeFieldName;
spatialFilter.GeometryField = shpFld;
// specify the type of spatial operation to use
spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;
// perform the query and use a cursor to hold the results
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter = (IQueryFilter)spatialFilter;
IFeatureCursor searchCursor = featureClass.Search(queryFilter, true);//只查询,true快一些
IFeature feature = searchCursor.NextFeature();
int n = 0;
while (feature != null)
{
n++;
feature = baseCursor.NextFeature();
}
2、 插入数据Insert Cursors—目前数据插入最快的方法 //by yl landgis@126.com yanleigis@21cn.com 2008.7.7
//Create the Feature Buffer
IFeatureBuffer featureBuffer = featureClass.CreateFeatureBuffer();
//Create insert feature cursor using buffering = true.
IFeatureCursor featureCursor = featureClass.Insert(true
);
object
featureOID;
//All of the features to be created were installed by "B Pierce"
featureBuffer.set_Value(featureBuffer.Fields.FindField("InstBy"), "B Pierce");
for
(int
ic = 0; ic < 99; ic++)
{
//Set the featurebuffers's shape
featureBuffer.Shape = geometry
//Insert the feature into the feature cursor
featureOID = featureCursor.InsertFeature(featureBuffer);
}
//All of the features to be created were installed by "K Johnston"
featureBuffer.set_Value(featureBuffer.Fields.FindField("InstBy"), "K Johnston");
for
(int
ic = 0; ic < 99; ic++)
{
//Set the feature's shape
featureBuffer.Shape = geometry
//Insert the feature into the feature cursor
featureOID = featureCursor.InsertFeature(featureBuffer);
}
featureCursor.Flush();
3、 数据删除 delete //by yl landgis@126.com yanleigis@21cn.com 2008.7.7
IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("Parcels");
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "ZONING_S = 'R'";
// use IFeatureClass::Update to populate IFeatureCursor
IFeatureCursor updateCursor = featureClass.Update(queryFilter, false);
IFeature feature = updateCursor.NextFeature();
int m = 0;
while (feature != null)
{
m++;
updateCursor.DeleteFeature(feature);
feature = updateCursor.NextFeature();
}
4、 数据更新 update //by yl landgis@126.com yanleigis@21cn.com 2008.7.7
IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("Parcels");
// restrict the number of features to be updated.
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "ZONING_S = 'U'";
// use IFeatureClass::Update to populate IFeatureCursor
IFeatureCursor updateCursor = featureClass.Update(queryFilter, false);
int fieldindex = featureClass.FindField("ZONING_S");
IFeature feature = updateCursor.NextFeature();
int m = 0;
while (feature != null)
{
m++;
feature.set_Value(fieldindex, "X");
updateCursor.UpdateFeature(feature);
feature = updateCursor.NextFeature();
}
- arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
- 深入理解游标Cursors,实现数据的快速查找,插入,删除,更新(转)
- ArcEngine数据的查找,插入,删除,更新
- ArcEngine数据的查找,插入,删除,更新
- GIS数据的查找,插入,删除,更新(ArcEngine)
- GIS数据的查找,插入,删除,更新(ArcEngine)
- GIS数据的查找,插入,删除,更新(ArcEngine) (转)
- GIS数据的查找、插入、删除、更新
- 单链表的游标实现:插入、删除、查找、打印等功能
- ArcEngine开发_添加字段,数据删除,插入,更新细节
- 总结:GIS数据的查找,插入,删除,更新
- oracle游标的更新与删除数据
- 数据的插入、更新、删除
- Oracle 参数 游标[游标更新删除数据]
- Oracle 参数 游标[游标更新删除数据]
- 插入更新删除数据
- 插入、更新、删除数据
- 插入、更新、删除数据
- XviD(ZZ)
- 传统的观念和思维定势让我们放弃了很多有价值的机会
- Hibernate检索方式
- 你想要的画全在里面
- VC中回调函数的用法
- arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
- 你做的系统user friendly 吗?(转)
- C#的各种连接数据库
- 一个非常灵活的ODBC编程方法
- [C学习]总结(数据类型)
- 2007全球前50佳网站
- SQL 高级
- Security Tutorials系列文章第十一章:Role-Based Authorization
- 亦思专业验证码识别系统