Arcengine建立記憶體工作空間幫助類

2022-07-26 04:21:06 字數 2479 閱讀 1920

/// /// 建立記憶體要素類

///

public class mymemoryworkspace : idisposable

/// /// 要素類集合

///

private readonly dictionary_featureclasses;

public mymemoryworkspace()

/// /// 建立記憶體工作空間

///

/// 記憶體工作空間名稱

///

public mymemoryworkspace creatememoryworkspace(string memoryworkspacename = "memoryworkspace")

/// /// 建立記憶體圖層

///

/// 要素名稱

/// 要素別名

/// 空間參考

/// 要素圖形型別

/// 字段集合

///

public mymemoryworkspace creatememoryfeatureclass(string datasetname,

string aliasname,

ispatialreference spatialref,

esrigeometrytype geometrytype,

ifields propertyfields)

finally

catch

gc.collect();

}_featureclasses.add(aliasname, ofeatureclass);

return this;

}/// /// 建立預設記憶體圖層

///

/// 要素名稱

/// 要素別名

/// 空間參考

/// 要素圖形型別

/// 字段集合

///

public mymemoryworkspace createdefaultmemoryfeatureclass(string datasetname,

string aliasname,

ispatialreference spatialref,

esrigeometrytype geometrytype,

ifields propertyfields)

finally

catch

gc.collect();

}_featureclasses.add(aliasname, ofeatureclass);

return this;

}/// /// 插入要素

///

///

///

public mymemoryworkspace insertfeature(string featureclassname, myfeature myfeature)

insertcursor.insertfeature(featurebuffer);

insertcursor.flush();}}

catch (exception)

return this;

}/// /// 插入要素

///

///

///

public mymemoryworkspace insertfeature(string featureclassname, ienumerablemyfeature)

comreleaser.releasecomobject(fields);

}foreach (myfeature feature in myfeature)

insertcursor.insertfeature(featurebuffer);

}insertcursor.flush();}}

catch (exception)

return this;

}/// /// 獲取乙個要素類

///

///

public ifeatureclass buildfeatureclass()

/// /// 獲取要素類集合

///

///

public dictionarybuildfeatureclasses()

#region idisposable

private void releaseunmanagedresources()

protected virtual void dispose(bool disposing)

}public void dispose()

#endregion

}/// /// 要素物件

///

public class myfeature

public igeometry geometry

public dictionaryrowdata

}

ArcEngine建立IFeature的三種方法

在arcgis resouce center 中,esri介紹了兩種建立feature的方法 可以在本地的geodatabase和sde的featureclass 一 ifeatureclass.createfeature,在這種方法最後需要加上ifeature.store去提交建立的要素,本人認為...

ArcEngine建立IElement簡單例子

it gis終結者原文arcengine建立ielement簡單例子 以下幾個函式功能主要是向地圖中新增ielement,一共四個函式 getcolor,create linesymbol,create fillsymbol,addcreateelement 功能函式 addcreateelemen...

ArcEngine開發程式中關閉時記憶體洩漏的問題

arcengine開發程式中關閉時記憶體洩漏的問題 一 ae9.0和9.1中解決辦法 在ae9.0和9.1中,就出現了arcengine開發程式中關閉時記憶體洩漏的問題,彈出個錯誤,讓人十分不爽.後來查詢相關資料,需要在關閉窗體時,加乙個函式。void frmmain closing object ...