另一方面,由於做GIS時,用到的kml檔,很容易讓excel當掉。所以本文就是教大家用SQL的指令,直接解決合併兩張表的問題。
我們用一個範例來探討吧:
給定的資料是一個sqlite的資料庫。這個資料庫taiwan_village_db,內含兩張表。一張表(taiwan_village)是全台灣的里的kml資料。第二張表(vote)則是柯文哲2014年在大安區的得票數。其中,第二張表(vote)是用中選會資料庫下載下來的CSV檔,匯入sqlite資料庫做成的。
我們想要達成的目標,就是做出資料輸出,它是一張表(table),內含第一張表與第二張表合併的結果。
(*)
下載的網址:
https://github.com/humorless/taiwan-village-KML/
在此處下載
taiwan_village_db 這個檔案。
可以點右邊的「Download ZIP」按鈕來下載。
( 下載下來的sqlite資料庫,可以使用sqlite browser這隻程式來開啟。同時,sqlite browser也可以用來下SQL指令。)
https://github.com/humorless/taiwan-village-KML/
在此處下載
taiwan_village_db 這個檔案。
可以點右邊的「Download ZIP」按鈕來下載。
( 下載下來的sqlite資料庫,可以使用sqlite browser這隻程式來開啟。同時,sqlite browser也可以用來下SQL指令。)
(*) 要合併兩張表,需要下的指令是:
select county||village, kml, name, number, percentage from taiwan_village, vote where county||village=area;
注意:
(1) county, village, kml是屬於taiwan_village表的欄位。name, number, percentage則是屬於vote的欄位。
(2) county||village 的部分之中的||符號,是用來連接兩個欄位。