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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

AE中地图查询方式

發布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AE中地图查询方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

櫻木?原文?AE中地圖查詢方式

?

地圖查詢主要有兩種查詢:空間查詢和屬性查詢

所用到知識點:

1? Cursor(游標)對象

?? 本質上是一個指向數據的指針,本身不包含數據內容,提供一個連接到ROW對象或者要素對象(Feature)的橋梁而已。

?? 游標有三種類型,即查詢游標、插入游標和更新游標。每一種游標都是通過與之相適應的方法來獲得的,如Search、Insert和Update方法。更新和插入游標都需要使用一個過濾器(Filter)對象,因為它們首先必須獲得需要進行操作的要素。

?? FeatureCursor是Cursor的一個子類,指向一個或多個要素,它實現了IFeatureCursor接口,ArcGIS Engine開發所對矢量圖層實現查詢功能都是實行IFeatureCursor;

?? 其實凡是Search方法,如ILayer::Search、ITable::Search等都可以返回一個游標對象。這個Cursor指向了那些符合選擇條件的要素

IFeatureCursor接口重要成員:

NextFeature(方法,將游標向前跳到下一個位置,并且返回該位置的Feature)
UpdateFeature(Feature) (方法,對當前游標位置的Feature進行更新)

InsertFeature(buffer) (方法,用參數傳進來的屬性值插入一個新的要素到數據庫中,返回該插入新的Feature的ID值,其中參數類型為IFeatureBuffer)

2 ?QueryFilter和SpatialFilter對象

?ArcGIS Engine提供了QueryFilter和SpatialFilter兩個過濾器對象來配合完成查詢條件的設置,從而查詢到想要的數據。 QueryFilter過濾器主要用于對屬性數據查詢條件的設置,它主要實現IQueryFilter接口從而實現屬性查詢功能。

IQueryFilter接口成員:

WhereClause(讀寫屬性,為過濾器設置條件語句)
注意!各種不同的數據,設置條件查詢語句的語法是不相同的,如一個shp文件在設置字段的時候要加“””雙引號,而在SDE數據連接中,則什么都不加;在gdb文件的語句中,符號是“*”,而在SDE或者shp文件查詢中則是“%”
SubFields(讀寫,為過濾器設置提供賽選的字段,用逗號來分隔每一個逗號,如果不設置該屬性,則當做所有字段均為查找字段)

SpatialFilter過濾器主要用于空間范圍查詢條件的設置,它主要實現ISpatialFilter(繼承 IQueryFilter接口)接口從而實現空間查詢功能。

其中SpatialRel屬性是一個確定查詢幾何對象與目標要素幾何對象關系的枚舉值。

3 要素選擇集(FeatureSelection)對象

?? 獲得符合某種條件的數據,一般有兩種不同的手段:

一種使用Search方法,它返回一個指向數據的查詢Cursor對象:

? IFeatureCursor pFeatCursor = pFeatureLayer.Search(pFilter,false);
??IFeature pFeature=pFeatCursor.NextFeature();

另一種是使用SelectFeatures方法構造一個選擇集(SelectionSet),然后在選擇集中得到Cursor,后者麻煩了點,但是得到的要素選擇集在Map上會高亮度顯示。

????? ?IFeatureSelection pFSelection=pFeatureLayer as IFeatureSelection;
?????? pFSelection.SelectFeatures(pSpatialFilter,esriSelectionResultEnum.esriSelectionResultNew,false);
??? ???ISelectionSet pSelectionset=pFSelection.SelectionSet;
?????? ICursor pCursor;
???? ??pSelectionset.Search(null,true,out pCursor);
?????? IFeatureCursor pFeatCursor=pCursor as IFeatureCursor;
????? ?IFeature pFeature=pFeatCursor.NextFeature();

IFeatureSelection接口重要成員:

SelectFeatures (Filter, Method, justOne ) (方法,根據指定的標準過濾器filter和方法,選擇要素,第一個參數為QueryFilter類型的變量,第二個參數為esriSelectionResultEnum類型的變量,第三個參數為布爾型變量,通常為false)

當然還有設置顏色的SelectionColor屬性等;

4 SelectionSet對象

???? 支持ISelectionSet接口,用于管理和查詢一個選擇集。

Search(IQueryFilter,bool,ref ICursor)用于在選擇集內進行再選擇,

?

沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的框架所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如別人所關心你的。理想的騰飛與實現,沒有別人的支持與幫助,是萬萬不能的。



本文轉自wenglabs博客園博客,原文鏈接:http://www.cnblogs.com/arxive/p/6113412.html,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的AE中地图查询方式的全部內容,希望文章能夠幫你解決所遇到的問題。

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