我已經設置了一個openlayers html窗口,它與geoserver平臺進行通信。 Geoserver通過參數化視圖連接到數據庫,其中整個「where」子句是一個參數。Geoserver sql查看參數搞錯了postgis函數調用
我的問題是,當我在我的數據庫中創建的形式 的SQL查詢,測試版「b,其中b.point_id < 100‘’從選擇b.the_geom」 它的工作原理。
如果我發送一個視圖參數GEOSERVER:從 「測試版」 B%參數%<
- >選擇b.the_geom -
和參數是SQL語句的where子句我剛剛演示過的查詢,一切正常。
因此,我知道我的程序可以發送參數(完整的「where」子句)並將查詢輸出。例如,當ID爲< 40時,它顯示4點中的3點,如果ID爲<,則顯示全爲4.
但是,當我使用任何postgis函數比較幾何時,pgadmin中的sql查詢完美工作,並返回與第一部分中成功查詢相同類型的數據。例如,它會返回所有具有相同the_geom數字的幾何。
但是,當我實際上從html發送到地理服務器的where子句包含像ST_CROSSES(b.the_geom,c.the_geom)這樣的postgis函數時,沒有任何內容顯示在openlayers窗口中。
這怎麼可能?
我會做的第一件事是檢查日誌,看看a)如果你得到一個錯誤和b)什麼查詢實際上正在執行 – mlinth
我已經嘗試了上週,並設法打破一切。你在談論geoserver日誌或postgresql日誌嗎?我不能爲我的生活啓用postgresql日誌記錄,但與geoserver我仍然有機會 – JamesTR
好吧,我已經設法找到可能在geoserver日誌中相關的東西,它表明「1層請求,但發現2查看指定的參數「 – JamesTR