ArcEngine数据的查找,插入,删除,更新
来源:互联网 发布:ubuntu 17.04 openjdk 编辑:程序博客网 时间:2024/05/02 01:00
原文地址:http://www.cnblogs.com/feilong3540717/archive/2011/03/11/1981842.html
为了以后方便快速拷贝代码,将这些常用代码记录下来。
1、查找数据
1)、利用FeaturCursor进行空间查询
//利用构造的Envelope(矩形框),查找和Envelope相交的FeatureClass的要素集
//结果数据利用循环FeatureCursor.nextFeature获得
IEnvelope envelope = new EnvelopeClass();
envelope.PutCoords(508786, 681196, 513033, 684341);
//空间查询
ISpatialFilter spatialFilter = new SpatialFilterClass();
spatialFilter.Geometry = envelope;
String shpFld = featureClass.ShapeFieldName;
spatialFilter.GeometryField = shpFld;
spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;//相交
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter = (IQueryFilter)spatialFilter;
IFeatureCursor searchCursor = featureClass.Search(queryFilter, true);
IFeature feature = searchCursor.NextFeature();
int n = 0;
while (feature != null){
n++;
feature = baseCursor.NextFeature();
}
2)、利用FeatureCursor在选择集中进行查询
IFeatureSelection pFeatureSelectio = pFeatureLayer as IFeatureSelection;
ICursor ppCursor;
pFeatureSelectio.SelectionSet.Search(null, false, out ppCursor);
IFeatureCursor pFeatureCursor = ppCursor as IFeatureCursor;
IFeature pFeature = pFeatureCursor.NextFeature();
3)、利用FeatureCursor进行属性查询
IQueryFilter pQueryFilter = new QueryFilterClass();
pQueryFilter.WhereClause = "PROJECTCODE = '" + this.ProjectNumTextBox.Text.Trim() + "'";
IFeatureCursor pFeatureCursor = LineFeaClass.Search(pQueryFilter, false);
IFeature pFeatureIfExit = pFeatureCursor.NextFeature();
2、 插入数据
1)、利用Insert Cursors和featureBuffer
IFeatureBuffer featureBuffer = featureClass.CreateFeatureBuffer();
IFeatureCursor featureCursor = featureClass.Insert(true
);
object
featureOID;
featureBuffer.set_Value(featureBuffer.Fields.FindField("InstBy"), "B Pierce");
for
(int
ic = 0; ic < 99; ic++)
{
featureBuffer.Shape = geometry;
featureOID = featureCursor.InsertFeature(featureBuffer);
}
featureBuffer.set_Value(featureBuffer.Fields.FindField("InstBy"), "K Johnston");
for
(int
ic = 0; ic < 99; ic++)
{
featureBuffer.Shape = geometry
featureOID = featureCursor.InsertFeature(featureBuffer);
}
featureCursor.Flush();
2)、直接进行数据插入(Feature.Store方法)
IFeature newLineFeature = LineFeaClass.CreateFeature();
newLineFeature.Shape = pFeature.Shape;
int ii = newLineFeature.Fields.FindField(AreaZonalName);
if (ii > 0)
{
newLineFeature.set_Value(ii, this.AnalysAreaComboBox.Text.Trim());
}
newLineFeature.Store();
3、数据删除 delete
IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("Parcels");
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "ZONING_S = 'R'";
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
IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("Parcels");
// 属性查询
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "ZONING_S = 'U'";
//利用FeatureCursor进行数据更新
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数据的查找,插入,删除,更新
- ArcEngine数据的查找,插入,删除,更新
- GIS数据的查找,插入,删除,更新(ArcEngine)
- GIS数据的查找,插入,删除,更新(ArcEngine)
- arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
- GIS数据的查找,插入,删除,更新(ArcEngine) (转)
- GIS数据的查找、插入、删除、更新
- ArcEngine开发_添加字段,数据删除,插入,更新细节
- 总结:GIS数据的查找,插入,删除,更新
- 数据的插入、更新、删除
- 插入更新删除数据
- 插入、更新、删除数据
- 插入、更新、删除数据
- 深入理解游标Cursors,实现数据的快速查找,插入,删除,更新(转)
- MySQL 数据的插入、更新和删除
- 表数据的插入,更新,删除
- mongoDB(3):数据的更新、插入、删除
- 重复数据的查找,更新,删除
- 算法导论第二章C++实现归并排序
- python加密文件时正确的padding方法
- 墙裂推荐一本案例驱动的PhoneGap入门书,早看早收货
- Java的多线程技术
- PL/SQL Developer ORA-01017: 用户名/口令无效; 登录被拒绝 问题解决
- ArcEngine数据的查找,插入,删除,更新
- Python列表操作自定义函数(二)
- myeclipse2014/eclipse luna 等最新版本安装aptana插件
- pdf格式转换器下载免费版
- CxImage图像处理库VS2010编译和调用(静态库和动态库调用)
- 中缀算式转后缀算式
- TMX API
- 哈弗曼编码及译码
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结