iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 4
0
Big Data

體育競賽及日常生活裏遇到的數據收集及分析系列 第 4

體育競賽資料收集器:羽球篇之四,數據輸入測試。

  • 分享至 

  • xImage
  •  

國內關於羽球運動的學術論文研究,
在台灣博碩士論文加值系統裏,以羽球關鍵字進行查詢,
結果是,

檢索策略:"羽球".ti(精準);檢索結果共 346 筆資料

如果把品牌行銷類,教育學習類,等和球員勝負無關的論文去掉,其中有不少針對球員的分析,

國內 男子羽球單打選手周天成競賽表現 之標記分析 ,新竹教大研究生黃智杰撰寫,如
我國羽球女子單打選手戴資穎之慣性技術分析,由北市大研究生戴靖潔撰寫,
而北市大 競技運動訓練研究所 研究生,對慣性技術分析似乎情有所宗,分別以
林丹,王適孄,李雪芮,諶龍等人為例,對擊球技術上做了不少分析,只是在研究過程中,
似乎少了開放數據的概念,做為開放源始碼運動的下一波:開放數據
進而可能相關,非直接的參與了大數據潮流的流行。這些開放運動的產物,其實在過程中,
很多時候,分享減少了重覆工作的浪費。把收集數據的時間/精力,可轉移到較具創意的
分析角度及面。

這些論文,對於資料的定義,做了一些工作,如

 

觀察項目

失球的位置

發球的落點

技術體系

國家辦不少國立大學,裏面也有不少傑出人才,如果把智慧的結晶有效的再利用,
至少先從可再利用的數據,數字開始,該有人出來整合一下,不然大家的研究好像原地
踏步。 


經過了4天的討論,可以試著開個TABLE, 寫入資料試試看。

這裏筆者以laravel 框架示範寫入 mysql 資料庫裏。

環境設定:

$ composer global require "laravel/installer"  
$ laravel new badminton

新增了一個取名叫badminton的專案目錄。

$ cd badminton
$ php artisan make:migration create_bmlog_table --create=bmlogs

進入專案目錄,開一個Table,

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateBmlogTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('bmlogs', function (Blueprint $table) {
            $table->increments('id');
            $table->string('eventId');
             $table->integer('totalScore');
            $table->string('hostId');
             $table->integer('hostScore');
            $table->string('guestId');
             $table->integer('guestScore');
            $table->integer('ballId');
             $table->string('location');
             $table->string('handType');
             $table->string('attackType');
             $table->string('controllType');
             $table->string('defenseType');
             $table->string('EndType');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('bmlogs');
    }
}

在laravel 專案的設定檔 .env 裏,設定db 連接資訊,

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=badminton
DB_USERNAME=root
DB_PASSWORD=*******

執行新增table 的指令。

$ php artisan migrate 

寫入一些測試資料。

新增一個寫入table的seeder,

php artisan make:seeder BmlogsTableSeeder

打開seeder檔,輸入3筆資料,

<?php

use Illuminate\Database\Seeder;

class BmlogsTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
         DB::table('bmlogs')->insert(
        [
	'eventId' => 'HK 2016 Sunrise',
	'totalScore' => 1+0,
	'hostId' => 'Tai',
	'hostScore' => 1,
	'guestId' => 'P.V',
	'guestScore' => 0,
	'ballId' => 0,
	'location' => '18,20-70,60',
	'handType' => 'FH',
	'attackType' => '',
	'controllType' => '',
	'defenseType' => '',
	'EndType' => '',
        ] );
        DB::table('bmlogs')->insert(         
       [
	'eventId' => 'HK 2016 Sunrise',
	'totalScore' => 1+0,
	'hostId' => 'Tai',
	'hostScore' => 1,
	'guestId' => 'P.V',
	'guestScore' =>0,
	'ballId' => 1,
	'location' => '13.5,20.9',
	'handType' => 'BH',
	'attackType' => '',
	'controllType' => 'LG',
	'defenseType' => 'BK',
	'EndType' => '',
        ]);
        DB::table('bmlogs')->insert(         
       [
	'eventId' => 'HK 2016 Sunrise',
	'totalScore' => 1+0,
	'hostId' => 'Tai',
	'hostScore' => '1',
	'guestId' => 'P.V',
	'guestScore' => '0',
	'ballId' => 2,
	'location' => '277,321',
	'handType' => 'BH',
	'attackType' => 'SM',
	'controllType' => '',
	'defenseType' => '',
	'EndType' => 'CLR',
        ] );
    }
}

把data寫入資料庫裏.

$ php artisan db:seed --class=BmlogsTableSeeder

再多輸入一些data, 就可以
驗証是否可達到預期的效果。


上一篇
體育競賽資料收集器:羽球篇之三,數據結構示意圖
下一篇
體育競賽資料收集器:羽球篇之五,輸入更多的數據及建立查詢來驗証。
系列文
體育競賽及日常生活裏遇到的數據收集及分析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言