• 沒有找到結果。

第三章 系統開發

第三節 系統設計邏輯

本系統採學習平台與 WebGIS 服務整合模式,教材部分主要建構於學習平台 上,其中包含了教學與評量模組;而教材中不管是教學與評量模組皆需要讓學生 進行 WebGIS 軟體操作的部分,則先在 GIS 伺服器端發布網路服務,再將所發 布服務嵌入教學或評量活動中。以下分別就 GIS 網路服務與學習平台分別介紹:

一、GIS 網路服務

本 系 統中 的 WebGIS 功能由三種模 式進行 發布,分別是 Google Maps Javascript API、ArcGIS Server 與 GeoServer WFS 搭配 52north WPS,以下依序介 紹三種模式與其在系統中的應用時機:

(一)、Google Maps Javascript API

Google 自從在 2005 年初發佈 Google Maps 受到廣大使用者回應後,在同年 的年中也發布了 Google Maps API,讓一般使用者也可以在他們個人網站上使用 到 Google Maps 的服務。從一開始,Google Maps 就以 JavaScript 版本的 API 服 務,雖然後來才又開放出 Flash 版本的 API,但是由於其使用人數與 Javascript 版落差太大,便停止 Flash 版本 API 的開發,就目前為止 Google Maps API 的服 務以 Javascript 版本為主要大宗。由於經過相當一段時間的使用與後續開發,

Javascript 版本的功能已相當強大。

圖 3-5 為 Google Maps API 的運作模式,通常使用者藉由客戶端瀏覽器連入 第三方網頁伺服器中進行網頁瀏覽某一特定頁面,這時第三方網頁伺服器管理者 若想要讓使用者在這特定頁面使用到 Google Maps 的服務,便可以以 Javascript 的方式將 Google Maps 嵌入網頁中,讓使用者在此頁面可以看到 Google Maps。

而這時使用者便可以在這頁面當中的 Google Maps 進行拖曳、放大縮小,甚至 是查詢。若此時網頁伺服器管理者想要讓使用者可以使用更多 Google Maps 功能

51

(如利用 Google Maps 進行路徑分析)的話,只要修改該特定頁面的程式碼即可。

由於 Google Maps 本身已經擁有衛星影像、交通路網和大比例尺電子地圖的資 料,加上其高知名度,許多人已對其介面相當熟悉,而且若以其 API 進行 WebGIS 開 發 的 網 頁 屬 於 非 營 利 性 用 途 , 便 可 免 費 使 用 (https://developers.google.com/maps/documentation/javascript/usage?hl=zh-tw) 因 此 本研究在選擇 GIS 伺服器時,便將其列為必要選擇。

(二)、ArcGIS Server

ArcGIS Server 是由美商 ESRI 所發展出來的 WebGIS 伺服器軟體,其特點在 於開發文檔豐富,且具有相當數量之空間分析功能。由於雖然以 Google Maps API 來進行 WebGIS 服務具有免費的優點,但是還是有許多 GIS 的功能受到限制;相 對的,以 ArcGIS Server 開發雖然需要付出一定的軟體授權費,但因其開發文檔 豐富,且具有系統教材所需之空間分析功能,因此本研究也另外使用 ArcGIS Server 發布一系列 Google Maps 所缺乏的 WebGIS 功能,以補足教學所需。ArcGIS Server 的運作模式如圖 3-6 所示,GIS 伺服器由伺服器物件管理者(Server Object Manager, SOC)、伺服器物件匣(Server Object Container, SOC)與 GIS 資料庫所共 同組成。SOM 主要的功能是管理調度 WebGIS 的服務,而 SOC 則是負責裝載 WebGIS 服務。同時,我們也需要設立一個網頁伺服器,所負責的工作就是以 API 的模式跟 GIS Server 互相聯繫,並且接收外面使用者的連線查詢。當使用者 從客戶端以瀏覽器或客戶端軟體(如 Arcexplorer)向網頁伺服器送出查詢時,網頁 伺服器會將訊息傳送給 GIS 伺服器,GIS 伺服器會由 GIS 資料庫中抽取所需要的

Google Maps 伺服器

52

資料,匯入 SOC 中成為 WebGIS 服務,而 SOM 則負責將這個 WebGIS 服務送到 網頁伺服器,再傳到使用者面前。

(三)、GeoServer WFS 與 52north WPS

雖然 ArcGIS Server 已有發布空間分析服務的能力,但依系統教材規劃,本 研究預期開發出讓使用者可以直接針對特定圖層在遠端進行空間分析的 Web GIS 服務。由於要在遠端針對特定圖層進行分析勢必要發布 WFS 與 WPS 服務,

雖然 ArcGIS Server 也可發布 WFS,但是在 WPS 部分,ArcGIS Server 所發布的 Geoprocessing 服務只能針對虛無圖層進行演算(例如只能以點選地圖上一點,並 針對該點劃出緩衝區的環域分析,而非針對特定圖層或圖徵進行環域分析),而 且演算出來的結果圖層無法進行再次的空間分析,所以並不符合綜合分析教學活 動的的需求。而 52north WPS(http://52north.org)是目前技術相當成熟的 WPS 服務,

可用於提供適當的空間分析模組。但由於該服務僅專注在 WPS 上,若要讓使用 者可以在瀏覽器上進行空間分析,勢必得再提供 WPS 服務作為 52north WPS 執 行分析功能時之基礎圖層。目前與 52north WPS 相容性最佳的 WFS 伺服器軟體 為 GeoServer,因此若能透過適當的網頁編寫技術,編寫出可將 GeoServer 發布

圖 3-6 ArcGIS Server 運作模式

53 合使用時機如表 3-6 所示。以 Google Maps Javascript API 而言,由於其台灣地區 圖資量相當豐富,加上可以在非營利情況下免費使用,可作為系統中大部分 WebGIS 網頁之底圖。再者,其路網資訊也是三種 WebGIS 服務中最豐富者,因 此若要開發路網分析功能的網頁,也應以其為第一優先;而 ArcGIS Server 在三 者中開發文檔最豐富,且具有相當之空間分析模組,在開發上相對容易,因此可 用於開發屬性查詢、疊圖分析與地勢分析之功能;至於 GeoServer WFS 與 52north WPS 相互搭配所產生之服務,則屬於三者中與 Desktop GIS 最相近者,可針對特 定圖層或圖徵連續性地進行空間分析,故可用於開發環域分析與綜合分析功能。

表 3-6 系統內三種 WebGIS 服務之特色與適合使用時機

名稱 特色 適合使用時機

Google Maps Javascript API

1. 底圖圖資豐富

GeoServer WFS 與 52north WPS

1. 可高度客製化

54

表 3-7 系統內各學習項目所提供之 Web GIS 服務

學習項目 內容 服務來源 負責功能

屬性查詢 以文字輸入搜尋框方式,找出所搜 尋學校位置。

Google Maps API

ArcGIS Server 底圖、空間 分析

環域分析 直接繪出以河流周圍 300 公尺環 域,並與學校分布圖層疊圖,判斷 環域區域與那些學校校地重疊。

Google Maps API

Google Maps API

Google Maps API

Google Maps API

底圖

GeoServer WFS 提供相關圖 層

52north WPS 空間分析

55

當開發合於教學需求的 WebGIS 服務的同時,也需考量到適性平台的架設,

以及該如何與 WebGIS 服務整合的問題。以下謹就學習平台的建構,與其如何跟 WebGIS 服務結合加以說明。

二、學習平台之建構

1.系統平台架構

本系統在學習平台上所採用的 LAMS 是一套建構於 JBoss Application Server(JBoss AS)之上的適性學習平台,由於是以 JBoss As 為基礎,因此主要核 心由 JAVA 語言所寫成,主要功能為管理各種教學活動與評量,在系統中已有許 多安排教學活動之工具(如測驗、檔案上傳、心智圖等)可供使用,各個工具與系 統核心間以 API 模式進行溝通。在資料庫部份,系統中以 MySQL 建置學生基本 資料庫、教學活動資料庫、評量內容資料庫以及學生學習歷程資料庫以提供系統 實施適性呈現或適性導向之依據,而 JBoss AS 所產生之資料則透過 JDBC 寫入 MySQL。由於系統在設計時定位為一套可讓學生操作 WebGIS 之教學系統,因 此我們以 ArcGIS Server、Google Maps、GeoServer 與 52north Geoprocessing Server 所派送的 WebGIS 服務來達成此項需求,與其他系統內建的教學活動工具一樣,

地圖服務與系統核心之間則透過 API 模式來進行溝通 (圖 3-7)。

56

系統內分為三種使用者身分,分別為學生、教師與系統管理者。學生登入系 統後,即可接受系統所發佈之評量與教學活動進行學習,學習完畢後系統會自動 為學生產生學習狀況報表,讓學生了解自我學習狀況;教師則負責課程設計,其 中包含評量內容與教學活動的安排,當學生完成學習進度後,教師可登入系統掌 握學生學習狀況,以找出是否有經系統教學後仍需額外輔導之學生,並決定未來 課程設計是否需要更改;系統管理者則負責維護 LAMS 以及開發後端 WebGIS Server 的網路 GIS 服務,尤其是當教師們在評量或教學活動中需要特定的網路 GIS 服務時,系統管理者必須開發出適當網路 GIS 服務給予教師使用。

圖 3-7 系統設計架構

54

2.教學運作模式

以下藉由學生接受教學活動過程來展示系統之實作,其具體狀況如下。

當學生登入系統後,即可看見如圖 3-8 之畫面,我們採取一般網頁中三欄式 版型。左上角共有三個按鈕,分別為「重新開始」、「登出」與「匯出學習歷程紀 錄」,「重新開始」鈕是當學生不小心點錯連結時,可回到教學活動啟始點之用;

而「登出」則是學生在完成全部教學活動後登出系統之用;至於「匯出學習歷程 紀錄」則是可以讓學生們將自己在系統中學習的歷程以壓縮檔格式匯出,以便之 後檢討學習成果之用;而左側下方之欄位則是讓學生可以檢視自己在學習歷程中 的位置,以免在眾多連結間迷失之用。學生已學習過的項目,以「 」呈現,

學習中的項目則以「 」呈現,尚未學習者,則以「 」呈現;中間則是教學 活動欄,為整個網頁中欄為最大區塊,學生各個教學活動與評量皆在此欄中進 行。

55

圖 3-8 學生登入後畫面 1. 重新開始

2. 登出 3. 匯出學習歷

程記錄

學習歷程動線

教學活動欄

56

當學生接受各種 GIS 分析功能的診斷與教學時,即為系統實施適性教學的時 機。例如在學生進行疊圖分析的學習時,系統首先派送一題認知領域較低層級的 試題予學生(圖 3-9),若學生該題答錯,則給予適當回饋作為補救教學(圖 3-10),

答對則直接進入下一階段。

圖 3-9 疊圖分析認知領域診斷例題一

圖 3-10 疊圖分析認知領域診斷例題一作答回饋

57

接著系統再派送一認知領域較高層級的試題,若此時學生仍答錯(圖 3-11),

代表其對疊圖分析的認知層面仍有不清楚之處,應給予更詳細教學,因此系統直 接以教學活動進行補救教學(圖 3-12)。

圖 3-11 疊圖分析認知領域診斷例題二

58

待學生答對高層級認知試題或完成補救教學後,系統便派送技能試題給予學 生,此時若所需操作的 WebGIS 版面較小,便可採用直接嵌入教學活動欄方式,

否則則以超連結模式令學生在點選後另開視窗進行操作(圖 3-13)。若學生答對則

否則則以超連結模式令學生在點選後另開視窗進行操作(圖 3-13)。若學生答對則