日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GIS数据的查找,插入,删除,更新(ArcEngine)

發(fā)布時間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GIS数据的查找,插入,删除,更新(ArcEngine) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、查找數(shù)據(jù)

1)、利用FeaturCursor進行空間查詢

//利用構造的Envelope(矩形框),查找和Envelope相交的FeatureClass的要素集

//結果數(shù)據(jù)利用循環(huán)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、?插入數(shù)據(jù)

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)、直接進行數(shù)據(jù)插入(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、數(shù)據(jù)刪除?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、?數(shù)據(jù)更新?update?

IFeatureClass featureClass =?featureWorkspace.OpenFeatureClass("Parcels");

// 屬性查詢

IQueryFilter queryFilter =?new?QueryFilterClass();

queryFilter.WhereClause = "ZONING_S = 'U'";

//利用FeatureCursor進行數(shù)據(jù)更新

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();

}

轉載于:https://www.cnblogs.com/suncarry/archive/2011/06/04/2072465.html

總結

以上是生活随笔為你收集整理的GIS数据的查找,插入,删除,更新(ArcEngine)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。