ArcGIS中QueryTask,FindTask,IndentifyTask 之間的區別


1:QueryTask是一個進行空間和屬性查詢的功能類,它可以在某個地圖服務的某個子圖層內進行查詢,順便需要提一下的是,QueryTask進行查詢的地圖服務並

不必項加載到Map中進行顯示。QueryTask的執行需要兩個先決條件:一個是需要查詢的圖層URL、一個是進行查詢的過濾條件。       查詢一個圖層里面的數據:鏈

接如http://10.188.180.124:8399/arcgis/rest/services/123/MapServer/13   ,MS只可以查找唯一的數據; 

 
2:FindTask是在某個地圖服務中迕行屬性查詢的功能類。FindTask不QueryTask的使用徆類似,當然,QueryTask在execute的時候需要給一個Query對象作為參

數,FindTask則是給一個FindParameters對象作為參數。另外,FindTask的url屬性需要指向所查詢的地圖服務的REST URL,而丌像QueryTask需要指定子圖層的

URL。   可查詢單圖層和跨圖層數據,輸入查詢的圖層Layers;查詢的字段名字Search Fields,查詢的條件  Search Text,可以查詢非唯一的數據。 

 
3:IdentifyTask是一個在地圖服務中識別要素的功能類。當用戶在客戶端使用Draw工具繪制了一個幾何對象以后,返個幾何對象就可以作為IdentifyTask的參數収送到

服務器迕行識別,滿足條件的要素將會被輸出到ArcGIS Flex API中,同樣,返些要素都可以作為Graphic被添加到地圖上。 本功能可以實現:在地圖上畫一個圖形,

可以查詢該圖形覆蓋的地圖底圖數據。 以上這些可以在http://10.188.180.124:8399/arcgis/rest/services/123/MapServer網頁最下端Supported Operations詳細查看。

 
 
QueryTask :還回的是 一個FeatureSet; Featureset.features[i]加入顯示圖層顯示

 FindTask:返回的是一個FindResults數組, FindResults【i】.feature加入顯示圖層顯示 

IdentifyTask:返回的是一個identifyResults[i];數組;identifyResults[i];【i】.feature加入顯示圖層顯示 

 
 QueryTask 只能針對一個圖層進行空間或屬性查詢 

FindTask 對一個地圖服務多個圖層(全部,或者指定幾個ID索引)做屬性查詢

Idientfiy 是對一個地圖服務多個圖層(全部,或者指定幾個ID索引)做空間識別查詢

 

上面其實已經敘述的很清楚了。在此加入一些更通俗易懂的說法:

QueryTask:查詢的是featurelayer,可進行空間或者屬性查詢,也就是地圖服務后面加上圖層索引,

                   例如http://10.188.180.124:8399/arcgis/rest/services/123/MapServer/13

FindTask:查詢的是地圖服務,可以做屬性查詢,可以根據指定的圖層索引查詢具體的圖層。

Idientfiy:查詢的是地圖服務,做空間識別查詢,簡而言之,框選范圍,返回范圍中所有要素。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM