Inserting and Selecting PostGIS Geometry with Gorm Using ENCODING Functions
In retrieving and inserting geometric types using Golang and Gorm, leveraging the orb and geojson libraries' encoding functions offers a solution without requiring manual query building.
Querying Using Encoding Functions
To query a geometry column with orb, simply wrap the field in the ST_AsBinary function:
Similarly, to insert into a geometry column using orb, wrap the orb geometry value in the ST_GeomFromWKB function:
Scanning and Storing Using Encoding Functions
Custom scan and value methods can be implemented for Go structs to handle geometry data stored in specific formats.
For example, using geojson's encoding library:
Integrating into Gorm Model
The struct can then be used as a Gorm model, specifying the geometry field's gorm tag to use the custom scan and value methods:
Database Table Setup
To ensure the geometry column is stored in the appropriate format, customize the table creation:
This approach automates the handling of geometry data conversion, enabling seamless insertion and retrieval using Gorm and the specified encoding functions.
The above is the detailed content of How can I use ENCODING Functions with Gorm to Insert and Select PostGIS Geometry?. For more information, please follow other related articles on the PHP Chinese website!