Maison > Article > développement back-end > Comment pouvons-nous interagir efficacement avec les colonnes géométriques dans Golang à l'aide de Gorm et PostGIS ?
Insérer et sélectionner une géométrie PostGIS avec Gorm
L'insertion et la récupération de types de données géométriques dans Golang peuvent être difficiles, en particulier lorsque vous utilisez des bibliothèques comme Gorm. Cependant, en exploitant les fonctions ST_AsBinary() et ST_GeomFromWKB() dans PostGIS, nous pouvons interagir efficacement avec les colonnes géométriques.
Insertion avec orb.Point
Pour insérer un orbe .Pointez les données dans une colonne géométrique, nous enveloppons le point dans la fonction ST_GeomFromWKB() en utilisant la méthode Value() de EWKBGeomPoint. La méthode Value() dans notre structure personnalisée EWKBGeomPoint effectue la conversion avant de renvoyer la valeur à Gorm pour insertion.
Requête avec des données binaires
Lors de l'interrogation, Gorm appelle automatiquement la méthode Scan() de notre structure personnalisée EWKBGeomPoint. Dans cette méthode, nous recevons les données binaires de la base de données et les convertissons en orb.Point à l'aide de la fonction Unmarshal de la bibliothèque ewkb.
Déclencheur ou automatisation de règles
Pour gérer la transformation automatique des données vers et hors de la colonne géométrique, nous pouvons personnaliser le processus de migration de la base de données. Nous créons d’abord la table avec la colonne de géométrie en utilisant la syntaxe SQL standard. Après avoir créé la table, nous utilisons gormigrate pour créer le modèle Gorm et d'autres colonnes.
Cette approche garantit que tous les orb.Points insérés dans la base de données sont correctement convertis au format WKB et que toutes les données binaires récupérées de la base de données est correctement converti au format orb.Point.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!