Gorm を使用した PostGIS ジオメトリの挿入と選択
Golang での幾何学的データ タイプの挿入と取得は、特に Gorm などのライブラリを使用する場合に困難になることがあります。ただし、PostGIS の ST_AsBinary() 関数と ST_GeomFromWKB() 関数を活用すると、ジオメトリ列を効率的に操作できます。
orb.Point を使用した挿入
Orb を挿入するには.Point データをジオメトリ列に追加するには、EWKBGeomPoint の Value() メソッドを使用して、ST_GeomFromWKB() 関数でポイントをラップします。カスタム構造体 EWKBGeomPoint の Value() メソッドは、挿入のために値を Gorm に返す前に変換を実行します。
バイナリ データによるクエリ
クエリを実行すると、Gorm は自動的に呼び出します。カスタム構造体 EWKBGeomPoint の Scan() メソッド。このメソッドでは、データベースからバイナリ データを受け取り、ewkb ライブラリの Unmarshal 関数を使用して orb.Point に変換します。
トリガーまたはルールの自動化
ジオメトリ列へのデータの自動変換、およびジオメトリ列からのデータの自動変換を処理するために、データベース移行プロセスをカスタマイズできます。まず、標準 SQL 構文を使用して、ジオメトリ列を含むテーブルを作成します。テーブルを作成した後、gormigrate を使用して Gorm モデルとその他の列を作成します。
このアプローチにより、データベースに挿入されたすべての orb.Points が WKB 形式に適切に変換され、すべてのバイナリ データがデータベースから取得されます。 orb.Point 形式に正しく変換されます。
以上がGorm と PostGIS を使用して Golang でジオメトリ列を効率的に操作するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。