概要
MySQLに入れたポリゴンデータを取得するのに、どんな型を使えば良いのか分からなかったのでメモ
orb.Polygon
の他にorb.Point
やorb.LineString
なんかも使えるので、空間系のデータを扱うのに便利そう
問題はgormや他のormでどうやって使えばいいのか分からない・・・
コード
query.go
import (
"github.com/paulmach/orb"
"github.com/paulmach/orb/encoding/wkb"
)
func Do() {
var polygon orb.Polygon
query := "SELECT ST_AsBinary(polygon) FROM areas WHERE MBRIntersects(GeomFromText('POLYGON((135.4949573 34.700436, 135.498854 34.697071))'), polygon)"
row := DB.QueryRow(query)
err := row.Scan(wkb.Scanner(&polygon))
}