arcgis中書籤是儲存特定檢視範圍的快捷方式。使用書籤儲存關注的檢視範圍,可在需要時快速定位、檢視與瀏覽。書籤功能主要用到imapbookmarks、ispatialbookmark和iaoibookmark三個介面。
通過imapbookmarks介面的bookmarks屬性可以得到地**檔中已經存在的所有書籤物件,通過該介面的addbookmark和removebookmark方法可以對書籤進行新增和刪除。
ispatialbookmark介面定義所有空間書籤的共同功能,特別是書籤的name屬性和zoomto方法。name屬性定義了書籤的名字,通過zoomto方法可跳轉到書籤位置點。
iaoibookmark介面繼承自ispatialbookmark介面,新增了location屬性,用於儲存地圖中感興趣的範圍。
新建乙個窗體用於設定書籤名稱,窗體介面如圖:
實現:
publicview codepartial
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
}
mainform中的**
///view code///新增書籤的操作
/// ///
///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)
}
新建書籤管理窗體,如圖:
獲取空間書籤,對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 ...