2012年4月29日 星期日

台灣地圖一步一腳印

台灣地圖一步一腳印計畫實施中。

先以程式大概產生台灣地區經緯度座標,將這些點全部丟上Google Fusion Tables繪出。一邊排除不必要的涵蓋座標區,一邊確認程式產生出足夠的涵蓋點。

不過目前應該還不算是最佳化的涵蓋區域。尚有許多區域是不必要的。


佈滿紅點的台灣地圖

2012年4月26日 星期四

臺北公眾區免費無線上網熱點資料(地圖)

台北市政府公開資料平台提供臺北公眾區免費無線上網熱點資料,利用Google Docs的表格(table)功能來繪製成地圖形式呈現,就可以清楚看到基本上就沿著捷運線在蓋而已,難怪一直感覺不到這些熱點的存在。 ╮(╯▽╰)╭ 




點這裡看大圖


延伸閱讀:

2012年4月25日 星期三

ubuntu 更新 MySQL 資料庫時,先移除 /etc/mysql/ 內不相關的大檔案

這幾天發現 ubuntu 使用apt-get 更新新版 MySQL 資料庫時,一直無法短時間內安裝完成。top指令結果發現 egrep 吃掉了將近 9x.x%的CPU。ps -ef |grep mysql 後發現,安裝 .deb過程時的某行 egrep 指令正在檢查 /etc/mysql/ 目錄內的檔案。

忽然意識到,前些日子 mysqldump 的某個結果大檔(其實也僅有3xMB),就放在/etc/mysq/ 底下。猜想一下,決定壓縮、移開這個大檔案到其他目錄。

重新執行apt-get更新後,果然問題迎刃而解。

建議以後更新 ubuntu package時,除了可能存取 MySQL 的程式或Web Server先停止後,再停止 mysqld ,確認 /etc/mysql/ 目錄下沒有一些不相關的檔案內容,然後再執行更新。

$ su -
$ /etc/init.d/apache2 stop
$ /etc/init.d/mysql stop
$ cd /etc/mysql/; (檢查是否有不相關的檔案,暫時移至其他目錄下。)
$ apt-get update
$ apt-get dist-upgrade


碰巧遭遇此情況,提供各位參考。

#


2012年4月20日 星期五

台幣千元電腦

對於ARM架構-台幣千元電腦有興趣的朋友,可以到官網提供的網址留下聯絡方式。

看來有HDMI的電視也能升級成電腦了。

有買到或申請到的朋友,也可以分享一下喔~

替台灣地圖經緯度加上格線

Google Earth 匯入 KML 繪製格線
以每分為單位,替台灣地圖經緯度加上格線,並以KML檔案格式匯入Google Earth便於畫面呈現。

C程式原始碼 plotGridKML.c:

#include <stdio.h>


void main() {
   float latCount, lngCount;
  
   printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
   printf("<kml xmlns=\"http://www.opengis.net/kml/2.2\">\n");
   printf("  <Document>\n");
   printf("    <name>台灣絕對夠格</name>\n");
   printf("    <description>從東經120.0~122.0, 北緯21.9~25.3, 每一分為區隔</description>\n");
   printf("    <Style id=\"yellowLineGreenPoly\">\n");
   printf("      <LineStyle>\n");
   printf("        <color>7fffffff</color>\n");
   printf("        <width>1</width>\n");
   printf("      </LineStyle>\n");
   printf("      <PolyStyle>\n");
   printf("        <color>7f00ff00</color>\n");
   printf("      </PolyStyle>\n");
   printf("    </Style>\n");
   printf("    <Placemark>\n");
   printf("      <name>台灣絕對夠格</name>\n");
   printf("      <description>從東經120.0~122.0, 北緯21.9~25.3, 每一分為區隔</description>\n");
   printf("      <styleUrl>#yellowLineGreenPoly</styleUrl>\n");
   printf("      <LineString>\n");
   printf("        <extrude>1</extrude>\n");
   printf("        <tessellate>1</tessellate>\n");
   printf("        <altitudeMode>absolute</altitudeMode>\n");
   printf("        <coordinates>\n");
   
   for (latCount = 21.9; latCount <= 25.3; latCount=latCount+0.2) {
      printf("         120.0,%2.1f,2000\n", latCount);
      printf("         122.0,%2.1f,2000\n", latCount);
      printf("         122.0,%2.1f,2000\n", latCount+0.1);
      printf("         120.0,%2.1f,2000\n", latCount+0.1);
      printf("         120.0,%2.1f,2000\n", latCount+0.2);
   }
   printf("         122.0,25.3,2000\n");
   
   for (lngCount = 122.0; lngCount >= 120.2; lngCount=lngCount-0.2) {
      printf("         %3.1f,25.3,2000\n", lngCount);
      printf("         %3.1f,21.9,2000\n", lngCount);
      printf("         %3.1f,21.9,2000\n", lngCount-0.1);
      printf("         %3.1f,25.3,2000\n", lngCount-0.1);
      printf("         %3.1f,25.3,2000\n", lngCount-0.2);
   }
   printf("         120.0,21.9,2000\n");
   printf("        </coordinates>\n");
   printf("      </LineString>\n");
   printf("    </Placemark>\n");
   printf("  </Document>\n");
   printf("</kml>\n");
}


利用GCC編譯完成後,執行

$ gcc plotGridKML.c -o plotGridKML
$ plotGridKML > grid.kml

再將 grid.kml 匯入 Google Earth 即可。

#

2012年4月15日 星期日

清除 Apache2 的 mod_pagespeed 快取資料

有時候修改網頁檔案,卻一直發現似乎沒作用。很可能是Apache2 Page Speed Module 快取的緣故,建議還是執行下列步驟:

1. 瀏覽器內按下右鍵看網頁原始碼確認一次。

2. 關閉Apache2,並且刪除 Page Speed Cache 內已被快取的資料:
$ /etc/init.d/apache2 stop 
$ \rm -r /var/mod_pagespeedcache/*
$ /etc/init.d/apache2 start


避免浪費時間一直找不到問題。

#

2012年4月12日 星期四

亂數產生台灣地區行動門號 (C語言)


C語言範例。可能會產生重複號碼。建議搭配 sort、uniq 等程式使用。


===================================================
/*
* 自動產生行動電話門號測試清單 (台灣地區適用)
* Usage : randomMobileList <Number>
* Example : 產生50筆台灣地區行動電話號碼
* randomMobileList 50
* 注意事項: 可能會產生重複門號號碼
*/


#include <stdio.h>
#include <stdlib.h>


void main(int argc, char* argv[])
{
 int i, j;
 int forLimit;
 int a;

 srand(time(NULL));

 // argv[1] 為產生資料筆數, 預設為5筆
 if (argv[1] != NULL) {
forLimit = atoi(argv[1]);
} else {
forLimit = 5;
}

 for (j=0; j < forLimit; j++) {

    // 產生前四碼 0900~0989
a=(rand()%89)+901;
printf("0%d", a);
    
    // 產生後六碼
    for ( i=0; i < 6; i++) {
       a=(rand()%9)+1;
  printf("%d", a);
    }
    printf("\n");
 }


===================================================

2012年4月6日 星期五

Review of Mobile World Congress 2012

Review of Mobile World Congress 2012
View more presentations from Seungyun Lee

主講人資料:
Seungyun / Ph.D
Director of Service Convergence Standards Research Team
Standards Research Center,ETRI
Manager of W3C Korea Office


通信產業年度盛會 Mobile World Congress (MWC) 2012 的資料提供大家參考。

2012年4月1日 星期日

Chrome多工模式

Chrome 開放真正的多工模式囉~ 不曉得什麼是真正多工的朋友記得來官網看一下說明影片。




根據小編實測結果顯示如下:


發現這功能真是太實用了!當場省下買好幾支滑鼠的錢。我想製造滑鼠的廠商應該會跳出來控告Google壟斷吧!(誤)

#