ArcGIS Engine開發之書籤載入

2021-09-08 19:24:45 字數 3582 閱讀 8499

arcgis中書籤是儲存特定檢視範圍的快捷方式。使用書籤儲存關注的檢視範圍,可在需要時快速定位、檢視與瀏覽。書籤功能主要用到imapbookmarks、ispatialbookmark和iaoibookmark三個介面。

通過imapbookmarks介面的bookmarks屬性可以得到地**檔中已經存在的所有書籤物件,通過該介面的addbookmark和removebookmark方法可以對書籤進行新增和刪除。

ispatialbookmark介面定義所有空間書籤的共同功能,特別是書籤的name屬性和zoomto方法。name屬性定義了書籤的名字,通過zoomto方法可跳轉到書籤位置點。

iaoibookmark介面繼承自ispatialbookmark介面,新增了location屬性,用於儲存地圖中感興趣的範圍。

新建乙個窗體用於設定書籤名稱,窗體介面如圖:

實現:

public

partial

class

formbookmarks : devexpress.xtraeditors.xtraform

private

void formbookmarks_load(object

sender, eventargs e)

//////

確定按鈕

/// ///

///private

void btnok_click(object

sender, eventargs e)

//取消按鈕

private

void btncel_click(object

sender, eventargs e)

//設定書籤為唯讀

public

string

bookmark

}//是否建立書籤變數為唯讀

public

intcheck

}//////

在textbox中文字改變事件中設定按鈕的可用性

/// ///

///private

void txtbookmarks_textchanged(object

sender, eventargs e)

else

}

view code

mainform中的**

///

///新增書籤的操作

/// ///

///private

void btnopenbookmark_itemclick(object

sender, itemclickeventargs e)

if (string.isnullorempty(pname)) return

;

//書籤進行重名判斷

imapbookmarks mapbookmarks= mainmapcontrol.map as

imapbookmarks;

ienumspatialbookmark enumspatialbookmarks =mapbookmarks.bookmarks;

enumspatialbookmarks.reset();

ispatialbookmark pspatialbookmark;

while ((pspatialbookmark = enumspatialbookmarks.next()) != null

)

else

if (dr ==dialogresult.no)

else}}

//獲取當前地圖的物件

iactiveview pactiveview = mainmapcontrol.map as

iactiveview;

//建立乙個新的書籤並設定其位置範圍為當前檢視的範圍

iaoibookmark pbookmark = new

aoibookmarkclass();

pbookmark.location =pactiveview.extent;

//獲得書簽名

pbookmark.name =pname;

//通過imapbookmarks介面訪問當前地圖書籤集,新增書籤到地圖的書籤集中

imapbookmarks pmapbookmarks = mainmapcontrol.map as

imapbookmarks;

pmapbookmarks.addbookmark(pbookmark);

}//////

書籤管理

/// ///

///private

void btnopenmangerbookmark_itemclick(object

sender, itemclickeventargs e)

catch

(exception ex)

}

view code

新建書籤管理窗體,如圖:

獲取空間書籤,對listbookmark進行初始化

/// ///

//////

private

void

initcontrol()

}//////

/// ///

///private

void formmangerbookmark_load(object

sender, eventargs e)

//////

定位按鈕的功能

/// ///

///private

void btnposition_click(object

sender, eventargs e)

//////

刪除書籤的操作

/// ///

///private

void b***eleterbookmark_click(object

sender, eventargs e)

//////

取消按鈕的設定

/// ///

///private

void btnclosebookmark_click(object

sender, eventargs e)

//////

滑鼠雙擊定位設定

/// ///

///private

void treeview1_nodemousedoubleclick(object

sender, treenodemouseclickeventargs e)

view code

ARCGIS ENGINE開發時如何改變標註字段

在arcgis engine開發應用程式做標註時,用某乙個欄位來標註是非常常見的功能,下面的 說明的是如何來動態的改變標註的字段。過程描述 假設pflayer是乙個有效的featurelayer物件,下面這兩句 是用預設的字段來標註。pflayer.displayfield fid pflayer....

ArcGIS Engine 編輯介紹

原文 arcgis engine 編輯介紹 iworkspaceedit介面是arcgis engine 實現空間資料編輯的重要介面,它讓程式啟動或者停止乙個編輯流程,在這個編輯流程內,可以對資料庫中的資料進行刪除,新增,更改。我們所有的對要素或者屬性的修改都可以放到乙個會話中,這個會話就相當於ar...

ArcGIS Engine 相關資料

1 arcgis engine c 例項開發教程 教程目錄 第一講 桌面gis應用程式框架的建立 第二講 選單的新增及其實現 第三講 mapcontrol與pagelayoutcontrol同步 第四講 狀態列資訊的新增與實現 第五講 鷹眼的實現 第六講 右鍵選單新增與實現 教程bug及優化方案1 ...