使用Gorm 插入和選擇PostGIS 幾何
在Golang 中插入和檢索幾何資料類型可能具有挑戰性,尤其是在使用Gorm等庫時。然而,透過利用 PostGIS 中的 ST_AsBinary() 和 ST_GeomFromWKB() 函數,我們可以有效地與幾何列進行交互作用。
使用orb.Point 插入
插入球體將點資料放入幾何列中,我們使用EWKBGeomPoint 的Value() 方法將點包裝在ST_GeomFromWKB() 函數中。我們的自訂結構體 EWKBGeomPoint 中的 Value() 方法在將值傳回 Gorm 進行插入之前執行轉換。
使用二進位資料進行查詢
查詢時,Gorm 自動呼叫我們的自訂結構 EWKBGeomPoint 的 Scan() 方法。在此方法中,我們從資料庫接收二進位數據,並使用 ewkb 庫中的 Unmarshal 函數將其轉換為 orb.Point。
觸發器或規則自動化
為了處理資料進出幾何列的自動轉換,我們可以自訂資料庫遷移過程。我們首先使用標準 SQL 語法建立包含幾何列的表。建立表格後,我們使用 gormigrate 建立 Gorm 模型和其他欄位。
這種方法確保插入資料庫的所有 orb.Point 都正確轉換為 WKB 格式,並且從資料庫檢索所有二進位資料已正確轉換為 orb.Point 格式。
以上是我們如何使用 Gorm 和 PostGIS 與 Golang 中的幾何列高效互動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!