2013年3月31日 星期日

OpenStreetMap 開放街道圖

OpenStreetMap是網路上一可以讓所有人編輯的地圖,是一網路地圖協作計畫,可以讓使用者依據GPS收集資訊、空拍和衛星影像或其他資訊編輯繪製地圖,該份地圖本來使用創用CC之姓名標示-相同方式分享方式授權,現已改為開放資料庫授權方式授權。

OpenStreetMap的使用案例之一為2010年海地地震時使用衛星影像映射道路,在兩天內建構出完整的海地地圖供救災援助使用。

目前台灣已有OpenStreetMap,tw以及社群致力於台灣OpenStreetMap的發展,並會定期舉辦活動集合編輯台灣之地圖。


參考資料:
openstreetmap.tw/
OpenStreetMap Foundation

JSON在Android應用


JSON (Javascript Object Notation) 是一種輕量級的資料交換語言,以文字為基礎,且易於讓人閱讀。目前在Android本身已包含了org.json的開發包 (Library),以下利用Android使用HttpURLConnection 讀取
Google Translate APIJSON資料。
目前Google Translate APIlibraries for多種語言,像說Objective CPHP Python…等
首先在AndroidManifest.xml 加入:
<uses-permission android:name="android.permission.INTERNET"/>開放網路的權限



接下來撰寫程式邏輯Java檔部分如下圖新增主要的程式碼,接下來撰寫程式邏輯Java檔部分如下圖新增主要的程式碼,首先建立連線,連結至 Google Translate API JSON資料並回傳至手機。


以下為執行結果圖,輸入android按下翻譯Button回傳翻譯結果

完整的Project存在Dropbox中,有興趣者可以下載

情境感知 (Context-Awareness) 應用 2

情境感知(Context-Awareness) 應用,

之前說到 醫療照護系統 方面的應用於 情境感知(Context-Awareness) 應用

這次說明,情境感知(Context-Awareness) 應用 於 智慧型手機,

現在幾乎人手一支智慧型手機,

智慧型手機 可以藉由自身的感測器去收集和捕獲用戶的情況,

來達到對使用者的服務,

例如透過GPS來收集資訊,定位使用者在何處,

GPS座標的應用加上感知也可以判斷A點到B點之間的距離多少,

只要感知取得數據再透過歐式空間的距離公式,

就可以提供使用者,A點到B點的距離,

以前透過GPS跟慣性感測器判斷,

你目前的狀態,

比如說,慣性感測器感測你目前的速度多少,

或是 得知你是的狀態是否在上網,

來得知用戶在靜態或動態,

得知的速度可以做數據分類,讓感知可以依據收集的資訊,

來做一個動態的判斷,步行的速度,跑步的速度,行車的速度。


參考論文:
LifeMap_A Smartphone-Based Context Provider for Location-Based Services

2013年3月29日 星期五

JavaScript的Library jQuery


使用jQuery 原因

  撰寫Javascript或許已經不是件困難事,因為Javascript在Client端執行動作而不浪費連線資源,讓許多網站開發者使用Javascript處理Client端資料Javascript在Web2.0使用變成不可或缺的工具,Javascript的資源也就日增月益。
  Javascript的最大問題是Internet許多瀏覽器,如Firefox、Opera、Safar等,沒有統一Javascript的資料處理。若使用Javascript進行AJAX功能,就會遇到Mozilla/Firefox已經提供XMLHttpRequest這個物件可用於進行 HTTP Request的動作,而 IE 上面卻要透過Microsoft.XMLHTTP這個ActiveX物件。撰寫後須要測試各瀏覽器

  Javascript Framework可以幫我們處理麻煩的相容細節,Framework 有所謂的功能導向,也就是說每一種 Framework 想要解決的問題都不見得相同。jQuery 主要目的是為了解決瀏覽器上的差異,讓我們用統一的方式就解決大部分的主流瀏覽器,當未來有新的瀏覽器規格問市時,我們只要更新Framework版本即可。同時,Framework還會針對常用的功能,提供簡便的公用函數,用較簡單寫法取代原本繁瑣的程式。而眾多Javascript Framework中, jQuery算是最能實現Do More With Less(寫得少,做得多)的精神,跟其它Framework相比,完成同樣工作,所需程式行數少得嚇人。


jQuery 

  jQuery 是一套JavaScript的Library也是Open Source Library,由John Resig於2006發表。透過Selector、函數串接、元素陣列整批處理等巧妙的語言特色,加上對HTML處理中常用的Event、Attribute、CSS Style、元素新增/刪除都使用簡易的寫法。原先需要多行的Javascript程式才能達到的功能,將原先複雜的Javascript程式寫法簡化,亦即Javascript能做到的功能,jQuery能做到且程式更精簡,也將Javascript不足的地方補強故深受許多Javascript開發者的廣泛使用。

jQuery 常用功能:

  • HTML 元素選取抓取HTML控制項參數
  • HTML 元素操作擴充/替換HTML控制項
  • HTML 事件函式
  • CSS 修改頁面外觀操作
  • JavaScript 特效和動畫
  • AJAX  非同步更新操作
jQuery 下載點
http://jquery.com/download/

jQuery-1.x.x.js – 此版本 jQuery 程式碼檔案未被壓縮過,用於研究 jQuery 的原始程式碼,下載此版本保留原有結構性。
jQuery-1.x.x.min.js – 此版本與 1. 是一模一樣的程式碼,把多餘的空白或是換行給刪去,壓縮整個 js 檔案,在線的網站上使用此版本可讓使用者下載量減少,以提升整個頁面的載入速度。


參考出處

VIM

多半使用者會覺得vim是vi的進階版

雖然vim多了許多新功能,也能編輯文件

但是vim原先開發目的是用來編輯程式語言

所以vim在開啟程式語言的檔案時

會以顏色區分程式碼和一般文字

vim主要新增了區塊選擇、多檔案編輯和多視窗功能

以方便編輯程式文件

參考資料:http://linux.vbird.org/linux_basic/0310vi.php#vi_vim_why

2013年3月28日 星期四

Rule

Rule就好比是程式語言中的If…then的用法,
在Jena API使用Rules時,只需要將原本的實例檔、知識本體再加上Rule檔案,
置入推論引擎中,推論引擎便會依照Rule的規則推論,推論出新的推論結果。
Rule的好處是原本的實例檔與知識本體,並無法做較複雜的關係描述,僅能靠Symmetric、InverseOf…等邏輯關係來做描述,一旦加上Rule之後,如果設立的條件符合便可以推論出最後的結果。

舉例:

(?a 父親 ?b)&(?a母親?c)->(?b夫妻?c)

(?a 父親 ?b)&(?b弟弟?c)->(?a叔叔?c)

如上面的例子,只要滿足了Rule所制定的條件,即可推論出新的關係。