降雨頻率分析與淹水潛勢是洪災分析重要的資料來源,利用水文分析進行降雨觀測及淹水分析結果,進一步整合社會統計資料,可評估人類社會承受災害的潛在風險。

假設將24小時延時200年重現期降雨的淹水潛勢的深度達50cm以上的區域,定義為「潛在受災區」。

1.設定所需的函式庫(libraries)

install.packages("rgdal")   #讓R可以認識shp file
install.packages("sp")
library(rgdal)
## Loading required package: sp
## rgdal: version: 1.2-5, (SVN revision 648)
##  Geospatial Data Abstraction Library extensions to R successfully loaded
##  Loaded GDAL runtime: GDAL 1.10.1, released 2013/08/26
##  Path to GDAL shared files: /usr/share/gdal/1.10
##  Loaded PROJ.4 runtime: Rel. 4.8.0, 6 March 2012, [PJ_VERSION: 480]
##  Path to PROJ.4 shared files: (autodetected)
##  Linking to sp version: 1.2-3
library(sp)

setwd("/media/hsusir/DATA/Rdata Practice/04Spatial/Flood_in_school")  #設定working area

Flood <- readOGR(dsn = ".", layer = "flood50", encoding="big5")
## OGR data source with driver: ESRI Shapefile 
## Source: ".", layer: "flood50"
## with 5103 features
## It has 5 fields
# dsn = “.“ 是路徑,但因我們已將working area設定完成,所以打.就好
#dsn 是指路徑
# layer 是指shp的名稱
Schools <- readOGR(dsn = ".", layer = "tpecity_school", encoding="big5")
## OGR data source with driver: ESRI Shapefile 
## Source: ".", layer: "tpecity_school"
## with 198 features
## It has 3 fields
Schools.Flood <- Schools[Flood, ] #把學校落在Flood中的排出來

2.疊三個圖層

plot(Flood, col='cyan')
plot(Schools, col='gray', pch=20, add=TRUE)
plot(Schools.Flood, col='red', pch=20, add=TRUE)

nrow(Schools.Flood@data)
## [1] 36
#把36筆排出來
# 把 Schools.Flood 中計算筆數 (本例有36筆)
head(Schools.Flood@data, n=36) 
##     TEXTSTRING   ID STUDENTS
## 1     士林國中    1       95
## 2     士林國小    2       93
## 8     明德國中   33      113
## 9     文林國小   39      213
## 13    富安國小   48       63
## 26    士東國小  300       52
## 42    大湖國小  681       92
## 52    百齡國小  730      163
## 61    新湖國小  837       24
## 67    民生國中  849       35
## 72    中山國中  863      200
## 73    五常國中  864       91
## 74    五常國小  865       55
## 75    吉林國小  882       91
## 78    劍潭國小  903      204
## 80    蓬萊國小  913      119
## 81    雙蓮國小  915       24
## 82    日新國小  916      201
## 83    民權國中  917      186
## 84    大同國小  918       25
## 87    太平國小  924       91
## 89    大橋國小  926      161
## 91    華江國小  979       99
## 98    龍山國小 1051       87
## 100   仁愛國小 1059       56
## 101   仁愛國中 1060      133
## 106   長春國小 1085       48
## 119   永吉國中 1199      101
## 123   木柵國中 1247      118
## 124   國光劇校 1248       68
## 131   興隆國小 1276       63
## 134   建安國小 1287       43
## 138   忠孝國小 1306      152
## 149   雙園國小 1362      110
## 174   興福國中 1575       85
## 175   溪口國小 1576      168
sum(Schools.Flood@data$STUDENTS)# sum 計算Schools.Flood中學生總數為多少
## [1] 3722