code: func (g *Geometry) Scan(value interface{}) error {
  	var data []byte
  
  	switch value.(type) {
  	case string:
  		data = []byte(value.(string))
  	case []byte:
  		data = value.([]byte)
  	default:
  		return errors.New("unable to parse this type into geojson")
  	}
  
  	return g.UnmarshalJSON(data)
  }
docs: // Scan implements the sql.Scanner interface allowing
  // geometry structs to be passed into rows.Scan(...interface{})
  // The columns must be received as GeoJSON Geometry.
  // When using PostGIS a spatial column would need to be wrapped in ST_AsGeoJSON.