owned this note
owned this note
Published
Linked with GitHub
# pyCIOT Package Document
## Air Module
- **Usage**
```python
from pyCIOT.data.air import Air
air_module = Air()
```
- **get_source($typ$: str="OBS")**
- 回傳民生公共物聯網開放資料平台中,有關空氣品質資料的專案代碼
- Parameters
- $typ$: 執行此方法時所欲查詢的專案種類。目前合法的專案種類只有 `OBSERVATION`,其中包含 PM2.5,O3,SO2,NO2... 等感測資料,並無再向下細分。
- 目前合法的代碼為:
- `OBS:EPA`: 環保署國家空品測站
- `OBS:EPA_IoT`: 環保署智慧城鄉空品微型感測器
- `OBS:AS_IoT`: 中研院校園空品微型感測器
- `OBS:MOST_IoT`: 科技部智慧園區空品測站
- `OBS:NCNU_IoT`: 暨南大學在地空品微型感測器
- **get_data($src$: str, $stationID$: str=None, $location$=None, $time\_range$=None)**
- 回傳各測站的基本資訊,位置及感測資料
- Parameters
- $src$: 執行此方法時所欲查詢的專案代碼, e.g. `OBS:EPA`。
- $stationID$: 選擇性參數。若有輸入 $stationID$ 參數,則只輸出 $stationID$ 測站相關的感測資料;若沒有帶入 $stationID$ 參數,則輸出 $src$ 專案中的所有測站的感測資料。
- $location$: 選擇性參數。若有輸入 $location$ 參數,則會依照輸入的位置資訊來獲取距離內的測站。See [Parameters](#Parameters)
- $time\_range$: 選擇性參數。若有輸入 $time\_range$ 參數,則會依照輸入的時間資訊來獲取相對應的數據。See [Parameters](#Parameters)
#### Example
返回格式為 array,包含一筆或多筆測站相關的感測資料,範例如下:
> air_module.get_data("OBS:EPA", stationID="EPA001")
```
[
{
"name": "空氣品質測站-基隆",
"description": "空氣品質測站-基隆",
"properties": {
// Props of Thing, its value might not be be same
"city": "基隆市",
"areaName": "北部空品區",
"township": "信義區",
"authority": "行政院環境保護署",
"stationID": "EPA001",
"englishName": "Keelung",
"stationName": "基隆",
"stationType": "一般測站"
},
"data":[
// List all sensing value of Thing
{
"name":"SO2_AVG",
"description":"二氧化硫平均值 SO2",
"values":[
{
"timestamp":"2022-08-28T12:00:00.000Z",
"value":0
}
]
},
{
"name":"O3",
"description":"臭氧 O3",
"values":[
{
"timestamp":"2022-08-28T12:00:00.000Z",
"value":27.1
}
]
},
{
"name":"PM2.5",
"description":"細懸浮微粒 PM2.5",
"values":[
{
"timestamp":"2022-08-28T12:00:00.000Z",
"value":11
}
]
},
...
],
"location": {
// would be null if any value not exists
// e.g. "address": null
"latitude": 25.1292,
"longitude": 121.7601,
"address": "基隆市信義區東信路324號"
}
}
]
```
- **get_station($source$: str, $stationID$: str=None)**
- 回傳各測站的基本資訊及位置
- Parameters
- $src$: 執行此方法時所欲查詢的專案代碼, e.g. `OBS:EPA`。
- $stationID$: 選擇性參數。若有輸入 $stationID$ 參數,則只輸出 $stationID$ 測站的相關資料;若沒有帶入 $stationID$ 參數,則輸出 $src$ 專案中的所有測站的相關資料。
#### Example
返回格式為 array,包含一筆或多筆測站的相關資料,範例如下:
> air_module.get_station("OBS:EPA")
```
[
{
"name": "空氣品質測站-基隆",
"description": "空氣品質測站-基隆",
"properties": {
// Props of Thing, its value depends and might be not same
"city": "基隆市",
"areaName": "北部空品區",
"township": "信義區",
"authority": "行政院環境保護署",
"stationID": "EPA001",
"englishName": "Keelung",
"stationName": "基隆",
"stationType": "一般測站"
},
"location": {
// would be null if any of values not exists
// e.g. "address": null
"latitude": 25.1292,
"longitude": 121.7601,
"address": "基隆市信義區東信路324號"
}
},
...
]
```
## Water Module
- **Usage**
```python
from pyCIOT.data.water import Water
water_module = Water()
```
- **get_source($typ$: str=None)**
- 回傳民生公共物聯網開放資料平台中,有關水文資料的專案代碼
- Parameters
- $typ$: 執行此方法時所欲查詢的專案種類。目前合法的專案種類有:
- `WATER_LEVEL`: 回傳水位站的專案代碼,目前合法的代碼為:
- `WATER_LEVEL:WRA_RIVER`: 水利署河川水位站
- `WATER_LEVEL:WRA_GROUNDWATER`: 水利署地下水位站
- `WATER_LEVEL:WRA2_DRAINAGE`: 水利署(與縣市政府合建)區域排水水位站
- `WATER_LEVEL:IA_POND`: 農田水利署埤塘水位站
- `WATER_LEVEL:IA_IRRIGATION`: 農田水利署農田灌溉圳路水位站
- `GATE`: 回傳閘門的專案代碼,目前合法的代碼為:
- `GATE:WRA`: 水利署閘門
- `GATE:WRA2`: 水利署(與縣市政府合建)閘門
- `GATE:IA`: 農田水利署閘門
- `PUMPING`: 回傳抽水站的專案代碼,目前合法的代碼為:
- `PUMPING:WRA2`: 水利署(與縣市政府合建)抽水站
- `PUMPING:TPE`: 臺北市抽水站
- `FLOODING`: 回傳淹水感測器的專案代碼,目前合法的代碼為:
- `FLOODING:WRA`: 水利署淹水感測器
- `FLOODING:WRA2`: 水利署(與縣市政府合建)淹水感測器
- `POLLUTION`: 回傳汙水感測器的專案代碼,目前合法的代碼為:
- `POLLUTION:CPAMI`: 營建署污水感測器
- `None`: 回傳所有合法的代碼
- **get_data($source$: str, $stationID$: str=None, $location$=None, $time\_range$=None)**
- 回傳各測站的基本資訊,位置及感測資料
- Parameters
- $src$: 執行此方法時所欲查詢的專案代碼, e.g. `WATER_LEVEL:WRA_RIVER`。
- $stationID$: 選擇性參數。若有輸入 $stationID$ 參數,則只輸出 $stationID$ 測站相關的感測資料;若沒有帶入 $stationID$ 參數,則輸出 $src$ 專案中的所有測站的感測資料。
- $location$: 選擇性參數。若有輸入 $location$ 參數,則會依照輸入的位置資訊來獲取距離內的測站。See [Parameters](#Parameters)
- $time\_range$: 選擇性參數。若有輸入 $time\_range$ 參數,則會依照輸入的時間資訊來獲取相對應的數據。See [Parameters](#Parameters)
#### Example
返回格式為 array,包含一筆或多筆測站相關的感測資料,範例如下:
> `water_module.get_data("GATE:WRA", stationID="0b6848c7-0136-4219-a9ff-169860bac96a")`
```
{
"name":"0b6848c7-0136-4219-a9ff-169860bac96a",
"description":"防洪禦潮",
"properties":{
"authority":"第一河川局",
"stationID":"0b6848c7-0136-4219-a9ff-169860bac96a",
"stationCode":"3132011DR0016",
"stationName":"SG16",
"authority_type":"水利署"
},
"data":[
{
"name":"閘門開度",
"description":" Datastream_id=86c56759-06b2-48cf-90b3-c71c8e5c48a2, Datastream_FullName=閘門開度, Datastream_Description=防洪禦潮, Datastream_Category_type=閘
門, Datastream_Category=閘門",
"values":[
{
"timestamp":"2022-08-28T15:15:35.000Z",
"value":0
}
]
}
],
"location":{
"latitude":24.70335,
"longitude":121.829536,
"address": null
}
}
```
- **get_station($source$: str, $stationID$: str=None)**
- 回傳各測站的基本資訊及位置
- Parameters
- $src$: 執行此方法時所欲查詢的專案代碼, e.g. `WATER_LEVEL:WRA_RIVER`。
- $stationID$: 選擇性參數。若有輸入 $stationID$ 參數,則只輸出 $stationID$ 測站的相關資料;若沒有帶入 $stationID$ 參數,則輸出 $src$ 專案中的所有測站的相關資料。
#### Example
返回格式為 array,包含一筆或多筆測站的相關資料,範例如下:
> `water_module.get_station("GATE:WRA", stationID="0b6848c7-0136-4219-a9ff-169860bac96a")`
```
{
"name":"0b6848c7-0136-4219-a9ff-169860bac96a",
"description":"防洪禦潮",
"properties":{
"authority":"第一河川局",
"stationID":"0b6848c7-0136-4219-a9ff-169860bac96a",
"stationCode":"3132011DR0016",
"stationName":"SG16",
"authority_type":"水利署"
},
"location":{
"latitude":24.70335,
"longitude":121.829536,
"address":"None"
}
}
```
## Quake Module
- **Usage**
```python
from pyCIOT.data.quake import Quake
quake_module = Quake()
```
- **get_source($typ$: str="EARTHQUAKE")**
- 回傳民生公共物聯網開放資料平台中,有關地震活動資料的所有專案代碼
- Parameters
- $typ$: 執行此方法時所欲查詢的專案種類。目前合法的專案種類只有 `EARTHQUAKE`
- 因資料儲存方式不同,CWB 及 NCREE 的測站資料無法分別查詢,因此在每個事件中,會回傳來源中所有測站的監測資料,因此目前合法的代碼為:
- `EARTHQUAKE:CWB+NCREE`: 中央氣象局與國震中心地震監測站
- **get_data($src$: str, $eventID$: str=None)**
- 回傳測站對地震事件的感測資料
- Parameters
- $src$: 執行此方法時所欲查詢的專案名稱。
- $eventID$: 選擇性參數。若有輸入 $eventID$ 參數,則輸出第 $eventID$ 號地震的資訊;若沒有帶入 $eventID$ 參數,則輸出所有地震事件的資訊。
#### Example
返回格式為 array,包含一筆或多筆地震事件的感測資料,範例如下:
> quake_module.get_data("EARTHQUAKE:CWB+NCREE", "2021001")
```
[
{
"name": "第2021001號地震",
"description": "第2021001號地震",
"properties": {
"depth": 15.6,
"authority": "中央氣象局",
"magnitude": 4.2
},
"data": [
{
"name":"地震監測站-Jiqi-EGC",
"description":"地震監測站-Jiqi-EGC",
"values":[
{
"timestamp":"2021-01-06T04:09:10.000Z",
"value":"http://140.110.19.16/STA_Earthquake_v2/v1.0/Observations(1)"
}
]
},
{
"name":"地震監測站-Xilin-ESL",
"description":"地震監測站-Xilin-ESL",
"values":[
{
"timestamp":"2021-01-06T04:09:10.000Z",
"value":"http://140.110.19.16/STA_Earthquake_v2/v1.0/Observations(2)"
}
]
},
{
"name":"地震監測站-清境國小-105",
"description":"地震監測站-清境國小-105",
"values":[
{
"timestamp":"2021-01-06T04:09:05.000Z",
"value":"http://140.110.19.16/STA_Earthquake_v2/v1.0/Observations(3)"
}
]
},
...
],
"location": {
"latitude": 23.79,
"longitude": 121.46,
"address": null
}
}
]
```
- **get_station($src$: str, $stationID$: str=None)**
- 回傳地震測站的相關資訊
- Parameters
- $src$: 執行此方法時所欲查詢的專案名稱。
- $stationID$: 選擇性參數。若有輸入 $stationID$ 參數,則輸出 $stationID$ 地震測站的基本資料;若沒有帶入 $stationID$ 參數,則輸出所有 $source$ 專案中的地震測站的基本資料。
#### Example
返回格式為 array,包含一筆或多筆地震測站的資料,範例如下:
> quake_module.get_station("EARTHQUAKE:CWB+NCREE", "ESL")
```
[
{
"name": "地震監測站-Xilin-ESL",
"description": "地震監測站-Xilin-ESL",
"properties": {
"authority": "中央氣象局",
"stationID": "ESL",
"deviceType": "FBA",
"stationName": "Xilin"
},
"location": {
"latitude": 23.812,
"longitude": 121.442,
"address": null
}
}
]
```
## Weather Module
- **Usage**
```python
from pyCIOT.data.weather import Weather
weather_module = Weather()
```
- **get_source($typ$: str=None)**
- 回傳民生公共物聯網開放資料平台中,有關氣象資料的專案代碼
- Parameters
- $typ$: 執行此方法時所欲查詢的專案種類。目前合法的專案種類有:
- `GENERAL`: 回傳氣象站的專案代碼,目前合法的代碼為:
- `GENERAL:CWB`: 中央氣象局局屬氣象站
- `GENERAL:CWB_IoT`: 中央氣象局自動氣象站
- `RAINFALL`: 回傳雨量站/雨量感測器的專案代碼,目前合法的代碼為:
- `RAINFALL:CWB`:中央氣象局雨量站
- `RAINFALL:WRA`: 水利署雨量感測器
- `RAINFALL:IA`: 農田水利署雨量感測器
- `IMAGE`: 回傳雷達回波圖的專案代碼,目前合法的代碼為:
- `IMAGE:CWB`: 中央氣象局雷達整合回波圖
- `None`: 回傳所有合法的代碼
- **get_data($src$: str, $stationID$: str=None, $location$=None, $time\_range$=None)**
- 回傳各測站的基本資訊,位置及感測資料
- Parameters
- $src$: 執行此方法時所欲查詢的專案代碼, e.g. `GENERAL:CWB`。
- $stationID$: 選擇性參數。若有輸入 $stationID$ 參數,則只輸出 $stationID$ 測站相關的感測資料;若沒有帶入 $stationID$ 參數,則輸出 $src$ 專案中的所有測站的感測資料。
- $location$: 選擇性參數。若有輸入 $location$ 參數,則會依照輸入的位置資訊來獲取距離內的測站。See [Parameters](#Parameters)
- $time\_range$: 選擇性參數。若有輸入 $time\_range$ 參數,則會依照輸入的時間資訊來獲取相對應的數據。See [Parameters](#Parameters)
#### Example
返回格式為 array,包含一筆或多筆測站相關的感測資料,範例如下:
> wather_module.get_data("RAINFALL:CWB", stationID="469020")
```
[
{
"name":"雨量站-469020-南沙島",
"description":"雨量站-469020-南沙島",
"properties":{
"city":"高雄市",
"township":"旗津區",
"authority":"中央氣象局",
"stationID":"469020",
"stationName":"南沙島",
"stationType":"中央氣象局"
},
"data": [
{
"name":"HOUR_3",
"description":"3小時累積雨量",
"values":[
{
"timestamp":"2022-08-28T18:50:00.000Z",
"value":0.0
}
]
},
{
"name":"HOUR_12",
"description":"12小時累積雨量",
"values":[
{
"timestamp":"2022-08-28T18:50:00.000Z",
"value":8.0
}
]
},
{
"name":"NOW",
"description":"本日累積雨量",
"values":[
{
"timestamp":"2022-08-28T18:50:00.000Z",
"value":0.0
}
]
},
{
"name":"ELEV",
"description":"高度",
"values":[
{
"timestamp":"2022-08-28T18:50:00.000Z",
"value":4.5
}
]
},
...
],
"location":{
"latitude":10.3718,
"longitude":114.3567,
"address":"None"
}
},
]
```
- **get_station($src$: str, $stationID$: str=None)**
- 回傳各測站的基本資訊及位置
- Parameters
- $src$: 執行此方法時所欲查詢的專案代碼, e.g. `GENERAL:CWB`。
- $stationID$: 選擇性參數。若有輸入 $stationID$ 參數,則只輸出 $stationID$ 測站的相關資料;若沒有帶入 $stationID$ 參數,則輸出 $src$ 專案中的所有測站的相關資料。
#### Example
返回格式為 array,包含一筆或多筆測站相關的感測資料,範例如下:
> wather_module.get_station("RAINFALL:CWB", stationID="469020")
```
[
{
"name":"雨量站-469020-南沙島",
"description":"雨量站-469020-南沙島",
"properties":{
"city":"高雄市",
"township":"旗津區",
"authority":"中央氣象局",
"stationID":"469020",
"stationName":"南沙島",
"stationType":"中央氣象局"
},
"location":{
"latitude":10.3718,
"longitude":114.3567,
"address":"None"
}
}
]
```
## Disaster Module
- **Usage**
```python
from pyCIOT.data.disaster import Disaster
disaster_module = Disaster()
```
- **get_alert($typ$: str)**
- 獲取相關事件的歷史資料
- Parameters
- $typ$: 事件代碼。民生公共物聯網資料平台上提供的災情示警共有下列 58 個項目:
- 5: 颱風 (中央氣象局)
- 6: 地震 (中央氣象局)
- 7: 海嘯 (中央氣象局)
- 8: 淹水 (水利署)
- 9: 土石流 (農委會水土保持局)
- 10: 降雨 (中央氣象局)
- 11: 河川高水位 (水利署)
- 12: 水庫放流 (水利署)
- 13: 道路封閉 (交通部公路總局)
- 32: 鐵路事故 (台灣高速鐵路股份有限公司)
- 33: 停班停課 (行政院人事行政總處)
- 34: 鐵路事故 (臺灣鐵路管理局)
- 1047: 防空 (內政部警政署民防指揮管制所)
- 1051: 雷雨 (中央氣象局)
- 1053: 傳染病 (疾病管制署)
- 1054: 國際旅遊疫情 (疾病管制署)
- 1057: 開放路邊停車 (臺北市政府)
- 1059: 水門資訊 (臺北市政府)
- 1060: 低溫 (中央氣象局)
- 1061: 強風 (中央氣象局)
- 1062: 濃霧 (中央氣象局)
- 1066: 水位警戒 (臺中市水利局)
- 1075: 市話通訊中斷 (國家通訊傳播委員會)
- 1076: 行動電話中斷 (國家通訊傳播委員會)
- 1078: 空氣品質 (環境保護署)
- 1080: 電力中斷 (台灣電力公司)
- 1085: 停水 (臺北自來水事業處)
- 1087: 火災 (內政部消防署)
- 1089: 停水 (台灣自來水公司)
- 1091: 水位警示 (桃園市水務局)
- 1093: 林火危險度預警 (行政院農業委員會林務局)
- 2096: 結構火災 (HEX 瑞德感知)
- 2098: 分洪警報 (水利署第十河川局)
- 2099: 枯旱預警 (水利署)
- 2101: 區排警戒 (臺南市政府)
- 2102: 疏散避難 (內政部消防署)
- 2104: 輻射災害 (行政院原子能委員會)
- 2105: 疫苗供應狀況 (數唯科技有限公司)
- 2106: 血液庫存 (襁褓科技股份有限公司)
- 2107: 高溫 (中央氣象局)
- 2108: 火山 (中央氣象局)
- 2109: 道路施工 (臺中市政府建設局)
- 2115: 交流道下地方連絡道淹水 (交通部高速公路局)
- 2116: 強風管制路段 (交通部高速公路局)
- 2118: 海洋污染 (海洋保育署)
- 2119: 海灘水質 (海洋保育署)
- 2121: 鐵路事故 (阿里山林業鐵路及文化資產管理處)
- 2134: 捷運營運 (臺中捷運股份有限公司)
- 2135: 捷運營運 (臺北大眾捷運股份有限公司)
- 2139: 捷運營運 (高雄捷運股份有限公司)
- 2141: 捷運營運 (新北大眾捷運股份有限公司)
- 100003: 開放臨時停車 (高雄市政府)
- 100005: 水門資訊 (新北市政府)
- 100013: 濃霧 (日月潭國家風景區管理處)
- 100014: 堰塞湖警戒 (行政院農業委員會林務局)
- 100016: 捷運營運 (桃園大眾捷運股份有限公司)
- 100018: 國家公園入園示警 (營建署)
- 100020: 地下道積淹水 (新竹市政府消防局)
#### Example
返回格式為 json,包括該事件的相關示警資訊,範例如下:
> disaster_module.get_alert("5")
```
{
"id":"https://alerts.ncdr.nat.gov.tw/Json.aspx",
"title":"NCDR_CAP-即時防災資訊(Json)",
"updated":"2021-10-12T08:32:00+08:00",
"author":{
"name":"NCDR"
},
"link":{
"@rel":"self",
"@href":"https://alerts.ncdr.nat.gov.tw/JSONAtomFeed.ashx?AlertType=5"
},
"entry":[
{
"id":"CWB-Weather_typhoon-warning_202110102030001",
"title":"颱風",
"updated":"2021-10-10T20:30:05+08:00",
"author":{
"name":"中央氣象局"
},
"link":{
"@rel":"alternate",
"@href":"https://b-alertsline.cdn.hinet.net/Capstorage/CWB/2021/Typhoon_warnings/fifows_typhoon-warning_202110102030.cap"
},
"summary":{
"@type":"html",
"#text":"1SEA18KOMPASU圓規2021-10-10T12:00:00+00:0018.20,126.702330992150輕度颱風TROPICAL STORM2021-10-11T12:00:00+00:0019.20,121.902835980220輕度颱風 圓規(國際命名 KOMPASU)10日20時的中心位置在北緯 18.2 度,東經 126.7 度,即在鵝鑾鼻的東南東方約 730 公里之海面上。中心氣壓 992 百帕,近中心最大風速每秒 23 公尺(約每小時 83 公里),相當於 9 級風,瞬間最大陣風每秒 30 公尺(約每小時 108 公里),相當於 11 級風,七級風暴風半徑 150 公里,十級風暴風半徑 – 公里。以每小時21公里速度,向西進行,預測11日20時的中心位置在根據最新資料顯示,第18號颱風中心目前在鵝鑾鼻東南東方海面,向西移動,其暴風圈正逐漸向巴士海峽接近,對巴士海峽將構成威脅。巴士海峽航行及作業船隻應嚴加戒備。第18號颱風外圍環流影響,易有短延時強降雨,今(10日)晚至明(11)日基隆北海岸、宜蘭地區及新北山區有局部大雨發生的機率,請注意。*第18號颱風及其外圍環流影響,今(10日)晚至明(11)日巴士海峽及臺灣附近各海面風浪逐漸增大,基隆北海岸、東半部(含蘭嶼、綠島)、西南部、恆春半島沿海易有長浪發生,前往海邊活動請特別注意安全。*第18號颱風外圍環流影響,今(10日)晚至明(11)日臺南以北、東半部(含蘭嶼、綠島)、恆春半島、澎湖、金門、馬祖沿海及空曠地區將有9至12級強陣風,內陸地區及其他沿海空曠地區亦有較強陣風,請注意。*第18號颱風外圍環流沉降影響,明(11)日南投、彰化至臺南及金門地區高溫炎熱,局部地區有36度以上高溫發生的機率,請注意。*本警報單之颱風半徑為平均半徑,第18號颱風之7級風暴風半徑西南象限較小約60公里,其他象限約180公里,平均半徑約為150公里。"
},
"category":{
"@term":"颱風"
}
},
{
"id":"CWB-Weather_typhoon-warning_202110102330001",
"title":"颱風",
"updated":"2021-10-10T23:26:28+08:00",
"author":{
"name":"中央氣象局"
},
"link":{
"@rel":"alternate",
"@href":"https://b-alertsline.cdn.hinet.net/Capstorage/CWB/2021/Typhoon_warnings/fifows_typhoon-warning_202110102326.cap"
},
"summary":{
"@type":"html",
"#text":"2SEA18KOMPASU圓規2021-10-10T15:00:00+00:0018.50,125.502330992180輕度颱風TROPICAL STORM2021-10-11T15:00:00+00:0019.00,120.902835980250輕度颱風 圓規(國際命名 KOMPASU)10日23時的中心位置在北緯 18.5 度,東經 125.5 度,即在鵝鑾鼻的東南方約 610 公里之海面上。中心氣壓 992 百帕,近中心最大風速每秒 23 公尺(約每小時 83 公里),相當於 9 級風,瞬間最大陣風每秒 30 公尺(約每小時 108 公里),相當於 11 級風,七級風暴風半徑 180 公里,十級風暴風半徑 – 公里。以每小時24公里速度,向西進行,預測11日23時的中心位置在北緯 19.0 度,東經 120.9 度,即在鵝鑾鼻的南方約 320 公里之海面上。根據最新資料顯示,第18號颱風暴風圈稍擴大,目前中心在鵝鑾鼻東南方海面,向西移動,其暴風圈正逐漸朝巴士海峽接近,對巴士海峽及東沙島海面將構成威脅。巴士海峽及東沙島海面航行及作業船隻應嚴加戒備。第18號颱風外圍環流影響,易有短延時強降雨,今(10日)晚至明(11)日宜蘭縣有局部大雨或豪雨發生的機率,基隆北海岸、大臺北地區及花蓮地區有局部大雨發生的機率,請注意。*第18號颱風及其外圍環流影響,今(10日)晚至明(11)日巴士海峽及臺灣附近各海面風浪逐漸增大,基隆北海岸、東半部(含蘭嶼、綠島)、西南部、恆春半島沿海易有長浪發生,前往海邊活動請特別注意安全。*第18號颱風外圍環流影響,今(10日)晚至明(11)日臺南以北、東半部(含蘭嶼、綠島)、恆春半島、澎湖、金門、馬祖沿海及空曠地區將有9至12級強陣風,內陸地區及其他沿海空曠地區亦有較強陣風,請注意。*適逢大潮,漲潮期間不利雨水排放,沿海低窪地 區需留意積淹水。 *第18號颱風外圍環流沉降影響,明(11)日南投、彰化至臺南及金門地區高溫炎熱,局部地區有36度以上高溫發生的機率,請注意。*本警報單之颱風半徑為平均半徑,第18號颱風之7級風暴風半徑西南象限較小約60公里,其他象限約220公里,平均半徑約為180公里。"
},
"category":{
"@term":"颱風"
}
},
...
]
```
- **get_notice($typ$: str)**
- 獲取相關事件的歷史資料
- Parameters
- $typ$: 事件代碼。目前民生公共物聯網資料平台上提供的災情通報共計有下列 41 個項目:
- 'CEOCopen': 中央災害應變中心目前開設的專案及成立情形
- 'Disaster': 災情案件資料
- 'Shelter': 避難收容處所開設情形
- 'EMIC_Resource': 救災資源資料清單
- 'EvaculateArea': 撤離區域劃定清單
- 'ERA2_A1': 各直轄市縣市政府災情通報表
- 'ERA2_A2': 警戒區域劃定通報表
- 'ERA2_A3': 出動救災人員及裝備通報表
- 'ERA2_A4': 各直轄市縣市政府撤離人數通報表
- 'ERA2_B1': 環境保護工程設施災情通報表
- 'ERA2_C1': 農林漁牧產物及民間設施災情通報表
- 'ERA2_C2': 農林漁牧業產物公共設施災情通報表
- 'ERA2_C3': 颱風過境大陸船員進港或上岸避風通報表
- 'ERA2_C4': 土石流警戒區發布情形通報表
- 'ERA2_D1': 醫療機構災情通報表
- 'ERA2_D2': 緊急醫療救護通報表
- 'ERA2_D3': 各直轄市縣市政府避難收容處所開設通報表
- 'ERA2_D4': 災區志工人力志工服務通報表
- 'ERA2_E1': 公用天然氣事業災情通報表
- 'ERA2_E2': 台灣電力公司災情通報表
- 'ERA2_E3': 自來水相關機構災情通報表(災損部分)
- 'ERA2_E4': 自來水相關機構災情通報表(受損用戶)
- 'ERA2_E5': 災情通報表(水庫或堰壩)
- 'ERA2_E6': 災情通報表(河川、海岸、區域排水)
- 'ERA2_E7': 工業區災情通報表
- 'ERA2_E8': 加工出口區災情通報表
- 'ERA2_E9': 商業災損災情通報表
- 'ERA2_F1': 交通災情通報表(道路、橋梁部分)
- 'ERA2_F2': 交通災情通報表(鐵路部分)
- 'ERA2_F3': 交通災情通報表(航空部分)
- 'ERA2_F4': 交通災情通報表(港埠及海運部分)
- 'ERA2_F5': 交通災情通報表(觀光部分)
- 'ERA2_F6': 交通災情通報表(郵政部分)
- 'ERA2_F7': 交通災情通報表(施工中工程災害及其他)
- 'ERA2_F8': 交通災情通報表(救災準備之人力、機具)
- 'ERA2_G1': 教育部各級學校、社教館所災情通報表
- 'ERA2_H1': 國家搜救指揮中心支援空中救援勤務通報表
- 'ERA2_J1': 電信事業災情通報表
- 'ERA2_J2': 電信事業災情通報表(受損用戶 - 市話)
- 'ERA2_J3': 電信事業災情通報表(受損基地台 - 行動電話)
- 'ERA2_K1': 災情通用通報表
#### Example
返回格式為 json,包括該事件的相關通報資訊,範例如下:
> disaster_module.get_notice("ERA2_F1")
```
"maincmt":{
"prj_no":"專案代號",
"org_name":"填報機關",
"rpt_approval":"核定人",
"rpt_phone":"聯絡電話",
"rpt_mobile_phone":"行動電話",
"rpt_no":"通報別",
"rpt_user":"通報人",
"rpt_time":"通報時間"
},
"main":{
"prj_no":"2014224301",
"org_name":"交通部公路總局",
"rpt_approval":"test",
"rpt_phone":"0911",
"rpt_mobile_phone":"0900000000",
"rpt_no":"7",
"rpt_user":"test",
"rpt_time":"2021-10-12T01:24:12.0000000+08:00"
},
"detailcmt":{
"trfstatus":"狀態",
"roadtype_id":"道路分類代碼",
"road_id":"道路代碼",
"startmile":"路段起始里程",
"startplus":"路段起始(+)",
"endmile":"路段結束里程",
"endplus":"路段結束(+)",
"linecode":"路線樁號/路名",
"city_id":"縣市ID",
"city_name":"縣市別",
"town_id":"鄉鎮ID",
"town_name":"鄉鎮別",
"addname":"附近地名",
"wgs84_x":"災害地點(WGS84)_經度",
"wgs84_y":"災害地點(WGS84)_緯度",
"wgs84_x_sctl":"前管制點(WGS84)_經度",
"wgs84_y_sctl":"前管制點(WGS84)_緯度",
"wgs84_x_ectl":"後管制點(WGS84)_經度",
"wgs84_y_ectl":"後管制點(WGS84)_緯度",
"close_type":"後管制點(WGS84)_緯度",
"close_tsub":"交通阻斷原因類別_原因",
"close_datetime":"阻斷封閉時間",
"repaire_datetime":"預計搶通時間",
"close_text":"受損狀況",
"repaire_text":"搶修中作為",
"alt_route":"搶修中作為",
"build_cost":"復建及搶修概估經費(千元)",
"open_text":"交管措施",
"open_datetime":"實際搶通(開放)時間",
"remark":"備註",
"brg_close":"備註",
"no_data_mark":"無資料可填寫"
},
"detail":[
{
"trfstatus":"D0",
"roadtype_id":"國道",
"road_id":"00001A",
"startmile":"0",
"startplus":"0",
"endmile":"0",
"endplus":"0",
"linecode":"國道1號汐止五股高架道路 0K + 0 ~ 0K + 0",
"city_id":"10004",
"city_name":"新竹縣",
"town_id":"1000402",
"town_name":"竹東鎮",
"addname":"新竹縣竹東鎮",
"wgs84_x":"121.0753632",
"wgs84_y":"24.73075802",
"wgs84_x_sctl":"None",
"wgs84_y_sctl":"None",
"wgs84_x_ectl":"None",
"wgs84_y_ectl":"None",
"close_type":"道路",
"close_tsub":"None",
"close_datetime":"",
"repaire_datetime":"2021-10-20T12:00:20.0000000+08:00",
"close_text":"aaa",
"repaire_text":"aaa",
"alt_route":"None",
"build_cost":"11",
"open_text":"None",
"open_datetime":"",
"remark":"None",
"brg_close":"N",
"no_data_mark":"None"
},
{
"trfstatus":"D0",
"roadtype_id":"國道",
"road_id":"000010",
"startmile":"0",
"startplus":"0",
"endmile":"0",
"endplus":"0",
"linecode":"國道1號 0K + 0 ~ 0K + 0",
"city_id":"65",
"city_name":"新北市",
"town_id":"6500100",
"town_name":"板橋區",
"addname":"新北市板橋區",
"wgs84_x":"121.4579675",
"wgs84_y":"25.01186453",
"wgs84_x_sctl":"None",
"wgs84_y_sctl":"None",
"wgs84_x_ectl":"None",
"wgs84_y_ectl":"None",
"close_type":"道路",
"close_tsub":"None",
"close_datetime":"",
"repaire_datetime":"2021-10-27T12:00:27.0000000+08:00",
"close_text":"test不明原因封閉",
"repaire_text":"test",
"alt_route":"None",
"build_cost":"10",
"open_text":"加強人力",
"open_datetime":"",
"remark":"None",
"brg_close":"N",
"no_data_mark":"None"
},
{
"trfstatus":"D0",
"roadtype_id":"市區道路",
"road_id":"None",
"startmile":"",
"startplus":"",
"endmile":"",
"endplus":"",
"linecode":"None",
"city_id":"65",
"city_name":"新北市",
"town_id":"6502600",
"town_name":"貢寮區",
"addname":"新北市貢寮區",
"wgs84_x":"121.9182466",
"wgs84_y":"25.02485641",
"wgs84_x_sctl":"None",
"wgs84_y_sctl":"None",
"wgs84_x_ectl":"None",
"wgs84_y_ectl":"None",
"close_type":"其他",
"close_tsub":"其他",
"close_datetime":"2021-10-11T06:09:11.0000000+08:00",
"repaire_datetime":"",
"close_text":"大水來了",
"repaire_text":"None",
"alt_route":"None",
"build_cost":"",
"open_text":"None",
"open_datetime":"",
"remark":"None",
"brg_close":"N",
"no_data_mark":"None"
},
{
"roadtype_id":"市區道路",
"block_total":"1",
"unblock_count":"0",
"block_count":"1",
"stop_total":"0",
"unstop_count":"0",
"stop_count":"0",
"comment":"市區道路主管機關係內政部(營建署)"
},
{
"roadtype_id":"原住民族地區部落主要聯外道路",
"block_total":"0",
"unblock_count":"0",
"block_count":"0",
"stop_total":"0",
"unstop_count":"0",
"stop_count":"0",
"comment":"原住民族地區部落主要聯外道路主管機關係原住民族委員會"
},
...
]
}
```
## CCTV Module
- **Usage**
```python
from pyCIOT.data.cctv import CCTV
cctv_module = CCTV()
```
- **get_source($typ$: str="IMAGE")**
- 回傳民生公共物聯網開放資料平台中,有關測站影像資料的專案代碼
- Parameters
- $typ$: 執行此方法時所欲查詢的專案種類。目前合法的專案種類只有 `IMAGE`
- 目前合法的代碼為:
- `IMAGE:EPA`: 環保署空品監測即時影像器
- `IMAGE:WRA`: 水利署水利防災用影像器
- `IMAGE:COA`: 行政院農委會土石流觀測站影像
- **get_data($src$: str, $location$=None, $time\_range$=None)**
- 回傳各測站的基本資訊,位置及影像存取網址
- Parameters
- $src$: 執行此方法時所欲查詢的專案代碼, e.g. `IMAGE:EPA`。
- $location$: 選擇性參數。若有輸入 $location$ 參數,則會依照輸入的位置資訊來獲取距離內的測站。See [Parameters](#Parameters)
- $time\_range$: 選擇性參數。若有輸入 $time\_range$ 參數,則會依照輸入的時間資訊來獲取相對應的數據。See [Parameters](#Parameters)
#### Example
返回格式為 array,包含一筆測站及影像的相關資料,範例如下:
> cctv_module.get_data("IMAGE:EPA")
```
[
{
"name": "環保署空品監測即時影像器-基隆",
"description": "環保署-基隆-空品監測即時影像器",
"properties": {
"city": "基隆市",
"basin": "北部空品區",
"authority": "環保署",
"stationName": "基隆",
"CCDIdentifier": "1"
},
"data":[
{
"name":"即時影像",
"description":"環保署-基隆-空品監測即時影像器",
"values":[
{
"timestamp":"2022-06-13T09:00:00.000Z",
"value":"https://airtw.epa.gov.tw/AirSitePic/20220613/001-202206131700.jpg"
}
]
}
],
"location":{
"latitude":25.129167,
"longitude":121.760056,
"address":"None"
}
},
...
]
```
## Parameters
- **location**
- e.g. 找出距離座標 (25.129167, 121.760056) 方圓 3KM 內的所有測站
```
{
latitude: 25.129167,
longitude: 121.760056,
distance: 3
}
```
- **time_range**
- e.g. 找出測站中 2022-01 中最新的 10 筆資料
```
{
start: "2022-01-01T00:00:00Z"
end: "2022-01-31T23:59:59Z"
num_of_data: 10
}
```