搜尋圖層外掛程式具有 QGIS 中增強的文字向量圖層搜尋功能。它提供了跨所有層和所有字段進行搜尋的能力。它還具有模糊搜尋演算法。
搜尋圖層位於 QGIS 外掛程式選單中的「外掛程式 -> 搜尋圖層 -> 搜尋圖層」下,或選擇工具列圖示。
首次啟動「搜尋圖層」時,會顯示下列對話方塊。
在搜尋條件下,您最多可以輸入兩個搜尋字串。 NOT複選框將否定適用字串的搜尋結果。
在每個搜尋字串文字方塊下,都有一個下拉式選單指定搜尋字串如何與屬性表中的內容相符。選項有:
區分大小寫- 選取後,搜尋字串必須與屬性文字大小寫相符。預設情況下,它是未選取的,並且執行獨立於大小寫的搜尋。
限制兩個搜尋字串在屬性欄位內符合而不是跨屬性欄位- 當兩個搜尋字串用於在屬性欄位內符合時,這將限制搜尋條件;否則,一個字串可能會匹配一個屬性字段,而另一個字串可能會匹配另一個屬性字段。結果透過AND或OR組合在一起。這是兩個字串搜尋的範例。
搜尋層指定搜尋中的層。
<所有圖層> - 將搜尋所有向量圖層,無論它們是否可見。
<選定的圖層> - 將搜尋「圖層」面板中所有選定的圖層,無論它們是否可見。
<可見圖層> - 將搜尋所有可見圖層。
特定圖層- 可以選擇 QGIS 專案中的任何向量圖層。選擇其中一項後,將啟用「搜尋字段」 ,並且預設會顯示<所有字段> ,但可以從圖層中選擇任何字段,並且搜尋將僅搜尋該圖層和字段。
您也可以使用專案變數searchlayers-plugin指定任何圖層,以僅顯示指定的圖層。變數的值指定為「圖層名稱,圖層名稱,...」。不存在的圖層名稱將被忽略。
您可以從 QGIS 選單中選擇「設定」->「選項...」 ,然後選擇左側的「變數」標籤來新增項目變數。點擊右下角的綠色加號以新增變數。在第一列輸入searchlayers-plugin ,然後在第二列中輸入逗號分隔的圖層清單。
將搜尋限制在畫布範圍內- 選取此方塊將限制搜尋以尋找目前畫布視窗視圖內的要素。如果您只對畫布視圖中的功能感興趣,這將大大加快搜尋速度。
每個功能報告一個結果- 搜尋字串可能與一個或多個屬性欄位中的內容相符。透過檢查此項,將僅報告每個功能的第一個匹配項。
僅搜尋選定的要素- 勾選後,將只搜尋 QGIS 中選定的要素。這是將搜尋限制在特定區域的一種方法。請注意,選中此選項後,單擊清單中找到的功能的正常互動將不會選擇該功能,原因很明顯;但是,縮放或平移操作仍然適用。
選擇以下功能時的縮放操作- 當找到並按一下匹配項時,這會影響發生的操作。
除非選取“僅搜尋所選功能”,否則所選功能將會反白顯示。 Shift->點擊將會反白顯示一系列功能。使用 Ctrl->Click 可切換是否選擇某個功能。
結果 -> 圖層- 點擊此按鈕會將所有找到的結果匯出到新的虛擬圖層。建議安裝Memory Saver 插件,以防止這些圖層在關閉專案後消失。
搜尋- 點擊此按鈕將開始搜尋。如果資料集很大,按一下「中止」將停止該程序。找到 2000 個匹配項後,搜尋將停止。
請注意,在「搜尋圖層」下選擇單一向量圖層並在「搜尋欄位」下選擇單一欄位時,搜尋速度非常快。如果不是這種情況,則使用正規表示式搜索,但速度很慢。將來這種情況可能會改變。
如果您用滑鼠右鍵點選搜尋結果項目,將顯示標題為「開啟記錄表單」的上下文功能表。
按一下「開啟記錄表單」將顯示該要素的屬性。如果圖層處於編輯模式,則可以修改要素的屬性並儲存它們。如果未處於編輯模式,您將能夠查看它們,但無法編輯它們。
此 QGIS 外掛程式使用兩種模糊搜尋演算法。一種是基於Levenshtein演算法,另一種是Soundex演算法。 soundex 實際上只適用於匹配發音相同的單字。這是一個螢幕截圖。