• 沒有找到結果。

GIS的底層架構在選區劃分之應用 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "GIS的底層架構在選區劃分之應用 - 政大學術集成"

Copied!
72
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學資訊科學系 Department of Computer Science National Chengchi University 碩士論文 Master’s Thesis. 立. 政 治 大. ‧ 國. 學 ‧. GIS 的底層架構在選區劃分之應用. n. al. er. io. sit. y. Nat. Electoral Districting using Customized GIS Libraries. Ch. engchi. i n U. v. 研 究 生:崔元彰 指導教授:何瑁鎧. 中華民國九十九年十一月 November 2010.

(2) GIS 的底層架構在選區劃分之應用 Electoral Districting using Customized GIS Libraries. 研 究 生:. 崔元彰. Student:Yuah-chang Tsui. 指導教授:. 何瑁鎧. Advisor:Maw-kae Hor. 資訊科學系 碩士論文. 學 ‧. ‧ 國. 立. 政 治 大 國立政治大學. Nat. n. er. io. sit. y. A Thesis submitted to Department of Computer Science al v National Chengchi University i n Ch in partial fulfillment i URequirements e n g cofhthe for the degree of Master in Computer Science. 中華民國九十九年十一月 November 2010.

(3) 致謝 首先我要對何瑁鎧教授說聲謝謝,我在政大求學階段何老師教了我許多做人處事的 道理,這些遠比書本上的知識有價值,我覺得現在的我比剛進政大時成熟許多,當然我 還要感謝口試委員唐政元教授和詹進發教授,感謝你們給我的意見讓我順利修改論文, 離開政大後我會找機會和我的指導教授以及學弟妹聊聊近況。. 政 治 大 的很愉快,接者我想對瑞鴻、紹偉、姿旻、明龍、淑怡、浩蔚、澤毅、柏諺、黛珊、思 立 我想先和長紘、坤信、瑞陽、政君、振寰、宏敏、建達說聲謝謝,過去和你們相處. 采說聲謝謝,感謝現階段有你們的陪伴。特別要先感謝恭良因為認識星空的通識課以及. ‧ 國. 學. 生活上你提供我許多幫忙,特別感謝立軒因為你請我們吃了許多各地名產,也要特別感. ‧. 謝凱軒因為你一直都是我們的最好模範,最重要的是我要特別感謝逸帆大大因為你替我. y. Nat. 擋了許多次報告,我想和你說一日為大大終身都偉大,最後我想感謝教發中心的心慧因. er. io. sit. 為我覺得你是在政大裡我見過最善良的人,我代表紹偉和你說聲謝謝因為你介紹工讀生 的工作給紹偉,他才能過的衣食無憂,之後我們都會分道揚鑣,我們曾經是同學但永遠. n. al. 是朋友。. Ch. engchi. i n U. v. 最後我想和我的家人說聲謝謝,你們對我的默默支持我一直很感激,在出社會前都 是你們在照顧我,出社會後我會盡我所能減輕家裡的負擔,隨者年紀的增長越覺得家人 的重要,或許我在不久後也會成家立業,我希望在這之前能在社會上做出貢獻以不失你 們對我的期待,沒有你們過去的栽培我就不會有今天,想和你們說的謝謝實在太多了, 這些沒說出來的話我都放在心裡,我心中永遠都記著對你們說不完的感謝。.

(4) GIS 的底層架構在選區劃分之應用. 摘要. 選區劃分近年來在台灣一直是備受關注的問題,由於選舉法規的修改以及 行政區域的調整,選區必須重新調整,因此自動化的選區劃分方法也逐漸. 政 治 大 受到重視。過去的研究往往以不同的方法自動的劃分選區,而這類的方法 立. ‧ 國. 學. 常使用類似的功能進行選區劃分與評估。研究者彼此間缺乏一套可互享資. ‧. 源的標準或機制,往往導致新的研究者必須耗費甚多的時間來重新設計或. sit. y. Nat. 開發這些類似的功能。. er. io. 本論文中,我們提出一套機制以及整合此套機制的系統架構,可以減少自. n. a. v. l C 動化劃分選區軟體的開發成本。我們結合地理資訊系統內部結構,淬取圖 ni. hengchi U. 層中的線段,改良自動劃分選區所採用的單元,再利用線段在各圖層間的 相位關係,建立新的相鄰定義與相鄰關係,從而能改善選區劃分的方法與 劃分結果評估之效能。 實作中,我們以所有台灣 23 個縣市的圖層來測試我們的機制,實驗結果顯 示我們的機制可以有效的判斷選區邊界對選區形狀完整性造成的影響,同 時,採用淬取之線段來計算,能大幅降低評估選區形狀所需之時間。 i.

(5) Electoral Districting using Customized GIS Libraries. Abstract. Electoral districting has received more attentions in Taiwan in recent years due to the change of electoral regulations or the change of the administrative districts.. 政 治 大. As a result, automatic electoral districting mechanism has also gotten more. 立. attentions gradually. Previous researches used various approaches in solving. ‧ 國. 學. these problems and tend to adopt similar mechanisms in region districting or in results evaluation. The lack of standards or mechanisms in sharing the. ‧. developing resources yields tremendous time wasting in rebuilding such. er. io. sit. y. Nat. functions.. n. a In this thesis, we proposed a set of mechanisms v as well as the system. i l C n U this system, one can reduce h emechanisms. architecture that integrates these n g c h i Using the costs in developing automatic electoral districting software. We also designed a system architecture that integrates these mechanisms and helps to reduce the maintenance costs. We extracted the arc properties from the coverage data layer in GIS to improve the basic unit used in the automatic electoral districting. We proposed a new concept of adjacency relations and used the topological relations in various data layers to construct these new adjacency relations. Using these new relations, one could improve the electoral districting developing processes as well as the efficiency of performance evaluations. ii.

(6) We used all twenty-three counties and cities of Taiwan to test our mechanisms. Experimental results shown that our mechanisms could determine the influences of districts’ boundaries to the districts’ shapes effectively. Moreover, using the extract arcs, one could reduce the time required in evaluating the districts’ shape dramatically.. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. iii. i n U. v.

(7) 目錄 第一章 緒論...........................................................................................................................1 1.1 前言...........................................................................................................................1 1.2 研究動機..................................................................................................................2 1.3 問題描述..................................................................................................................2 1.4 論文貢獻..................................................................................................................5. 政 治 大 第二章 相關研究.................................................................................................................6 立. ‧ 國. 學. 2.1 地理資訊系統簡介...............................................................................................6 2.1.1 ArcGIS...........................................................................................................6. ‧. 2.1.2 Google earth..................................................................................................7. y. Nat. io. sit. 2.1.3 QGIS...............................................................................................................8. er. 2.2 選區劃分相關研究...............................................................................................8. al. n. v i n Ch 線性規劃法................................................................................................. 8 engchi U. 2.2.1. 2.2.2 基因演算法.................................................................................................9 2.2.3 人口二分法與多重選區劃分法............................................................9 2.2.4 質心范諾圖法..........................................................................................10 2.3 地理資訊系統的二次開發工具介紹............................................................10 2.3.1 ArcGIS engine............................................................................................11 2.3.2 shape.net......................................................................................................11 iv.

(8) 第三章 系統架構...............................................................................................................12 3.1 系統架構概觀......................................................................................................12 3.2 前處理....................................................................................................................15 3.3 程式集建立...........................................................................................................16 3.4 系統運作流程......................................................................................................18 第四章 底層機制..............................................................................................................20. 政 治 大 4.1 coverage結構.......................................................................................................20 立. ‧ 國. 學. 4.2 polygon-region的topology..............................................................................22. ‧. 4.3 arc-region的topology…......................................................................................23. sit. y. Nat. 4.4 村里間的topology.............................................................................................24. er. io. 4.5 相鄰程度...............................................................................................................26. n. a. v. l C 第五章 底層架構在選區劃分的應用 .......................................................................... 28 ni. hengchi U. 5.1 選區劃分的基本原則........................................................................................28 5.2 選區劃分的運作簡介........................................................................................28 5.3 搜尋交疊區域......................................................................................................30 5.3.1 交疊多邊形...............................................................................................31 5.3.2 交疊線段....................................................................................................32 5.3.3 交疊區域的相鄰關係判定...................................................................32 v.

(9) 5.3.4 交疊區域的 polygon 與 region 對映...................................................34 5.4 利用選區邊界評估選區形狀..........................................................................35 5.5 快速convex hull...................................................................................................37 5.6 能量場評估法......................................................................................................38 5.6.1 線段彎曲度.................................................................................................38 5.6.2 線段能量場...............................................................................................40. 政 治 大 5.6.3 線段在能量場上的評估值...................................................................40 立. ‧ 國. 學. 第六章 實驗結果...............................................................................................................41. ‧. 6.1 相鄰程度值與交疊區域...................................................................................41. sit. y. Nat. 6.2 選區形狀的評估實測........................................................................................44. er. io. 6.3 快速 convex hull 的實測...................................................................................47. n. a. v. l C 6.4 能量場的評估...................................................................................................... 48 ni. hengchi U. 第七章 結論........................................................................................................................51 7.1 結論.........................................................................................................................51 7.2 未來研究...............................................................................................................53 參考文獻...............................................................................................................................55 附錄 勤崴村里界地圖轉 KML.........................................................................................57. vi.

(10) 表目錄 表 6.1 表 6.2 表 6.3 表 6.4 表 6.5. 台灣一級行政區的村里平均相鄰程度和村里平均相鄰個數...................................42 兩選區的評估值...........................................................................................................45 台灣一級行政區的形狀評估.......................................................................................46 快速 convex hull 計算時間比較...................................................................................47 村里邊界在能量場上的評估值...................................................................................49. 圖目錄. 政 治 大. 圖 1.1 錯誤選區的示範.............................................................................................................3 圖 1.2 使用 convex hull 造成形狀完整性的誤判例子.............................................................4. 立. ‧ 國. 學. ‧. 圖 3.1 系統架構圖...................................................................................................................13 圖 3.2 polygon 和 arc 間的 topology.....................................................................................14 圖 3.3 系統運作流程...............................................................................................................18. Nat. y. sit. n. al. er. io. 圖 4.1 coverage 結構................................................................................................................20 圖 4.2 一個村里可包含多個 polygon.....................................................................................23 圖 4.3 同一條線段的 L/R polygon 和 L/R village...................................................................24 圖 4.4 相鄰關係的建置過程示意...........................................................................................25 圖 4.5(a) 弱相鄰.......................................................................................................................26 圖 4.5(b) 強相鄰.......................................................................................................................26 圖 5.1(a) 圖 5.1(b) 圖 5.2(a) 圖 5.2(b) 圖 5.3(a) 圖 5.3(b) 圖 5.4(a) 圖 5.4(b) 圖 5.5(a) 圖 5.5(b) 圖 5.6(a). Ch. engchi. i n U. v. 移出村里...................................................................................................................29 移入村里...................................................................................................................29 移出村里的人口和形狀修正...................................................................................30 移入村里的人口和形狀修正...................................................................................30 交疊多邊形...............................................................................................................31 交疊多邊形放大.......................................................................................................31 交疊多邊形之一般狀況圖.......................................................................................32 交疊多邊形之一般狀況大.......................................................................................32 兩村里交疊...............................................................................................................33 三村里交疊...............................................................................................................33 四村里交疊狀況一...................................................................................................34 vii.

(11) 圖 5.6(b) 四村里交疊狀況二...................................................................................................34 圖 5.7 交疊區域造成的對映誤差和對映失效.......................................................................35 圖 5.8 擷取選區邊界...............................................................................................................36 圖 5.9 點集合前處理...............................................................................................................37 圖 5.10 線段評估方式一.........................................................................................................39 圖 5.11 線段評估方式二.........................................................................................................39 圖 5.12 兩線段有相同大小 convex 但有效長度不同.............................................................39 圖 6.1(a) 交疊區域一...............................................................................................................41 圖 6.1(b) 交疊區域二...............................................................................................................41 圖 6.2 澎湖縣...........................................................................................................................43 圖 6.3(a) 複雜的交疊區域.......................................................................................................44 圖 6.3(b) 複雜的交疊區域放大...............................................................................................44 圖 6.4(a) 選區一.......................................................................................................................45 圖 6.4(b) 選區二.......................................................................................................................45 圖 6.5 台東縣為接近字串比較的 worst case..........................................................................48 圖 6.6 選區調整前...................................................................................................................49 圖 6.7 選區調整後...................................................................................................................50. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. viii. i n U. v.

(12) 第一章 緒論 1.1 前言 2005 年八月立法院通過立法委員選舉將採用新通過的單一選區兩票制[12],席次由 原本的 225 席減少至 113 席,選舉制度的變更及席次減少,首先需解決的是如何劃分選 區以符合新制度的要求[11]。選區劃分牽涉到許多政治問題,我們必須滿足中選會提出 的基本要求並且保持公正立場,然而目前選區劃分仍是以人工為主,以人工劃分選區不 但需要大量人力,再者大量人力的介入很難保證劃分過程的客觀性,因此自動化的劃分. 政 治 大. 方法是我們的出發點,透過不斷改良舊方法和設計新方法以求設計出力臻完美的劃分方. 立. 法。本研究的主要訴求是為選區劃分的開發者設計一套完善的支援機制,並且將這套機. ‧ 國. 學. 制整合在我們的系統架構中,未來的開發者可以將選區劃分的應用建置在我們的系統架 構上如此便可使用我們設計的機制來簡化選區劃分的開發過程,目標是希望開發者能利. ‧. 用我們的機制簡化選區劃分的演算法開發。. y. Nat. sit. 過去已有一些選區劃分的研究被提出,例如:砌磚法[2]、鄉村包圍城市法[2]、模擬. n. al. er. io. 退火法[9]…等,選區劃分也被一些研究人員認為屬於 NP-Complete 問題[16],適合使用. i n U. v. 最佳化演算法求解,然而此問題在 worst case 的時間複雜度為指數成長,目前沒有證明. Ch. engchi. 存在多項式時間的演算法能解決此類問題,以台北市有 449 個村里分成 8 個選區為例, 也只有以暴力法比較 8449 種情形後才能確定是否有找到全域的最佳解,在考慮現實的可 行性後,我們改用經驗法則或區域性的最佳化演算法來尋找多組可行解,我們過去的論 文中所提出的方法也都得到不錯的結果。 本研究的中心思想是改變選區劃分的評估單位,由於中央選舉委員會規定「村里為 最小劃分行政單位」,所以一般選區劃分的開發者在直覺上都習慣把村里當作劃分和評 估時的最小單位,本研究的最小劃分單位仍是村里但是我們把村里間相接的邊界當作最 小的評估單位,此改變的好處是現有的選區調整機制和選區形狀評估機制可以被強化, 因為在現有的機制加上新評估單位提供的判斷資訊能有更高的機率做出較好的判斷,此 1.

(13) 改變是希望選區劃分的開發者能得到更多的判斷資訊,而且我們會設計一套容易使用的 支援機制提供這些判斷資訊,此外我們還會把此套機制整合在我們的系統架構中,希望 選區劃分的開發者透過我們的系統架構可以在不考慮實作細節下便能得到新的評估單 位帶來的好處。. 1.2 研究動機 受 2005 年八月份修憲案的影響,立法委員選舉將採用單一選區兩票制,各行政區. 政 治 大 性,然而自動化的劃分法仍有改進空間,建置自動選區劃分的開發者勢必在劃分的演算 立 的選區勢必要重新劃分,若以傳統人工劃分可能會耗費過多的人力而且可能會有失客觀. ‧ 國. 學. 法上進行多次的改進,故我們希望提供一套完善的支援機制以便開發者能在多次改進演 算法的過程中花費最少的時間和心力。. ‧. 我們的機制是以提供村里間相接邊界的相關資訊為出發點,由於村里間相接邊界在. sit. y. Nat. 幾何上是一群線段的集合,所以我們之後在論文裡中會簡稱村里間相接邊界的相關資訊. al. er. io. 為「線段資訊」,我們的機制主要訴求是提供線段資訊給選區劃分的開發者是為了解決. v. n. 過去調整選區和評估選區形狀時忽略線段所造成的影響,由於過去習慣把村里當作劃分. Ch. engchi. i n U. 和評估時的最小單位,這樣的作法會在調整選區和評估選區形狀時產生較不易產生好的 結果,所以我們希望提供開發者一套擁有線段資訊的機制並把這套機制做成一個函式 庫,並且我們會把此函式庫建置在我們的系統架構中,由於我的機制是在系統底層提供 上層應用支援,故本論文中會將我們的機制稱為「底層機制」,所以設計一套能提供完 整線段資訊的底層機制是我們主要的動機。. 1.3 問題描述 過去自動劃分選區的方法是以村里為最小的劃分和評估單位,我們提出以村里相接 的線段為評估單位使調整選區和評估選區形狀時有較高機率得到較好的結果,另外過去 2.

(14) 研究者各自開發自行的方法往往忽略以模組化方式建構系統,這樣會造成開發好的方法 很難移植到新系統,我們的底層機制是透過我們的系統間接使用,我們希望開發者除了 得到底層機制的支援外也希望能降低未來更換系統架構的困難度。 我們的底層機制主要訴求是提供線段資訊,線段資訊可用來加強選區調整和選區形 狀的評估,選區調整是指在滿足選區連通性的前提下把選區中的某村里移至相鄰選區或 從相鄰選區移入某村里,如此以調整選區的形狀、人口和選票,選區的形狀評估是指利 用計算幾何學的方式評估選區的形狀完整性,過去我們還沒有提供底層機制前習慣用村. 政 治 大 是一個錯誤選區的示範,可以看出 A 和 E 嚴重影響選區的形狀完整性,A 的問題出在 立. 裡當作劃分和評估的單位,這會導致選區形狀評估的過程裡缺少線段提供的資訊,圖 1.1. 同一選區中和它相鄰的村里只有 B 且它們之間相接的邊界太短,這種現象可稱之為弱相. ‧ 國. 學. 鄰,E 的問題出在本身的形狀過於曲折,假設圖 1.1 是選區調整後的一個結果,此結果. ‧. 勢必會在選區形狀評估的階段被排除,讓弱相鄰和形狀曲折的村里不要在選區的邊緣出. y. Nat. 現即可解決圖 1.1 的問題,然而過去的研究無法有效的解決此現象,相對的,在缺少線. er. io. sit. 段資訊的狀況下必須花費較大心力處理這兩個問題,若使用底層機制提供的線段資訊即 可在減少選區調整階段的不良劃分結果,這代表選區形狀評估階段排除的不良劃分結果. n. al. 也越少。. Ch. engchi. i n U. v. 圖 1.1 錯誤選區的示範。 3.

(15) 過去我們用選區的範圍框和選區的 convex hull 來評估選區形狀的完整性,選區的範 圍框是指包圍整個選區所需的最小正交矩形,最小正交矩形是指要和地圖座標正交的前 提下所包圍整個選區的最小矩形,這兩個方法以 convex hull 較為精確,然而 convex hull 會誤判圖 1.2 的形狀為好的形狀,圖 1.2 為美國德州的 Nueces 郡,原因在於此形狀的面 積和其 convex hull 的面積非常接近,若此形狀改用面積除以周長的值即可排除 convex hull 造成的誤判,然而選區是一群村裡的集合,若沒有線段資訊便要花費較大的心力擷 取整個選區的邊界線段,此外 convex hull 的計算時間較大,若能擷取選區的邊界線段而. 政 治 大 發者沒有用底層機制提供的線段資訊來排除選區內部兩兩村里間相接的線段的情況 立. 非用選區內所有村里的邊界線段來計算選區的 convex hull 勢必能節省不少時間,過去開. 下,相對需要花費較大的心力才能達到我們底層機制提供的等效支援,現在開發者可以. ‧ 國. 學. 利用我們的底層機制提供的線段資訊解決 convex hull 造成形狀完整性的誤判以及花更. ‧. 少的時間得到選區的 convex hull。. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 1.2 使用 convex hull 造成形狀完整性的誤判例子。 4.

(16) 最後我們要說明為什麼我們不單獨設計底層機制的函式庫讓開發者直接使用,而是 要設計一個系統並把底層機制的函式庫整合至此系統中讓開發者透過我們的系統間接 使用底層機制,首先我們需要說明開發選區劃分的應用必須要讀取一級行政區的圖層檔 案,此檔案的格式是 shapefile,shapefile 是 ESRI 定義的向量檔案格式,其中 ESRI (Environmental Systems Research Institute)是美國環境系統研究所公司也是目前最大的 地理資訊系統技術供應商,如果我們沒有提供開發者一個能讀取 shapefile 的系統,這代 表底層機制必須能讀取 shapefile 才能讓開發者進行選區劃分的應用,然而這樣底層機制. 政 治 大 取 shapefile 的開放式原始碼專案當作我們的系統並把底層機制整合在此系統中,如此我 立 的函式庫必須依照 shapefile 白皮書[20]的規則來設計,也因此我們最後選擇了一個能讀. 們的系統便把底層機制的函式庫和處理 shapefile 的功能分離,也因此我們的系統便滿足. ‧ 國. 學. Object-Oriented GIS[14]的規範,Object-Oriented GIS 的概念是指圖層載入系統後會變成. ‧. 階層封裝的抽象物件而非單純的點座標集合,我們把底層機制的函式庫和處理 shapefile. y. Nat. 的功能分離還有一個好處,就是我們可以把底層機制的函式庫經過較少程式碼改寫的前. er. al. n. 1.4 論文貢獻. io. 機制的原因。. sit. 提下移植到其他系統架構中,這也是為什麼我們要設計一個系統讓開發者間接使用底層. Ch. engchi. i n U. v. 我們設計的底層機制可以讓選區劃分的開發者減少軟體的開發時間,底層機制提供 的線段資訊可以在調整選區和評估選區形狀時有較高機率得到較好的結果,另外我們還 提出強相鄰與弱相鄰的觀點,可更精確的判定村里相鄰關係,從而可得到較佳的選區形 狀,我們還提出一個快速計算選區 convex hull 的方法用來加速選區形狀的評估,最後我 們以模組化的精神設計了一個整合底層機制的系統架構,讓日後更換新系統的工作變得 更容易且免於使用需付授權費的 GIS 開發系統。. 5.

(17) 第二章 相關研究 本章會分三個重點介紹,首先我們會介紹幾個常見的地理資訊系統,我們的系統架構會 需要這些地理資訊系統的部分功能,接者我們會介紹選區劃分的相關研究,這些研究能 提供想了解選區劃分的研究者一些基礎概念,最後我們會介紹地理資訊系統的二次開發 工具,我們會分別說明此兩工具的特性,我們會選擇其中一個工具建置我們的系統架構。. 2.1 地理資訊系統的相關介紹. 政 治 大. 我們會先介紹常見的地理資訊系統是因為建構系統架構時會使用現有地理資訊系. 立. 統作的部分功能,這些功能包含檔案格式的轉換、座標系統的轉換,我們不會自行開發. ‧ 國. 學. 所有系統架構的功能而是從多個現有工具中找出我們要的功能並整合成一個便於開發 者建置選區劃分的系統,接下來我們會介紹系統架構中會使用到的工具。. ‧ sit. y. Nat. 2.1.1 ArcGIS. n. al. er. io. ArcGIS 是由 ESRI 開發也是目前佔有率最高的地理資訊系統,而主要版本有分成. i n U. v. desktop、server、mobile,其中我們會用到的是 desktop 版本,而 desktop 又依功能等級. Ch. engchi. 依序分成:ArcReader、ArcView、ArcEditor、ArcInfo 四種版本,ArcReader 主要的功. 能為查詢、瀏覽與列印 ArcGIS desktop 其他版本所創建的地圖資料,此地圖資料是 PMF 檔,PMF 檔可分成 2D 地圖或 3D 球圖,ArcReader 可免費下載使用,ArcView 含括 ArcReader 的全部功能,並增加地理資料視覺化、查詢、分析與整合能力,可建立與編輯地理資料, 並可藉由多種擴充模組增加進階的 GIS 分析能力,ArcEditor 含括 ArcView 全部功能, 還具備 shapefile 與 geodatabase 進階編輯工具、規則導向的位相式路網與幾何式路 網、地理資料庫關聯性管理、進階註記功能及製作管理不同版本資料,ArcInfo 含括 ArcEditor 全部功能,並增加進階地理處理、地圖文字配置與標籤等能力,是進行 GIS 資料生產、更新、查詢、地圖繪製與分析的最完整系統。 6.

(18) ArcGIS desktop 是由許多的應用程式組成,以包含完整功能的 ArcInfo 來說,應用 程式組件會包括:ArcMap(是最基本的應用程式組件,進行製圖、編輯、地圖空間分析, 但主要是用來處理 2D 空間地圖)、ArcCatalog(用來管理空間資料,進行資料庫的簡易設 計、並且用來記錄、展示屬性資料 metadata)、ArcToolbox(地理資料處理工具的主要集 合處,會整合在其他 ArcGIS 應用程式組件中)、ArcGlobe(以 3D 立體地球儀的方式來展 示、編輯、分析 3D 空間地圖)、ArcScene(展示、編輯、分析 3D 空間地圖)、ArcReader(基 本的展示工具)。. 政 治 大 供程式開發者建立客製化 GIS 桌上型應用程式的產品,其中包含了 ArcGIS Desktop 的 立 最後我們要介紹一套比較特殊的產品:ArcGIS Engine,ArcGIS Engine 是一套可提. 核心元件,並有多個擴充模組可延伸其功能,可以提供 GIS 解決方案給 GIS 的開發者或. ‧ 國. 學. GIS 的使用者。ArcGIS Engine 提供了 COM、.NET、Java、C++等開發環境使用的 API,. y. sit er. io. 2.1.2 Google earth. Nat. ArcGIS Engine。. ‧. 但是這是需要高額授權金額的產品,所以我們必須仰賴其他免費的工具和函式庫取代. al. n. v i n Google earth 是由 Google 開發的線上地理資訊系統,是一款虛擬地球儀軟體,它把 Ch engchi U. 衛星照片、航空照相和 GIS 布置在一個地球的三維模型上,Google earth 並不像 ArcGIS 著重於圖層的編輯,在空間資料的編輯和分析上遠不及 ArcGIS,Google earth 比較像是 能連到遠端資料庫的軟體,Google 提供公共領域的圖片、受許可的航空照相圖片、 KeyHole 間諜衛星的圖片和很多其他衛星所拍攝的城鎮照片,大多數地區的影像清晰度 都在 5 英里左右,幾乎每個國家的首都和主要大城市都提供了較為清晰的影像,基本擁 有 0.15 英里的清晰度,Google 地球有許多圖層包含:道路、3D 建築、街道檢視、邊界 和地名、交通、氣象…等,Google 提供的數據一般少於三年,Google earth 分為免費版 與專業版兩種,Google earth 在顯示上還有支援顯示卡的硬體加速,因此可以用 Google 7.

(19) earth 來呈現大規模的 3D 場景,此外在開啟了「Terrain」效果的情況下可以觀察到以 3D 方式顯示的高原、山地…等地形,甚至在 2009 年 2 月 2 日,google 公司宣布開始海底 地形服務,使用者可觀察到海面下的地形,大部分的地理資訊系統只支援 CPU,相較其 他地理資訊系統 Google earth 在顯示上有強大的優勢,所以我們會把圖層的視覺呈現交 由 Google earth 來顯示。. 2.1.3 QGIS. 政 治 大 費且公開原始碼的軟體,QGIS 是 OSGeo(Open Source Geospatial Foundation)的一個 立 QGIS 的全名是 Quantum GIS,和 ArcGIS 最主要的差別在於授權的種類,QGIS 是免. 開放專案,可讓自由軟體的愛好者參與此專案而且能跨平台使用,它可運行在 Linux、. ‧ 國. 學. Unix、Mac OSX、Windows 上,不像 ArcGIS 只能用於微軟的作業系統,可以在 QGIS 上呈. ‧. 現網路上的各種圖資(地圖資料如:WMS、WFS…等)及各種功能,QGIS 並不像 ArcGIS 是. y. Nat. 由 ESRI 單一公司開發,QGIS 中許多功能主要是其它開放源碼的專案或會寫程式的網友. er. io. sit. 貢獻的,所以不必像 ArcGIS 需付費購買 ArcGIS Engine 來做進階客製化,我們可以直 接修改原始碼或是增加插件即可增強原始 QGIS 的不足,或是從原始的程式碼中擷取所. al. n. v i n 需的功能至自行編寫的程式中,以在其他程式裡增添 QGIS 的部分功能。 Ch engchi U. 我們會使用到 QGIS 是用來把原始檔案轉成 Google eath 能用的座標系統、檔案格. 式以及字型編碼,由於勤崴科技提供的 shapefile 是 Big5 編碼且使用 TWD67-TM2 座 標系統,我們要把此 shapefile 檔案轉成 KML 格式並採用 UTF-8 編碼和 WGS84 的座標 系統,由於 ArcGIS 預設不支援 UTF-8 編碼且不支援轉換成夾帶屬性的 KML,我們會 把這方面的工作交由 QGIS 來完成。. 2.2 選區劃分的相關研究 2.2.1 線性規劃法 8.

(20) 此方法首先被 Hess[13]用來解決選區劃分,線性規劃是將給定的目標函式依照一個 以上的限制作最佳化調配,隨著限制條件增加問題的複雜度也隨之上升,這是此方法的 主要缺點。. 2.2.2 基因演算法 過去有用基因演算法[1]解決選區劃分的有李俊瑩和 Fernando,李俊瑩提出用範圍框 (bounding box)來評估選區形狀的好壞,如果選區面積除以範圍框的值越接近一代表該選. 政 治 大 的加權值越大代表収尋解的過程會以選區形狀作較優先的考量,但是在這裡的範圍框是 立. 區形狀越好,最後該值會帶入適存函式(fitness function)並乘上一個加權值,若該值乘上. 和座標系統 X 軸和 Y 軸正交的矩形,並沒考慮到傾斜的情況,若選區是一個傾斜 45 度. ‧ 國. 學. 的正方形會被誤判為較差的選區,而 Fernando 採用外接圓形評估選區形狀而非範圍框,. ‧. 如果選區面積除以外接圓的值越接近一代表該選區形狀越好,最後該值也是會帶入. y. Nat. Fernando 自定的適存函式中,圓形雖然沒有座標系統的夾角問題,但是有些在行政區邊. er. io. sit. 緣的選區會因自然疆界而造成狹長的現象,這些非人為造成的狹長選區都會因為用外接 圓來評估選區形狀而被判定為較差的選區,所以我們之後比較傾向採用凸多邊形(convex). n. al. 來評估選區形狀的好壞。. Ch. engchi. i n U. v. 2.2.3 人口二分法與多重選區劃分法 首先我們要介紹謝長紘的人口二分法[3],此方法主要是用在選區數為二的一級行政 區上,以挑選到的村里之中點當作扇形的起點,然後從 0 度開始增加扇形的夾角,當達 到人口的標準時停止扇形角度的增加,被扇形涵蓋的為第一選區,沒被扇形涵蓋的為第 二選區,我們可以透過選取不同的村里當作起始點以得到不同的劃分結果。 再來我們要介紹許宏敏的多重選區劃分法[5],此方法是透過遞迴呼叫人口二分法來 分割選區數大於二的一級行政區,此外在他的研究有提到不可分割區的概念,不可分割 9.

(21) 區主要是用來保護少數族群的候選人,我們可以將指定的數個相鄰村里設為不可分割 區,在分割時可以確保此區域的所有村里都被分到同一選區,此概念的額外優點可以減 少解集合的數量。 他們是先產生大量的解集合再做篩選,篩選的依據為: 選區的人口、選區的連接性、 選區的形狀,主要缺點是沒有考慮到二級行政區的完整性,在我們之後的研究裡吳振寰 有考慮到此問題的解法。. 政 治 大 使用范諾圖(Voronoi diagram) [7]是以產生漂亮的幾何形狀為出發點,這種方式產生 立. 2.2.4 質心范諾圖法. 的圖形一定是凸多邊形,如此可避免利用人為的方式劃分出不自然的選區,並利用刻意. ‧ 國. 學. 劃分的選區使得偏好的政黨能贏得額外的席次,此外吳振寰有考量到各村里的人口密度. ‧. 有很大的差距,即使各選區之間的人口差異很小但是面積也會相差很大,添加此概念後. y. Nat. 吳振寰採用改進的范諾圖—質心范諾圖來解決范諾圖的不足。. er. io. sit. 質心范諾圖和范諾圖最大的差異在於初始點(seed)的選取,seed 依據人口密度來分 佈,人口密度高的地方 seed 會比較多反之較少,再來會依據這些 seed 做范諾圖,最後. al. n. v i n 再作人口和邊界的調整並檢查是否滿足連接性,如果符合需求即對此結果做評估,重複 Ch engchi U. 以上的步驟我們可以得到多組結果,此套方法有滿足人口一致性、連接性、形狀完整性、 二級行政區完整性,只差選票的最佳化便能算是全面性的劃分法,在選票的分析是我們 日後的研究重點之一。. 2.3 地理資訊系統二次開發工具介紹 二次開發工具的目的在提供進階使用者在原始軟體做客製化,如此可讓不同需求的 使用者在同一套軟體上開發不同的應用,好處是軟體的公司不用建置過於龐大的軟體以 符合各種使用者的需求,而且開發者可以從既有軟體的核心上建置不必從頭規劃,本論 10.

(22) 文的其中一個目的是希望把底層架構建置成一套函式庫以便進階使用者作二次開發。. 2.3.1 ArcGIS Engine ArcGIS Engine 是一個以開發客製化的 GIS 應用程式為主的產品。ArcGIS Engine 提供的應用程式開發介面(API)有 COM、C#、Java 和 C++。這些 API 能讓開發人員能更快 速的建置基於以 ArcGIS 為核心基礎的應用程式,ArcGIS Engine 包括一套建置 ArcGIS Desktop 產品基礎的核心元件。使用 ArcGIS Engine 可以建置獨立執行的應用程式或擴. 政 治 大. 充現有的應用程式,以提供有空間資料需求的 GIS 與非 GIS 用戶。. 立. 2.3.2 shape.net. ‧ 國. 學. shape.net[21]是一個開放在 sourceforge 的原始碼專案,程式碼是由 C#語言撰寫,原. ‧. 本此專案是用來開啟標準格式的 shapefile 圖層檔案還有 dbf[19]格式的屬性表,一開始. y. Nat. 會選 shape.net 而非 ArcGIS Engine 主要是因為版權問題,還有 ArcGIS 系列並非開放原. er. io. sit. 始碼的軟體,即使是 ArcGIS Engine 也只提供使用者呼叫 API,並不能直接修改更底層 的程式碼,雖然 QGIS 也是開放原始碼的軟體但因為架構不如 shape.net 精簡且繪製圖層. al. n. v i n shape.net,最後再加上 C h C#編寫的程式有跨平台的特質所以我們選擇 engchi U. 的效率也略輸. shape.net 當作底層架購的核心,我們除了在 shape.net 上加入選區劃分的底層機制外,功 能方面還增加長寬比縮放、雙緩衝繪製、支援中文屬性表,進階的使用者可以利用我們 在 shape.net 上加入選區劃分的底層機制快速開發選區劃分演算法。. 11.

(23) 第三章 系統架構 我們的系統架構主要是給開發者建置選區劃分的應用,開發者可以透過我們的系統得到 底層機制提供的支援,由於選區劃分的應用是建置在我們的系統之上所以開發者可以將 我們的系統架構視為上層應用的底層架構,我們的系統架構包含使用地理資訊系統作前 處理和程式集的建立這兩個部分,本章開始會先介紹整體概念再詳細介紹這兩部分,最 後再說系統架構的運作過程。. 3.1 系統架構概觀. 立. 政 治 大. 我們的系統包含兩個主要部分,第一部分:圖層前處理和第二部分:程式集的建立,. ‧ 國. 學. 第一部分會牽涉到多個地理資訊系統的使用,而此部分主要的工作是檔案格式的轉換、 座標系統的轉換以及編碼的轉換,由於現有地理資訊系統已提供 此部分所有的功能所. ‧. 以我們不必再自行開發,但是我們在第一部分的需求並沒有辦法單獨採用一套工具完成. y. Nat. sit. 且操作上不是那麼的直觀,所以我們推薦兩個在測試後最符合我們需求的工具: ArcGIS. n. al. er. io. 和 QGIS,第一部分的工作只需做一次所以付出的人力成本並不大,第一部分的目的是. i n U. v. 希望能避免使用非通用的文字檔案來記錄圖層,我們把此處的詳細操作過程放在附錄. Ch. engchi. 一,在第二部分中我們需要自行編寫程式碼,而此部分主要的工作是整合 shapefile 函式 庫、編寫底層機制的函式庫、編寫使用者介面、嵌入 KML 標籤以及 Google earth COM API 的使用,第二部分的目的是希望未來想要介入選區劃分的研究者可以大幅度減少程式碼 的撰寫,而把精力放在核心的演算法上。. 12.

(24) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 3.1 系統架構圖。. 圖 3.1 系統架構圖中有包含兩個部分的詳細流程,在這裡指的系統架構也就是建置 選區劃分應用的底層架構,其中 region、polygon 和 arc 代表 coverage 的圖層,coverage 是 ESRI 早期定義的向量檔案格式且和 shapefile 相比多了 topology,我們用圖 3.2 介紹 其中一種 topology,我們可得知 polygon C 和 arc 2、arc4、arc9、arc6 相鄰,其他的 topology 13.

(25) 例如: polygon-region 的 topology、arc-region 和的 topology 都會建置在底層機制中,細節 會在第四章說明,而 region.shp、polygon.shp 和 arc.shp 是其轉成的 shapefile,矩形代表 一個功能,但是最後一項名為 Google earth 的矩形不被包含在系統架構的兩個部分中, 這是因為 Google earth 不是我們開發的,我們只是把選區劃分的結果交給 Google earth 作呈現,圖 3.1 中 Part I 和 Part II 會分別在接下來的第一部分和第二部分說明。. 立. ‧ 國. 學 ‧ y. sit er. io. ArcGIS:. 圖 3.2 polygon 和 arc 間的 topology。. Nat. 第一部份. 政 治 大. al. n. v i n shapefile:勤崴村里界的圖層,檔案為 shapefile 格式 Ch engchi U. coverage:這是由勤崴村里界圖層經 ArcGIS 轉換而來,差別在於原本 shapefile 只有 region 圖層,而 coverage 有 region、polygon、arc 三個圖層 region.shp:經 coverage 轉回的 shapefile 檔,用 region 為單位,這裡的 region 可 對應到實體地圖的村里(此檔案和勤崴村里界的圖層一樣,只有檔名不同 polygon.shp:經 coverage 轉回的 shapefile 檔,用 polygon 為單位,這裡 polygon 可對應到實體地圖的單一多邊形(一個村里可由數個多邊形組成) arc.shp:經 coverage 轉回的 shapefile 檔,用 arc 為單位,這裡的 arc 可對應到實 體地圖中兩個多邊形共用的線段 14.

(26) QGIS: transfer coordinate & encoding :轉換三份shapefile的座標系統和屬性表編碼 KML:Google earth 接受的檔案格式,此檔案是由 region.shp 經 QGIS 轉換得到. 第二部份 shapefile library & customized library:shapefile library 是讀取 shapefile 的函式庫, 此函式庫是 sourceforge 的一個專案並經過我們修改後的版本而 customized. 政 治 大 customized program:這裡是讓後續開發者套用選區劃分演算法的部分,唯一會 立 library 是包含選區劃分常用功能的函式庫也就是我們的底層機制. ‧ 國. 學. 要後續開法者開發的部分. GUI:這裡是我們提供顯示地圖幾何形狀的功能以及預設的人機介面. ‧. KML tag program:把 KML 中每個村里依據選區著色,以便透過 Google earth 顯. sit. y. Nat. 示選區劃分的結果,屬於非即時顯示. io. n. al. er. Google earth COM API:可透過此 API 直接操作 Goole earth,屬於即時顯示. 3.2 前處理. Ch. engchi. i n U. v. 前處理會是利用地理資訊系統來處理圖層,會用到的工具有:ArcGIS 和 QGIS, ArcGIS 在這裡主要的功能是把原始以 region 為圖層型態的 shapefile 輸出三份分別用 reion、polygon 和 arc 為圖層型態的 shapefile,依照圖 3.1 中的 Part I 可發現 ArcGIS 在輸 出這三份檔案時會產生 coverage 檔案,會用到 coverage 的原因是因為它同時包含 reion、 polygon 和 arc 三種型態的圖層,不像 shapefile 只能使用其中之一作為圖層的型態,但 是我們也不能直接使用 coverage 格式,因為此格式並不像 shapefile 被廣泛的使用,若使 用 coverage 格式我們就必須自行開發讀取 coverage 的程式,而且 QGIS 和圖 3.1 中的 shapefile 函式庫也將無法使用,意思是我們必須自行完成這些功能,故把 coverage 當作 15.

(27) 中間格式來產生三個採用不同圖層型態的 shapefile 是最合乎成本的方法,再來我們會使 用 QGIS 轉換座標系統、轉換編碼以及輸出 KML 檔案,轉換坐標系統其實可以在 ArcGIS 把原始 shapefile 轉成 coverage 前做,這樣只要轉換一個檔案的座標系統而非三個檔案, 但是卻會讓 ArcGIS 和 QGIS 交互使用,我們希望使用完一個工具後再使用下一個工具, 這樣彼此分工比較明確以免交互使用卻提高人為疏失的可能,會用到 QGIS 轉換編碼是 因為 ArcGIS 只支援 Big5 的中文編碼但不支援 UTF-8 編碼,UTF-8 是 Google earth 使用 的編碼,我們希望把結果用 Google earth 呈現所以需要做編碼上的轉換,然而只有變更. 政 治 大 風險,以安全性考量我們還是把轉換編碼的工作交由 QGIS,在轉換編碼後還需產生 立 系統登錄檔才能讓 ArcGIS 支援 UTF-8 編碼,由於變更系統登錄檔對作業系統是有一定. KML 檔,KML 是免付費版本 Google earth 唯一支援的圖層格式,而此功能 ArcGIS 也有. ‧ 國. 學. 支援,但是只能產生沒有標籤的 KMZ 檔案,KMZ 是 KML 的壓縮版本,此格式也被. ‧. Google earth 支援但是 ArcGIS 產生的 KMZ 並不包含標籤,也就是 shapefile 中的屬性表. y. Nat. 無法嵌入在 ArcGIS 產生的 KMZ 檔案中,所以此部分還是交由 QGIS 做,如此分配工作. er. io. sit. 我們可以利用 QGIS 集中處理座標系統的轉換、編碼的轉換以及 KML 的輸出,ArcGIS 和 QGIS 可以有明確且獨立的工作分配。. n. al. 3.3 程式集建立. Ch. engchi. i n U. v. 第二部分的工作是函式庫和圖形介面的建置,這部分的輸入是從第一部分輸出的 shapefile,而這部分會輸出結果至 Google earth,首先要讀取 shapefile,過去我們習慣先 用 ArcGIS 將 shapefile 轉成文字檔再自行編寫讀取文字檔的程式 ,由於原始 shapefile 是二進制的格式若有依照其規則可以快速的讀取檔案,但是我 們從 ArcGIS 轉出的文字檔是 ANSI 編碼的文字檔,不像二進制的檔案可以直接複製到 對應的欄位,文字檔必須先抓到一群不含空白的連續字元當作 token,並要辨識此 token 是為哪種型態的資料後才能放進對應的欄位,過去會讀取文字檔的原因是因為 shapefile 16.

(28) 的二進制規則複雜而且我們習慣只處理單一行政區,在這種情況下直接讀取文字檔並部 會造成太大的效能衝擊,但是我們這次想處理台灣所有選區數在二以上的一級行政區, 若要一一轉檔肯定是會花費額外時間且管理不便,過去我們有將文字檔序列化成二進制 檔案,雖然這樣可以大大減少讀檔的時間,但是此檔案只是我們自訂的一種二進制標準 並不是通用格式,接下來我們要介紹的是圖形介面,圖形介面分成兩個部分:基本幾何 的顯示和空照衛星圖,基本幾何是以 C#編寫的繪圖程式,這種顯示方式已能滿足大部 分的需求,過去我們都是採用此方式來顯示劃分後的選區,然而空照衛星圖就要仰賴. 政 治 大 earth 的 COM API,KML 標籤程式是將我們已儲存好的結果對 KML 檔案中每個村里作 立. Google earth 資料庫中的影像,為了達成此目的有兩種做法: KML 標籤程式和 Google. 著色,然後會產生新的 KML 並交由 Google earth 顯示著色的結果,Google earth 的 COM. ‧ 國. 學. API 不必將結果先儲存也不必建立一張未著色的 KML 檔案,這樣可以直接顯示而省去. ‧. 檔案匯入與匯出的時間,最後才執行記錄的動作,在產生新的選區劃分時是好的選擇,. y. sit. io. n. al. er. 而是好的選擇。. Nat. 但是有時我們只想觀看已產生的劃分結果而非產生新的選區劃分,那 KML 標籤程式反. Ch. engchi. 17. i n U. v.

(29) 3.4 系統運作流程. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 3.3 系統運作流程。 18.

(30) 圖 3.3 的系統運作流程指出在不同的開發階段的不同切入點,我們會解釋不同時機 分別要從系統架構的那些部分開始進行,首先我們要考慮產生新的選區劃分還是看過去 的劃分結果,若只是要看過去的劃分結果那只要透過 KML tag program 看歷史紀錄即 可,若要產生新的選區劃分則必須考慮是否有轉換過的圖層,若沒轉換過的圖層則必須 經過圖 3.1 中第一部分的流程,若有轉換好的圖層則要考慮是否沿用現有的演算法,若 後續開法者希望自行開法新的演算法則必須編寫新演算法的程式,若只想沿用現有的演 算法只需執行顯示的部分,如果只是想看簡單的幾何圖形可使用我們設計的 GUI 顯示,. 政 治 大. 如果想看衛星空照圖可透過 Google earth COM API 操作 Google earth。. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 19. i n U. v.

(31) 第四章 底層機制 底層機制指的是圖 3.1 系統架構圖中“shapefile library & customized library"中的 customized library,開發者可把底層機制當作抽象功能的集合以忽略實作細節。coverage 結構是用來描述 region、polygon、arc 間的 topology 以提供 region、polygon、arc 三種圖 層間的關聯及線段資訊,polygon 與 region 對映、L/R village、相鄰關係和相鄰程度 是提供選區劃分演算法的抽象操作,有了此函式庫後設計選區劃分的演算法即可忽略底 層機制的實作細節以減少開發時間,當然我們的系統架構不僅局限於選區劃分,若要進. 政 治 大 對底層機制做選區劃分的支援。 立. 行其他 GIS 的相關應用則必須在 customized library 中加上其他支援機制,在這裡我們只. ‧ 國. 學. 4.1 coverage 結構. ‧. 我們系統架構中的第一部分有提到 coverage 檔案,此檔案是由勤崴科技提供的. y. Nat. sit. shapefile 經 ArcGIS 所轉成的,然後我們會再把 coverage 檔案轉成三份 shapfile,會採用. n. al. er. io. 此轉換方式是因為 coverage 包含了 region、polygon、arc 三種圖層,然而 shapefile 只能. i n U. v. 包含其中一種圖層,再加上 shapefile 是較廣泛的檔案格式,故我們把 coverage 當作中間. Ch. engchi. 隔式轉成三份 shapefile 即可擁有兩個格式的優點,還有我們之前有提到採用村里間相接 的邊界當作最小的評估單位,這就是 coverage 裡 arc 圖層所提供的,圖 4.1 是 coverage 結構的示意圖。. 圖 4.1 coverage 結構。 20.

(32) 圖 4.1 中每條曲折線段都是一個 arc,這裡的 arc 指的是村里間相接的邊界也是 arc 圖層的基本元素,一條 arc 包含 SA、SX、SY、L 四個值,其中 SA 是面積分解值、SX 是 中心點 X 座標分解值、SY 是中心點 Y 座標分解值、L 是周長分解值也剛好是線段長, 由於 arc 只能用長度計算所以只有 L 有幾合上的意義,而 SA、SX、SY、L 的計算時機是 當一組 arc 圍成一個 polygon 時,我們可以把這群 arc 上的 SA、SX、SY、L 個別相加, 即可分別得到面積、中心點 X 座標和中心點 Y 座標,以下是這四個值的定義(假設此 arc 有 n 個點,點的編號:0~n-1):. 立. 1 n2  f (i) 2 i 0. 政 治 大 SA  n2. S X   ( xi  xi 1 ) f (i ) i 0. ‧ 國. SY   ( yi  yi 1 ) f (i ) i 0. 學. n2. n2. ‧. L   ( xi  xi 1 ) 2  ( yi  yi 1 ) 2 i 0. y. sit. Nat. f (i )  xi yi 1  xi 1 yi. al. er. io. 若需要得知一群 arc 組成的 polygon 的面積 A、中心點 X 座標 CX、中心點 Y 座標. v. n. CY、周長 Perimeter 只要帶以下公式即可(假設此 polygon 有 n 個 arc,arc 的編號:0~n-1,. Ch. engchi. i n U. 各 arc 有自己的 SA、SX、SY、L,我們用 S A j 、 S x j 、 SY j 、 L j 表示各 arc 的所屬分解值): N 1. A   S Aj j 0. Cx . 1 N 1  Sx 6 A j 0 j. CY . 1 N 1  SY 6 A j 0 j N-1. Perimeter   L j j 0. 我們要解釋以上公式成立的廣義條件,我們在上面有提到當一組 arc 圍成一個 polygon 時我們可以把這群 arc 上的 SA、SX、SY、L 個別相加,然而只要 arc 圍成單一封 21.

(33) 閉 polygon 或數個封閉 polygon,以上公式都能計算,而且沒有限定圍成的數個 polygon 要彼此相鄰,沒有限制一定要連續的 polygon 集合正是 region 所呈現的型態,而 region 是用來表示村里的單位,下頁圖 4.2 是一個擁有多個島嶼的村里,此村里正是一個不連 續的 polygon 集合,我們可以利用上面的公式計算此村里的面積、中心點 X 座標、中心 點 Y 座標和周長。. 4.2 polygon-region 的 topology. 政 治 大 個 region 內的其中一個多邊形,polygon-arc 的 topology 也可稱為 polygon 與 region 對映, 立 polygon-arc 的 topology 是指把 polygon 圖層中的某個多邊形對映至 region 圖層裡某. 此對映的前提是 region 圖層和 polygon 圖層都是由同一個 shapefile 所轉成的,我們知道. ‧ 國. 學. region 圖層紀錄的基本元素是村里,而 polygon 圖層紀錄的基本元素是多邊形,這代表. ‧. 由同一個 shapefile 所轉成的 polygon 圖層包含的多邊形數會比 region 圖層包含的村里數. y. Nat. 還多,因為函數關係只能多對一和一對一所以我們會設計 polygon 與 region 對映是從. er. io. sit. polygon 對至 region 而非 region 對至 polygon,若 region 圖層中的村里對至 polygon 圖層 中的多邊形會造成一對多的對映,如此並不滿足函數關係,圖 4.2 是屏東縣佳冬鄉塭豐. al. n. v i n 村,我們可以發現塭豐村是由多個島嶼和一塊內陸主體所構成,我們可將島嶼和內陸主 Ch engchi U 體都視為個別的多邊形,這些多邊形都屬於同一個村里,在 polygon 圖層裡這些多邊形. 都會有不同編號,但在 region 圖層裡這些多邊形會被放在同一個村里內,也就是說這些 在同一個村里內的多邊形只會有一個編號,意思是塭豐村內的多邊形在 polygon 圖層有 個別的編號但在 region 圖層編號都一樣,在對映的過程中我們會用到範圍框比對,我們 會允許對映過程有一些誤差,而且允許對映不存在,在理想的情況下對映到過程是不會 有任何誤差值而且 polygon 圖層中的每個多邊形都能對映至 region 圖層內某個村里內的 其一多邊形,會造成比對誤差和對映失敗是交疊區域的產生,交疊區域會在 5.3 詳細說 明。 22.

(34) 圖 4.2 一個村里可包含多個 polygon。. 政 治 大 arc-region 的 topology立 是指 arc 圖層和其他圖層間的對映關係,arc-region 的 topology. 4.3 arc-region 的 topology. ‧ 國. 學. 也可稱為 L/R village,arc 圖層紀錄的基本單位是線段,在原始的 coverage 的 arc 圖層中 只提供 L/R polygon,L/R polygon 紀錄了線段的左右相鄰多邊形在 polygon 圖層的編號,. ‧. 這代表 L/R polygon 只提供 arc 圖層和 polygon 圖層之間的關係,然而選區劃分是以村里. sit. y. Nat. 作為劃分的單位,我們比較希望知道一線段的左右村里在 region 圖層的編號而非左右多. al. er. io. 邊形在 polygon 圖層的編號,所以要建立村里間共用線段的關係也就是 arc 圖層和 region. v. n. 圖層之間的關係才能判斷兩村里是否相鄰,我們在此以圖 4.3 示範同一條線段的 L/R. Ch. engchi. i n U. polygon 和 L/R village,其中 PID 是指 polygon 圖層內的多邊形編號而 VID 是指 region 圖層中的村里代號,圖 4.3 中左方村里是台北市北投區湖田里,湖田里的村里編號是 450,右方村里是台北市北投區菁山里,菁山里的村里編號是 449,這兩個村里剛好都只 包含一個多邊形而這兩個多邊形在 polygon 圖層的代號分別是 1 和 2,利用 arc 圖層提供 的 L/R polygon 只能知道 polygon 圖層編號 1 和編號 2 的多邊形相鄰,並不能確定湖田 里和菁山里相鄰,然而上節提到的 polygon 至 region 的對映是 polygon 圖層和 region 圖 層的對映關係,而 arc 圖層提供的 L/R polygon 是 polygon 和 arc 的對應關係,所以我們 只要先用 L/R polygon 查出圖 4.3 中兩村里共用線段的左右 polygon 分別是 polygon 圖層 的編號 1 多邊形和編號 2 多邊形,再用 polygon 至 region 的對映即可得知此兩多別行分 23.

(35) 別屬於 region 圖層中的編號 1 村里和編號 2 村里,最後可得到此 arc 的左右村里也就是 湖田里和菁山里,以上範例就是 L/R village 的建置過程,L/R village 除了可得知線段的 左右相接村里還可用來建立相鄰關係,相鄰關係會在下一節介紹。. 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.3 同一條線段的 L/R polygon 和 L/R village。. sit. y. Nat. al. er. io. 4.4 村里間的 topology. v. n. 村里間的 topology 記錄村里周圍的相接村里,村里間的 topology 也可稱為相鄰關. Ch. engchi. i n U. 係,我們提出自動化建立相鄰關係的方法,利用我們的底層機制可以免於使用人力建立 台灣一級行政區的相鄰關係。過去在沒有考量三種型態(region、polygon、arc)的圖層關 聯之前我們是使用半自動的方式建立台灣各一級行政區的相鄰關係,所謂半自動的方式 是利用預先編寫的 Java 圖形介面顯示圖層並用人力做村里間的相鄰關係的點選,處理各 一級行政區所花的時間大約在 40 分鐘至一小時不等,事後還需要交給其他工作人員作 比對,雖然花費人力和時間不算太高但以人力建置難免會有疏失,例如兩村里相接的邊 界過短會被誤判成不相鄰,此方法最大的缺點是行政區內部有村里變動時就必須重新建 立相鄰關係,接下來要提出我們是如何自動化建置相鄰關係。 相鄰關係是利用 L/R village 建置,相鄰關係是村里間的 topology,我們只要掃過 L/R 24.

(36) village 便可得知所有村里間的相鄰關係,圖 4.4 可用來說明相鄰關係的建置過程例,假 設我們要找到圖 4.4 中村里 v1 的所有相接村里必須先找出和所有和 v1 相鄰的線段,假 設 arc1 和 arc2 是所有和 v1 相鄰的線段,arc1 的左右 village 分別是 v1 和 v2、arc2 的左 右 village 分別是 v1 和 v3,則我們可得知和 v1 相鄰的村里有 v2 和 v3,所以自動化的相 鄰關係建置是利用 L/R village 建置。. 立. 政 治 大. ‧. ‧ 國. 學 y. Nat. n. al. er. io. sit. 圖 4.4 相鄰關係的建置過程示意。. i n U. v. 建置相鄰關係的過程中我們會同時紀錄相鄰村里間的共用線段,我們要說明相鄰村. Ch. engchi. 里間的共用線段和 L/R village 的差別,相鄰村里間的共用線段是輸入兩相鄰村里然後輸 出一條共用線段,L/R village 是輸入一條共用線段然後輸出兩個相鄰村里,我們可視相 鄰村里間的共用線段和 L/R village 為反關係,這代表 L/R village 為 arc-region 的 topology 而相鄰村里間的共用線段為 region-arc 的 topology。紀錄共用線段可以進一步建立相鄰 程度,相鄰程度我們會在下節提到,相鄰關係紀錄了一個村里外相鄰的所有村里,再加 上我們有紀錄相鄰村里間的共用線段,這代表我們能利用相鄰關係和相鄰村里間的共用 線段查出一個村里的各個邊界分別是屬於 arc 圖層中各自對映的線段編號。. 25.

(37) 4.5 相鄰程度 相鄰程度是指兩個村里相接的多寡,可定義為”共用邊長/小村里的周長”,我們習慣 把兩相鄰程度太小的村里視為不相鄰,可避免類似下面圖 4.5(a)的情形,意思是村里 1 和 2 之間至少要有一個以上的強相鄰村里,我們也可把相鄰程度太低的兩村里視為不相 鄰,故此兩村里若是在同一選區且又視為不相鄰,這樣代表兩弱相鄰村里間必須至少有 一個相鄰程度較強的村里才能滿足選區連續性,把弱相鄰視為不相鄰可以當作一種避免 選區邊緣形狀過於畸零的一種策略。. 立. 政 治 大. ‧. ‧ 國. 學 er. io. sit. y. Nat. al. Ch. v. 圖 4.5(b) 強相鄰。. n. 圖 4.5(a) 弱相鄰。. engchi. i n U. 相鄰程度可以看成相鄰關係配合相接村里間的線段,要注意的是一條線段左右各只 會有一個 village,但是兩相鄰村里可能共用一條以上的線段,我們有在底層機制建置這 個細節。 我們提出把弱相鄰視為不相鄰的觀點,利用此觀點調整選區所帶來的主要好處是可 以避免選區邊界出現畸零的形狀,此外還可以減少調整選區所需的時間以及形狀評估時 也有較大的機會保留劃分出來的選區。過去調整選區時是以相鄰關係維持選區的連通 性,只要相鄰關係中有紀錄兩村里相鄰就必須納入調整選區時的考量,我們可以利用相 鄰關係維持選區連通性的前提下把某村里移出或移入選區以調整形狀、人口和選票,然 26.

(38) 而把所有相鄰的村里都納入調整選區時的考量並非沒有缺點,癥結在於相鄰關係只記錄 兩村里是否相鄰而沒紀錄兩村里相鄰的多寡,我們在相鄰關係上配合線段資訊以得到兩 村里共用的線段,如此便可得知兩村里的相鄰多寡,兩弱相鄰的村里可在選區劃分的應 用中視為不相鄰,這暗示被視為不相鄰的兩弱相鄰村里間必須要有其他和此兩村里相鄰 的強相鄰村里才能滿足選區的連通性,我們的想法是在調整選區時移出或移入某村里會 造成弱相鄰的狀況就不予考慮,把這些會造成選區形狀畸零的狀況排除在調整選區的過 程即可節省調整選區時所花的時間,過去只考慮相鄰關係下會出現兩弱相鄰的村里間沒. 政 治 大 性,如此情況下產生的選區勢必在形狀評估時被排除,這樣又要在形狀評估時花費時間 立 有其他村里相接的情況,假如弱相鄰的情況發生在選區邊緣會造成選區不滿足形狀完整. 排除不好的選區劃分結果,假如將兩弱相鄰的村里視為不相鄰且此兩村里在同一選區的. ‧ 國. 學. 情況下,此兩村里間勢必出現其他村里相接,有了其他村里填補在此兩村里間即使此兩. ‧. 村里出現在選區邊緣出現畸零形狀的機率也會減低,之後的形狀評估時也有較大的機會. y. Nat. 保留劃分出來的選區,理想上形狀評估階段能排除越少的選區劃分結果代表選區調整階. er. io. sit. 段做的越好,也代表形狀評估階段浪費的時間越少,所以把弱相鄰視為不相鄰的觀點會 影響選區調整和形狀評估時期的效率。. n. al. Ch. engchi. 27. i n U. v.

(39) 第五章 底層架構在選區劃分的應用 我們開發的底層架構有多種 GIS 上的應用,由於我們無法窮舉所有應用,在此我們用底 層架構處理 GIS 的特定問題以及選區劃分的評估機制作為應用的範例,我們在此提到的 GIS 問題也會在選區劃分時遇到,所以本章的重點可以看成如何利用底層架構提供的機 制處理特定 GIS 問題和加強過去選區形狀評估方法的不足。本章的應用會包含在圖 3.1 系統架構圖中 customized program 之內,從圖 3.1 可看出這些應用會使用到底層機制提 供的功能,也就是會使用到圖 3.1 中的 customized library,本章會先介紹選區劃分的基. 政 治 大 能量場評估法但是只提供模擬的結果,我們下一章的實驗結果會著重在 5.3~5.5 提出的 立. 本原則然後再說如何利用底層架構加強過去選區形狀評估方法的不足,本章最後會介紹. ‧. ‧ 國. 學. 應用。. 5.1 選區劃分的基本原則. y. Nat. sit. 在說明系統架構前我們必須先解釋選區劃分的基本原則,第一點是各選區人口數與. n. al. er. io. 該直轄市、縣(市)的人口數除以應選名額所得值相差在正負 15%之內,第二點是同一. i n U. v. 選區的村里一定要相鄰,第三點是盡可能保持二級行政區的完整性,若二級行政區之人. Ch. engchi. 口數滿足第一點的條件時,應將此行政區劃分為一個選區,若二級行政區之人口數超過 平均人口 15%以上,我們勢必將此行政區分割一部分至相鄰的選區,如此才可滿足第一 點的條件,原則上希望同一個二級行政區盡可能分給兩個以內的選區,而且同個選區盡 可能包含較少的二級行政區。. 5.2 選區劃分的運作簡介 要使用我們的系統開發選區劃分的演算法必須遵守我們的規範,系統架構第一部分 的前處理可參照附錄一,詳細的細節和注意事項都記錄在附錄中,我們在這邊會介紹抽 28.

(40) 象的概念而非工具的使用。 底層架構提供讀取 shapefile、顯示圖層以及選區劃分的基本功能,由於選區劃分有 很多種方法,所以我們無法提供所有的方法所需的基本動作,我們提供的基本功能是以 調整初始選區為出發點,基本選區可自行定義或是依照中選會公布的結果,過去我們習 慣採用中選會劃分的選區,若是採用非初始選區的做法本系統也是能提供讀取 shapefile 和顯示圖層的功能,這樣還是能減少許多開發時間,畢竟讀檔和顯示所需的程式碼還是 大於選區劃分的基本功能許多。. 政 治 大 去最大的差別在於線段彎曲度,這是要以村里間相接的邊界當作最小的基本單位才能提 立. 我們提供的選區劃分基本功能包括:移出村里、移入村里、線段彎曲度,這裡和過. 供的方法,線段彎曲度會在下一節介紹,下面圖 5.1(a)和圖 5.1(b)是移出村里和移入村里. ‧. ‧ 國. 學. 的示意。. n. er. io. sit. y. Nat. al. Ch. engchi. 圖 5.1(a) 移出村里。. i n U. v. 圖 5.1(b) 移入村里。. 圖 5.2(a)是把 A 村里從所在的選區移至相鄰的選區,圖 5.2(b)是把 x 村里從相鄰的 選區移入至所在的選區,然而這沒有考慮到人口是否大於或小於中選會的要求,因為移 出和移入村里會改變選區人口,所以往往移出一個村里就要移入一個村里,若考慮到人 口因素和形狀改善則圖 1.1 的錯誤示範選區可以修正成以下結果。. 29.

(41) 圖 5.2(a) 移出村里的人口和形狀修正。 圖 5.2(b) 移入村里的人口和形狀修正。. 立. 政 治 大. 圖 5.2(a)在移出 A 村里後希望移入村里以平衡人口的下降,F 村里是首選因為這樣. ‧ 國. 學. 可以增加人口的同時並改進 E 村里造成的曲折邊緣,圖 5.2(b)在移入 x 村里後希望移出 村里以平衡人口的上升,E 村里是首選因為這樣可以減少人口的同時並改進自身造成的. ‧. 曲折邊緣,但是以形狀的考量上我們又會想移入 y 村里,由於 x 和 y 村里是比較大的村. y. Nat. sit. 里假設人口比正常的村里還多,所以我們除了移除 E 村里外再繼續移除 G、H、I 村里,. n. al. er. io. 最後得到圖 5.2(b)的結果。. 5.3 搜尋交疊區域. Ch. engchi. i n U. v. 交疊區域發生在行政區邊界,基本上一個製作良好的地圖不應該有交疊區域,會發 生交疊區域的地圖可能有以下因素: 一.製作誤差、二.行政區重新劃分時只調整變更區 域、三.用 ArcGIS 的幾何簡化工具處理原始圖層,交疊區域的面積都非常小,大部分的 應用都不會有太大的影響,選區劃分基本上也可以忽略交疊區域,但是會有極少部分的 相鄰關係會受影響,這節會討論交疊區域的定義和對相鄰關係造成的影響,由於圖層的 有多種基本單位,在 region 圖層我們稱此區域為交疊區域、在 polygon 圖層我們稱對應 此區域的多邊形為交疊多邊形、在 arc 圖層我們稱此區域的邊界為交疊線段。 30.

(42) 5.3.1 交疊多邊形 交疊多邊形是因為原始 region 圖層有交錯區域,把 region 圖層轉換成 polygon 圖層 後原本的交錯區域變成 polygon 圖層中的新多邊形,使得 region 圖層中所有 region 包含 的多邊形數小於 polygon 圖層中的多邊形數,也就是說交疊多邊形無法從 polygon 圖層 對應到 region 圖層,圖 5.3(a)是交疊多邊形的例子。. 立. 政 治 大. ‧. ‧ 國. 學 y. Nat. 圖 5.3(b) 交疊多邊形放大。. er. io. sit. 圖 5.3(a) 交疊多邊形。. al. n. v i n 圖 5.3(a)中的 A 和 B 共用的線段即是交疊區域,而圖 5.3(b)是此區域的放大圖,從 Ch engchi U. 圖 5.3(a)在 region 圖層中會有三個區域但轉成 polygon 圖層卻變成四個多邊形,假設圖 5.3(b)的黃色區域叫做 D,這樣會使得 A 和 D 相鄰、B 和 D 相鄰但 A 和 B 卻不相鄰, 意思是說圖層的誤差會使相鄰關係改變但這種情況很少見,除非是兩多邊形間完全被交 疊多邊形隔開,正常情況會如圖 5.4(a)所示,圖 5.4(b)的狹長區域是圖 5.4(a)的放大,此 例中交疊多邊形沒有完全把相鄰的兩 region 隔開,所以相鄰關係不會因為交疊多邊形改 變。. 31.

(43) 政 治 大 圖 5.4(a) 交疊多邊形之一般狀況圖。 圖 5.4(b) 交疊多邊形之一般狀況大。 立. ‧ 國. 學. 5.3.2 交疊線段. ‧. 交疊線段的定義是交疊多邊形的邊界,一個多邊形有多個線段所以在 region 圖層有. y. Nat. 交疊區域,轉換成的 polygon 至少增加一個交疊多邊形,而轉換成的 arc 圖層至少增加. er. io. sit. 兩個交疊線段,交疊線段幾乎和鄰近的交疊線段平行而且間距非常接近,可以把交疊線 段視為極為狹長的矩形,由於間距很近所以圍成的交疊多邊形面積很小,雖然交疊多邊. al. n. v i n 形是狹長形但是其周圍的多餘線段都不長,若原始兩 region 被交疊多邊形完全隔開且交 Ch engchi U. 疊多邊形視為狹長矩形的前提下,隔開的間距是此矩形的短邊,由於此矩形的短邊非常 小可忽略,兩 region 相接的線段是此矩形的長邊也就是交疊線段,然而此矩形的長邊和 其他在 arc 圖層的正常線段相比仍是很短,所以被交疊多邊形完全隔開的兩 region 在絕 大部分的情況下都是弱相鄰,所以在選區劃分可以忽略交疊線段的影響。. 5.3.3 交疊區域的相鄰關係判定 交疊區域會使 region 圖層轉成 polygon 和 arc 圖層分別增加交疊多邊形和交疊線 段,雖然這兩個問題都不會對選區劃分的結果造成太大的影響,但是我們還是要探討如 32.

(44) 何判定受交疊區域改變的相鄰關係以求得到更正確的結果。 我們建置相鄰關係的第一步是先建立 polygon 和 region 的對映,然後再利用 L/R polygon 表確定 arc 和 polygon 的對映,最後即可知道每個 region 周圍的 arc,但是若 region 圖層出現交疊區域會使得 polygon 圖層的交疊多邊形對應不到此交疊區域,原因在於交 疊區域在 region 圖層是沒有被定義的,是因為製圖誤差所造成的些微重疊,如此情況把 原始 region 圖層的 shapefile 轉成 coverage 就會在 polygon 和 arc 圖層出現交疊多邊形和 交疊區域,交疊區域最大的影響就是相鄰關係會改變,但是我們在前面有提到交疊區域. 政 治 大 也可以忽略,因為交疊線段通常都很短所以此兩相鄰的村里的相鄰程度值勢必很低,我 立 除非是完全阻隔在兩相鄰村里間,否則相鄰關係不受影響,即使是會有影響到相鄰關係. 們之前有提到把弱相鄰的兩村里視為不相鄰可以避免選區邊緣出現畸零的形狀,一般而. ‧ 國. 學. 言我們是不判定受交疊區域改變的相鄰關係,不過我們提出兩個可以判定的情況,交疊. ‧. 區域會發生代表至少有兩個以上的村里邊界交疊,而我們可以判定的相鄰關係是三個以. y. Nat. 下的村里交疊,圖 5.5(a)和圖 5.5(b)是三個以下的村里交疊,判定方式是將與交疊區域相. er. io. sit. 鄰的村里視為彼此相鄰,也就是將圖 5.5(a)和 5.5 圖(b)的平行線視為一條線,這樣就等 於移除交疊區域,交疊區域兩側的村里舊部會被隔開且我們能將這些被交疊區域隔開的. n. al. 村里視為彼此相鄰。. Ch. engchi. 圖 5.5(a) 兩村里交疊。. i n U. v. 圖 5.5(b) 三村里交疊。 33.

數據

圖 3.2 polygon 和 arc 間的 topology。
圖 4.1 coverage 結構。
圖 4.1 中每條曲折線段都是一個 arc,這裡的 arc 指的是村里間相接的邊界也是 arc 圖層的基本元素,一條 arc 包含 S A 、S X 、S Y 、L 四個值,其中 S A 是面積分解值、S X 是 中心點 X 座標分解值、S Y 是中心點 Y 座標分解值、L 是周長分解值也剛好是線段長, 由於 arc 只能用長度計算所以只有 L 有幾合上的意義,而 S A 、S X 、S Y 、L 的計算時機是 當一組 arc 圍成一個 polygon 時,我們可以把這群 arc 上的 S A 、S X 、
圖 5.3(a)中的 A 和 B 共用的線段即是交疊區域,而圖 5.3(b)是此區域的放大圖,從 圖 5.3(a)在 region 圖層中會有三個區域但轉成 polygon 圖層卻變成四個多邊形,假設圖 5.3(b)的黃色區域叫做 D,這樣會使得 A 和 D 相鄰、B 和 D 相鄰但 A 和 B 卻不相鄰, 意思是說圖層的誤差會使相鄰關係改變但這種情況很少見,除非是兩多邊形間完全被交 疊多邊形隔開,正常情況會如圖 5.4(a)所示,圖 5.4(b)的狹長區域是圖 5.4(a)的放大,此 例中交疊多邊形沒有完
+3

參考文獻

相關文件

此外,視圖與視圖之間隔距離,不宜太遠或太近,通常

以下簡單介紹魔術三角形: 如圖 1, 若三角形每邊有 三個數且數字和都是定值, 稱為 3 階 (傳統) 魔術三角形; 如圖 2, 若每邊有三 個數且較大兩數和減最小數的差都是定值, 稱為

Red, white and brown 是典型 Mark Rothko

 把有着相同符號的圖畫書編 成小單元,歸類施教,引導 學生認識符號的共通點,辨 別其中的細微差異,建構文 學鑑賞能力.

地函、地核。所 謂 的地殼,就是 一層 由堅硬的 岩石所 構 成的薄殼,只 不過 這 層薄殼並 不是完 整 的一片,而是 像一 塊大拼圖,由 數十 片稱為「板塊 」的 薄 殼拼合而 成,雖 說

疊對(overlay)的方式是指兩層的定位與相互考量的 x 和 y 方向,如果所有的疊對 層在晶圓上沒有偏移,亦即代表 overlay value=0 ,通常 overlay =0 是目標值。而 overlay

其硬體架構如圖 9.3 所示。本實驗最主要的目的是要將之前學長所做的 GPS/INS 整合 部分中的加速儀用

ZigBee Stack 的架構分別是由 IEEE 802.15.4 standard 以及 ZigBee 聯盟 所制定;其中 IEEE 802.15.4 standard 定義了兩層,分別為 Physical (PHY) Layer 以及 Medium Access