├── .github └── ISSUE_TEMPLATE │ ├── Bug.md │ └── Idea.md ├── .gitignore ├── Discord.md ├── Discord_JavaScript_Bot ├── JavaScript │ └── earthquake.js ├── Json │ └── location.json ├── config.js └── main.js ├── LICENSE ├── Line_JavaScript_Bot ├── JavaScript │ └── earthquake.js ├── Json │ └── location.json ├── config.js └── main.js ├── README.md ├── audio ├── 0 │ ├── 0.wav │ ├── 1.wav │ ├── 10.wav │ ├── 1xx.wav │ ├── 2.wav │ ├── 2x.wav │ ├── 2xx.wav │ ├── 3.wav │ ├── 3x.wav │ ├── 4.wav │ ├── 4x.wav │ ├── 5.wav │ ├── 5x.wav │ ├── 6.wav │ ├── 6x.wav │ ├── 7.wav │ ├── 7x.wav │ ├── 8.wav │ ├── 8x.wav │ ├── 9.wav │ ├── 9x.wav │ ├── alert.wav │ ├── arrive.wav │ ├── ding.wav │ ├── intensity-strong.wav │ ├── intensity-weak.wav │ ├── intensity.wav │ ├── second.wav │ ├── x0.wav │ ├── x1.wav │ ├── x2.wav │ ├── x3.wav │ ├── x4.wav │ ├── x5.wav │ ├── x6.wav │ ├── x7.wav │ ├── x8.wav │ └── x9.wav ├── 1 │ ├── 0.wav │ ├── 1.wav │ ├── 10.wav │ ├── 1xx.wav │ ├── 2.wav │ ├── 2x.wav │ ├── 2xx.wav │ ├── 3.wav │ ├── 3x.wav │ ├── 4.wav │ ├── 4x.wav │ ├── 5.wav │ ├── 5x.wav │ ├── 6.wav │ ├── 6x.wav │ ├── 7.wav │ ├── 7x.wav │ ├── 8.wav │ ├── 8x.wav │ ├── 9.wav │ ├── 9x.wav │ ├── alert.wav │ ├── arrive.wav │ ├── ding.wav │ ├── intensity-strong.wav │ ├── intensity-weak.wav │ ├── intensity.wav │ ├── second.wav │ ├── update.wav │ ├── x0.wav │ ├── x1.wav │ ├── x2.wav │ ├── x3.wav │ ├── x4.wav │ ├── x5.wav │ ├── x6.wav │ ├── x7.wav │ ├── x8.wav │ └── x9.wav ├── notify.wav └── update.wav ├── data ├── 0.mp3 ├── 1.mp3 ├── 10.mp3 ├── 1xx.mp3 ├── 2.mp3 ├── 2x.mp3 ├── 2xx.mp3 ├── 3.mp3 ├── 3x.mp3 ├── 4.mp3 ├── 4x.mp3 ├── 5.mp3 ├── 5x.mp3 ├── 6.mp3 ├── 6x.mp3 ├── 7.mp3 ├── 7x.mp3 ├── 8.mp3 ├── 8x.mp3 ├── 9.mp3 ├── 9x.mp3 ├── alert.mp3 ├── arrive.mp3 ├── ding.mp3 ├── intensity-strong.mp3 ├── intensity-weak.mp3 ├── intensity.mp3 ├── notify.mp3 ├── second.mp3 ├── x0.mp3 ├── x1.mp3 ├── x2.mp3 ├── x3.mp3 ├── x4.mp3 ├── x5.mp3 ├── x6.mp3 ├── x7.mp3 ├── x8.mp3 └── x9.mp3 └── locations.json /.github/ISSUE_TEMPLATE/Bug.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F6A7問題回報" 3 | about: 請詳細描述你遇到的問題協助我們排除問題 4 | title: "[問題回報] " 5 | labels: 錯誤 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### ✍🏻 描述詳細情況 11 | * 預期效果: 12 | * 實際效果: 13 | 14 | ### 📑 相關資訊 15 | * 版本: 16 | 17 | ### 👨🏻‍🔧 還有什麼我們需要知道的嗎? 18 | * 補充說明: 19 | 20 | #### 此檔案由 ExpTech.tw 設計製作 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Idea.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F50C想法補充" 3 | about: 快來說說你的想法吧 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### 🌟想法補充 11 | * 補充說明: 12 | 13 | #### 此檔案由 ExpTech.tw 設計製作 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.aar 4 | *.ap_ 5 | *.aab 6 | 7 | # Files for the ART/Dalvik VM 8 | *.dex 9 | 10 | # Java class files 11 | *.class 12 | 13 | # Generated files 14 | bin/ 15 | gen/ 16 | out/ 17 | # Uncomment the following line in case you need and you don't have the release build type files in your app 18 | # release/ 19 | 20 | # Gradle files 21 | .gradle/ 22 | build/ 23 | 24 | # Local configuration file (sdk path, etc) 25 | local.properties 26 | 27 | # Proguard folder generated by Eclipse 28 | proguard/ 29 | 30 | # Log Files 31 | *.log 32 | 33 | # Android Studio Navigation editor temp files 34 | .navigation/ 35 | 36 | # Android Studio captures folder 37 | captures/ 38 | 39 | # IntelliJ 40 | *.iml 41 | .idea/workspace.xml 42 | .idea/tasks.xml 43 | .idea/gradle.xml 44 | .idea/assetWizardSettings.xml 45 | .idea/dictionaries 46 | .idea/libraries 47 | # Android Studio 3 in .gitignore file. 48 | .idea/caches 49 | .idea/modules.xml 50 | # Comment next line if keeping position of elements in Navigation Editor is relevant for you 51 | .idea/navEditor.xml 52 | 53 | # Keystore files 54 | # Uncomment the following lines if you do not want to check your keystore files in. 55 | #*.jks 56 | #*.keystore 57 | 58 | # External native build folder generated in Android Studio 2.2 and later 59 | .externalNativeBuild 60 | .cxx/ 61 | 62 | # Google Services (e.g. APIs or Firebase) 63 | # google-services.json 64 | 65 | # Freeline 66 | freeline.py 67 | freeline/ 68 | freeline_project_description.json 69 | 70 | # fastlane 71 | fastlane/report.xml 72 | fastlane/Preview.html 73 | fastlane/screenshots 74 | fastlane/test_output 75 | fastlane/readme.md 76 | 77 | # Version control 78 | vcs.xml 79 | 80 | # lint 81 | lint/intermediates/ 82 | lint/generated/ 83 | lint/outputs/ 84 | lint/tmp/ 85 | # lint/reports/ 86 | -------------------------------------------------------------------------------- /Discord.md: -------------------------------------------------------------------------------- 1 | # Discord Bot 2 | 3 | ## 概要 4 | - 以下三種獲取 EEW 資訊的發法 5 | 1. [Discord 群組](https://discord.gg/5dbHqV8ees) 追蹤 EEW 頻道 6 | 2. 自行架設機器人 7 | 3. 使用 ExpTech API 自行開發 8 | 9 | ## 許可證 10 | - 為避免伺服器負擔,需要得到 許可 才能以上述 `2` 、 `3` 的方式獲取 EEW 資訊 11 | #### 步驟 12 | 1. 先取得 ExpTech API Key [這裡](https://github.com/ExpTechTW/API) 13 | 2. 到 Discord 申請 許可證 14 | 15 | ## 機器人 16 | - 下載整個 EEW 項目並 解壓縮 17 | - 安裝 node 環境 18 | - 安裝依賴 19 | ```console 20 | npm i discord.js 21 | npm i ws 22 | ``` 23 | - 配置 `Discord_JavaScript_Bot/config.js` 24 | - 運行 `Discord_JavaScript_Bot/main.js` 25 | 26 | ## 開發 27 | #### 訂閱 EEW 資訊 28 | - 使用 WebSocket 發送 Json格式 訂閱請求 [範例](https://github.com/ExpTechTW/EEW/blob/%E4%B8%BB%E8%A6%81%E7%9A%84-(main)/Discord_JavaScript_Bot/main.js#:~:text=%23region%20%E8%A8%82%E9%96%B1%E5%9C%B0%E9%9C%87%E9%80%9F%E5%A0%B1%20EEW%20(%E9%9C%80%E8%A6%81%E9%96%8B%E9%80%9A)) 29 | ```json5 30 | { 31 | "APIkey": "", 32 | "Function": "earthquakeService", 33 | "Type": "subscription", 34 | "FormatVersion": 1, 35 | "UUID": 1 //設備編號 為使用相同 API Key 的機器人進行區隔 36 | } 37 | ``` 38 | #### 接收資訊 39 | ```json5 40 | { 41 | "Function": 'earthquake', 42 | "Time": 1650106255000, //地震發生時間 43 | "EastLongitude": '121.49', //東經 44 | "NorthLatitude": '23.73', //北緯 45 | "Depth": '10', //深度 46 | "Scale": '4.5', //規模 47 | "MaximumSeismicIntensity": '4', //最大震度 48 | "Text": true //測試模式 (若沒有這項表示是真實發生的地震) 49 | } 50 | ``` 51 | 52 | ## 測試 53 | - 對 ExpTech API POST 下方數據,即可模擬地震速報 54 | ```json5 55 | { 56 | "APIkey": "", 57 | "Function": "earthquake", 58 | "Type": "test", 59 | "FormatVersion": 1, 60 | "UUID":1 //設備編號 為使用相同 API Key 的機器人進行區隔 61 | } 62 | ``` 63 | -------------------------------------------------------------------------------- /Discord_JavaScript_Bot/JavaScript/earthquake.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | 3 | let time = 0 4 | 5 | async function main(data, config, client, channel) { 6 | if (time == data.Time) return 7 | time = data.Time 8 | let Cache = [] 9 | let start = 0 10 | let location = JSON.parse(fs.readFileSync(config.Path + 'Json/location.json').toString()) 11 | count() 12 | async function count() { 13 | let max = false 14 | let msg = "" 15 | for (let Index = 0; Index < location.length; Index++) { 16 | for (let index = 0; index < location[Index]["districts"].length; index++) { 17 | let point = Math.sqrt(Math.pow(Math.abs(location[Index]["districts"][index]["NorthLatitude"] + (Number(data.NorthLatitude) * -1)) * 111, 2) + Math.pow(Math.abs(location[Index]["districts"][index]["EastLongitude"] + (Number(data.EastLongitude) * -1)) * 101, 2)) 18 | let distance = Math.sqrt(Math.pow(Number(data.Depth), 2) + Math.pow(point, 2)) 19 | let value = Math.round((distance - ((new Date().getTime() - data.Time) / 1000) * 3.5) / 3.5) 20 | 21 | let level = "0" 22 | let PGA = (1.657 * Math.pow(Math.E, (1.533 * data.Scale)) * Math.pow(distance, -1.607)).toFixed(3) 23 | if (PGA >= 800) { 24 | level = "7" 25 | } else if (800 >= PGA && 440 < PGA) { 26 | level = "6+" 27 | } else if (440 >= PGA && 250 < PGA) { 28 | level = "6-" 29 | } else if (250 >= PGA && 140 < PGA) { 30 | level = "5+" 31 | } else if (140 >= PGA && 80 < PGA) { 32 | level = "5-" 33 | } else if (80 >= PGA && 25 < PGA) { 34 | level = "4" 35 | } else if (25 >= PGA && 8 < PGA) { 36 | level = "3" 37 | } else if (8 >= PGA && 2.5 < PGA) { 38 | level = "2" 39 | } else if (2.5 >= PGA && 0.8 < PGA) { 40 | level = "1" 41 | } else { 42 | level = "0" 43 | } 44 | Cache.push({ 45 | "name": location[Index]["name"].replace("縣", "").replace("市", "") + " " + location[Index]["districts"][index]["name"], 46 | "time": value, 47 | "level": level, 48 | "PGA": PGA 49 | }) 50 | //data.Time + distance / 3.5 51 | } 52 | } 53 | let NewCache = [] 54 | for (let Index = 0; Index < Cache.length; Index++) { 55 | let PGACache = 0 56 | let INDEX = 0 57 | for (let index = 0; index < Cache.length; index++) { 58 | if (Number(Cache[index]["PGA"]) > PGACache) { 59 | PGACache = Cache[index]["PGA"] 60 | INDEX = index 61 | } 62 | } 63 | NewCache.push(Cache[INDEX]) 64 | Cache.splice(INDEX, 1) 65 | } 66 | for (let index = 0; index < NewCache.length; index++) { 67 | if (msg.length >= 1000) break 68 | if (NewCache[index]["time"] > 0) { 69 | max = true 70 | msg = msg + NewCache[index]["name"] + " [剩餘 " + NewCache[index]["time"] + " 秒] [規模: " + NewCache[index]["level"] + "] [PGA: " + NewCache[index]["PGA"] + "]\n" 71 | } else { 72 | msg = msg + NewCache[index]["name"] + " [已抵達] [規模: " + NewCache[index]["level"] + "] [PGA: " + NewCache[index]["PGA"] + "]\n" 73 | } 74 | } 75 | try { 76 | if (start == 0) { 77 | let channels = client.channels.cache.get(channel) 78 | message = await channels.send(msg) 79 | start = message.id 80 | } else { 81 | let msgedit = client.channels.cache.get(channel) 82 | let Msg = await msgedit.messages.fetch(start) 83 | await Msg.edit(msg); 84 | } 85 | } catch (error) { 86 | } 87 | if (max) { 88 | count() 89 | } 90 | } 91 | //fs.writeFileSync(config.Path + 'Json/location.json', JSON.stringify(location, null, "\t")) 92 | } 93 | 94 | module.exports = { 95 | main 96 | } -------------------------------------------------------------------------------- /Discord_JavaScript_Bot/Json/location.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "districts": [ 4 | { 5 | "name": "中正區", 6 | "NorthLatitude": 25.0421407, 7 | "EastLongitude": 121.5198716 8 | }, 9 | { 10 | "name": "大同區", 11 | "NorthLatitude": 25.0627243, 12 | "EastLongitude": 121.5113064 13 | }, 14 | { 15 | "name": "中山區", 16 | "NorthLatitude": 25.0792018, 17 | "EastLongitude": 121.5427093 18 | }, 19 | { 20 | "name": "松山區", 21 | "NorthLatitude": 25.0541591, 22 | "EastLongitude": 121.5638621 23 | }, 24 | { 25 | "name": "大安區", 26 | "NorthLatitude": 25.0249441, 27 | "EastLongitude": 121.5433783 28 | }, 29 | { 30 | "name": "萬華區", 31 | "NorthLatitude": 25.0262857, 32 | "EastLongitude": 121.4970294 33 | }, 34 | { 35 | "name": "信義區", 36 | "NorthLatitude": 25.0409201, 37 | "EastLongitude": 121.5720055 38 | }, 39 | { 40 | "name": "士林區", 41 | "NorthLatitude": 25.0950492, 42 | "EastLongitude": 121.5246077 43 | }, 44 | { 45 | "name": "北投區", 46 | "NorthLatitude": 25.1151759, 47 | "EastLongitude": 121.515018 48 | }, 49 | { 50 | "name": "內湖區", 51 | "NorthLatitude": 25.0689422, 52 | "EastLongitude": 121.5909027 53 | }, 54 | { 55 | "name": "南港區", 56 | "NorthLatitude": 25.0312347, 57 | "EastLongitude": 121.6111949 58 | }, 59 | { 60 | "name": "文山區", 61 | "NorthLatitude": 24.9929212, 62 | "EastLongitude": 121.57125 63 | } 64 | ], 65 | "name": "臺北市" 66 | }, 67 | { 68 | "districts": [ 69 | { 70 | "name": "仁愛區", 71 | "NorthLatitude": 25.1187161, 72 | "EastLongitude": 121.7451927 73 | }, 74 | { 75 | "name": "信義區", 76 | "NorthLatitude": 25.0409201, 77 | "EastLongitude": 121.5720055 78 | }, 79 | { 80 | "name": "中正區", 81 | "NorthLatitude": 25.0421407, 82 | "EastLongitude": 121.5198716 83 | }, 84 | { 85 | "name": "中山區", 86 | "NorthLatitude": 25.0792018, 87 | "EastLongitude": 121.5427093 88 | }, 89 | { 90 | "name": "安樂區", 91 | "NorthLatitude": 25.1474144, 92 | "EastLongitude": 121.7024448 93 | }, 94 | { 95 | "name": "暖暖區", 96 | "NorthLatitude": 25.0836163, 97 | "EastLongitude": 121.748042 98 | }, 99 | { 100 | "name": "七堵區", 101 | "NorthLatitude": 25.1143924, 102 | "EastLongitude": 121.685341 103 | } 104 | ], 105 | "name": "基隆市" 106 | }, 107 | { 108 | "districts": [ 109 | { 110 | "name": "萬里區", 111 | "NorthLatitude": 25.1676024, 112 | "EastLongitude": 121.6397184 113 | }, 114 | { 115 | "name": "金山區", 116 | "NorthLatitude": 25.222309, 117 | "EastLongitude": 121.636457 118 | }, 119 | { 120 | "name": "板橋區", 121 | "NorthLatitude": 25.0114095, 122 | "EastLongitude": 121.4618415 123 | }, 124 | { 125 | "name": "汐止區", 126 | "NorthLatitude": 25.0616059, 127 | "EastLongitude": 121.6397184 128 | }, 129 | { 130 | "name": "深坑區", 131 | "NorthLatitude": 25.0033792, 132 | "EastLongitude": 121.6169002 133 | }, 134 | { 135 | "name": "石碇區", 136 | "NorthLatitude": 25.0098662, 137 | "EastLongitude": 121.6452827 138 | }, 139 | { 140 | "name": "瑞芳區", 141 | "NorthLatitude": 25.103052, 142 | "EastLongitude": 121.822098 143 | }, 144 | { 145 | "name": "平溪區", 146 | "NorthLatitude": 25.0248314, 147 | "EastLongitude": 121.7408654 148 | }, 149 | { 150 | "name": "雙溪區", 151 | "NorthLatitude": 24.9971842, 152 | "EastLongitude": 121.822098 153 | }, 154 | { 155 | "name": "貢寮區", 156 | "NorthLatitude": 25.0168762, 157 | "EastLongitude": 121.9459786 158 | }, 159 | { 160 | "name": "新店區", 161 | "NorthLatitude": 24.978282, 162 | "EastLongitude": 121.5394822 163 | }, 164 | { 165 | "name": "坪林區", 166 | "NorthLatitude": 24.9350844, 167 | "EastLongitude": 121.7107613 168 | }, 169 | { 170 | "name": "烏來區", 171 | "NorthLatitude": 24.8663721, 172 | "EastLongitude": 121.5497801 173 | }, 174 | { 175 | "name": "永和區", 176 | "NorthLatitude": 25.0103251, 177 | "EastLongitude": 121.5145353 178 | }, 179 | { 180 | "name": "中和區", 181 | "NorthLatitude": 24.9962178, 182 | "EastLongitude": 121.4853103 183 | }, 184 | { 185 | "name": "土城區", 186 | "NorthLatitude": 24.968371, 187 | "EastLongitude": 121.438034 188 | }, 189 | { 190 | "name": "三峽區", 191 | "NorthLatitude": 24.9358605, 192 | "EastLongitude": 121.3744903 193 | }, 194 | { 195 | "name": "樹林區", 196 | "NorthLatitude": 24.9815605, 197 | "EastLongitude": 121.4198606 198 | }, 199 | { 200 | "name": "鶯歌區", 201 | "NorthLatitude": 24.9614967, 202 | "EastLongitude": 121.3427262 203 | }, 204 | { 205 | "name": "三重區", 206 | "NorthLatitude": 25.0614534, 207 | "EastLongitude": 121.4867114 208 | }, 209 | { 210 | "name": "新莊區", 211 | "NorthLatitude": 25.0265985, 212 | "EastLongitude": 121.4178347 213 | }, 214 | { 215 | "name": "泰山區", 216 | "NorthLatitude": 25.0581641, 217 | "EastLongitude": 121.4327919 218 | }, 219 | { 220 | "name": "林口區", 221 | "NorthLatitude": 25.0790108, 222 | "EastLongitude": 121.3881378 223 | }, 224 | { 225 | "name": "蘆洲區", 226 | "NorthLatitude": 25.0868908, 227 | "EastLongitude": 121.4715241 228 | }, 229 | { 230 | "name": "五股區", 231 | "NorthLatitude": 25.0848317, 232 | "EastLongitude": 121.4386586 233 | }, 234 | { 235 | "name": "八里區", 236 | "NorthLatitude": 25.1443896, 237 | "EastLongitude": 121.3983016 238 | }, 239 | { 240 | "name": "淡水區", 241 | "NorthLatitude": 25.1719805, 242 | "EastLongitude": 121.4433706 243 | }, 244 | { 245 | "name": "三芝區", 246 | "NorthLatitude": 25.2593452, 247 | "EastLongitude": 121.5024341 248 | }, 249 | { 250 | "name": "石門區", 251 | "NorthLatitude": 25.2908277, 252 | "EastLongitude": 121.5671383 253 | } 254 | ], 255 | "name": "新北市" 256 | }, 257 | { 258 | "districts": [ 259 | { 260 | "name": "南竿鄉", 261 | "NorthLatitude": 26.160198, 262 | "EastLongitude": 119.9513711 263 | }, 264 | { 265 | "name": "北竿鄉", 266 | "NorthLatitude": 26.2245753, 267 | "EastLongitude": 119.9982607 268 | }, 269 | { 270 | "name": "莒光鄉", 271 | "NorthLatitude": 25.9604777, 272 | "EastLongitude": 119.9723303 273 | }, 274 | { 275 | "name": "東引鄉", 276 | "NorthLatitude": 26.376667, 277 | "EastLongitude": 120.506667 278 | } 279 | ], 280 | "name": "連江縣" 281 | }, 282 | { 283 | "districts": [ 284 | { 285 | "name": "宜蘭市", 286 | "NorthLatitude": 24.7591148, 287 | "EastLongitude": 121.7537404 288 | }, 289 | { 290 | "name": "壯圍鄉", 291 | "NorthLatitude": 24.769569, 292 | "EastLongitude": 121.7993168 293 | }, 294 | { 295 | "name": "頭城鎮", 296 | "NorthLatitude": 24.8576121, 297 | "EastLongitude": 121.8234687 298 | }, 299 | { 300 | "name": "礁溪鄉", 301 | "NorthLatitude": 24.8214206, 302 | "EastLongitude": 121.7696964 303 | }, 304 | { 305 | "name": "員山鄉", 306 | "NorthLatitude": 24.7381293, 307 | "EastLongitude": 121.662532 308 | }, 309 | { 310 | "name": "羅東鎮", 311 | "NorthLatitude": 24.6755872, 312 | "EastLongitude": 121.770825 313 | }, 314 | { 315 | "name": "三星鄉", 316 | "NorthLatitude": 24.6744894, 317 | "EastLongitude": 121.662532 318 | }, 319 | { 320 | "name": "大同鄉", 321 | "NorthLatitude": 24.5498206, 322 | "EastLongitude": 121.5141615 323 | }, 324 | { 325 | "name": "五結鄉", 326 | "NorthLatitude": 24.6887633, 327 | "EastLongitude": 121.8050125 328 | }, 329 | { 330 | "name": "冬山鄉", 331 | "NorthLatitude": 24.6550376, 332 | "EastLongitude": 121.7641363 333 | }, 334 | { 335 | "name": "蘇澳鎮", 336 | "NorthLatitude": 24.594229, 337 | "EastLongitude": 121.8533264 338 | }, 339 | { 340 | "name": "南澳鄉", 341 | "NorthLatitude": 24.4065995, 342 | "EastLongitude": 121.6739371 343 | }, 344 | { 345 | "name": "釣魚臺", 346 | "NorthLatitude": 25.7461098, 347 | "EastLongitude": 123.4747852 348 | } 349 | ], 350 | "name": "宜蘭縣" 351 | }, 352 | { 353 | "districts": [ 354 | { 355 | "name": "釣魚臺", 356 | "NorthLatitude": 25.7461098, 357 | "EastLongitude": 123.4747852 358 | } 359 | ], 360 | "name": "釣魚臺" 361 | }, 362 | { 363 | "districts": [ 364 | { 365 | "name": "東區", 366 | "NorthLatitude": 24.805166, 367 | "EastLongitude": 120.973094 368 | }, 369 | { 370 | "name": "北區", 371 | "NorthLatitude": 24.816446, 372 | "EastLongitude": 120.970639 373 | }, 374 | { 375 | "name": "香山區", 376 | "NorthLatitude": 24.7798216, 377 | "EastLongitude": 120.9302603 378 | } 379 | ], 380 | "name": "新竹市" 381 | }, 382 | { 383 | "districts": [ 384 | { 385 | "name": "寶山鄉", 386 | "NorthLatitude": 24.7427912, 387 | "EastLongitude": 120.9991032 388 | }, 389 | { 390 | "name": "竹北市", 391 | "NorthLatitude": 24.8346871, 392 | "EastLongitude": 120.9933678 393 | }, 394 | { 395 | "name": "湖口鄉", 396 | "NorthLatitude": 24.8814458, 397 | "EastLongitude": 121.0449768 398 | }, 399 | { 400 | "name": "新豐鄉", 401 | "NorthLatitude": 24.9132859, 402 | "EastLongitude": 120.9991032 403 | }, 404 | { 405 | "name": "新埔鎮", 406 | "NorthLatitude": 24.8496061, 407 | "EastLongitude": 121.0908329 408 | }, 409 | { 410 | "name": "關西鎮", 411 | "NorthLatitude": 24.8044851, 412 | "EastLongitude": 121.1481284 413 | }, 414 | { 415 | "name": "芎林鄉", 416 | "NorthLatitude": 24.765792, 417 | "EastLongitude": 121.1080244 418 | }, 419 | { 420 | "name": "竹東鎮", 421 | "NorthLatitude": 24.774922, 422 | "EastLongitude": 121.0449768 423 | }, 424 | { 425 | "name": "五峰鄉", 426 | "NorthLatitude": 24.6298238, 427 | "EastLongitude": 121.1194623 428 | }, 429 | { 430 | "name": "橫山鄉", 431 | "NorthLatitude": 24.7113011, 432 | "EastLongitude": 121.1366715 433 | }, 434 | { 435 | "name": "尖石鄉", 436 | "NorthLatitude": 24.5760667, 437 | "EastLongitude": 121.3084088 438 | }, 439 | { 440 | "name": "北埔鄉", 441 | "NorthLatitude": 24.6998411, 442 | "EastLongitude": 121.0563176 443 | }, 444 | { 445 | "name": "峨眉鄉", 446 | "NorthLatitude": 24.6788411, 447 | "EastLongitude": 120.9991032 448 | } 449 | ], 450 | "name": "新竹縣" 451 | }, 452 | { 453 | "districts": [ 454 | { 455 | "name": "中壢區", 456 | "NorthLatitude": 24.9721514, 457 | "EastLongitude": 121.2053963 458 | }, 459 | { 460 | "name": "平鎮區", 461 | "NorthLatitude": 24.9296022, 462 | "EastLongitude": 121.2053963 463 | }, 464 | { 465 | "name": "龍潭區", 466 | "NorthLatitude": 24.8444927, 467 | "EastLongitude": 121.2053963 468 | }, 469 | { 470 | "name": "楊梅區", 471 | "NorthLatitude": 24.9242108, 472 | "EastLongitude": 121.1366715 473 | }, 474 | { 475 | "name": "新屋區", 476 | "NorthLatitude": 24.9826597, 477 | "EastLongitude": 121.067907 478 | }, 479 | { 480 | "name": "觀音區", 481 | "NorthLatitude": 25.0359365, 482 | "EastLongitude": 121.1137544 483 | }, 484 | { 485 | "name": "桃園區", 486 | "NorthLatitude": 24.9934099, 487 | "EastLongitude": 121.2969674 488 | }, 489 | { 490 | "name": "龜山區", 491 | "NorthLatitude": 25.0199092, 492 | "EastLongitude": 121.3655989 493 | }, 494 | { 495 | "name": "八德區", 496 | "NorthLatitude": 24.9469059, 497 | "EastLongitude": 121.2912463 498 | }, 499 | { 500 | "name": "大溪區", 501 | "NorthLatitude": 24.8658422, 502 | "EastLongitude": 121.2969674 503 | }, 504 | { 505 | "name": "復興區", 506 | "NorthLatitude": 24.709089, 507 | "EastLongitude": 121.3770336 508 | }, 509 | { 510 | "name": "大園區", 511 | "NorthLatitude": 25.0492632, 512 | "EastLongitude": 121.193945 513 | }, 514 | { 515 | "name": "蘆竹區", 516 | "NorthLatitude": 25.0784359, 517 | "EastLongitude": 121.2969674 518 | } 519 | ], 520 | "name": "桃園市" 521 | }, 522 | { 523 | "districts": [ 524 | { 525 | "name": "竹南鎮", 526 | "NorthLatitude": 24.7009219, 527 | "EastLongitude": 120.8786026 528 | }, 529 | { 530 | "name": "頭份市", 531 | "NorthLatitude": 24.6884438, 532 | "EastLongitude": 120.9024836 533 | }, 534 | { 535 | "name": "三灣鄉", 536 | "NorthLatitude": 24.6305288, 537 | "EastLongitude": 120.9302603 538 | }, 539 | { 540 | "name": "南庄鄉", 541 | "NorthLatitude": 24.5802942, 542 | "EastLongitude": 121.0105733 543 | }, 544 | { 545 | "name": "獅潭鄉", 546 | "NorthLatitude": 24.5238661, 547 | "EastLongitude": 120.9302603 548 | }, 549 | { 550 | "name": "後龍鎮", 551 | "NorthLatitude": 24.6144348, 552 | "EastLongitude": 120.7906035 553 | }, 554 | { 555 | "name": "通霄鎮", 556 | "NorthLatitude": 24.4892617, 557 | "EastLongitude": 120.6803783 558 | }, 559 | { 560 | "name": "苑裡鎮", 561 | "NorthLatitude": 24.4098262, 562 | "EastLongitude": 120.6775054 563 | }, 564 | { 565 | "name": "苗栗市", 566 | "NorthLatitude": 24.5711502, 567 | "EastLongitude": 120.8154358 568 | }, 569 | { 570 | "name": "造橋鄉", 571 | "NorthLatitude": 24.6248068, 572 | "EastLongitude": 120.8613785 573 | }, 574 | { 575 | "name": "頭屋鄉", 576 | "NorthLatitude": 24.5765856, 577 | "EastLongitude": 120.8545433 578 | }, 579 | { 580 | "name": "公館鄉", 581 | "NorthLatitude": 24.5111399, 582 | "EastLongitude": 120.8211796 583 | }, 584 | { 585 | "name": "大湖鄉", 586 | "NorthLatitude": 24.3980966, 587 | "EastLongitude": 120.8728615 588 | }, 589 | { 590 | "name": "泰安鄉", 591 | "NorthLatitude": 24.3831955, 592 | "EastLongitude": 121.03351 593 | }, 594 | { 595 | "name": "銅鑼鄉", 596 | "NorthLatitude": 24.4481942, 597 | "EastLongitude": 120.792458 598 | }, 599 | { 600 | "name": "三義鄉", 601 | "NorthLatitude": 24.3892633, 602 | "EastLongitude": 120.769476 603 | }, 604 | { 605 | "name": "西湖鄉", 606 | "NorthLatitude": 24.5273821, 607 | "EastLongitude": 120.7608567 608 | }, 609 | { 610 | "name": "卓蘭鎮", 611 | "NorthLatitude": 24.3113039, 612 | "EastLongitude": 120.8254872 613 | } 614 | ], 615 | "name": "苗栗縣" 616 | }, 617 | { 618 | "districts": [ 619 | { 620 | "name": "中區", 621 | "NorthLatitude": 24.1402601, 622 | "EastLongitude": 120.6818181 623 | }, 624 | { 625 | "name": "東區", 626 | "NorthLatitude": 24.136549, 627 | "EastLongitude": 120.704040 628 | }, 629 | { 630 | "name": "南區", 631 | "NorthLatitude": 24.116884, 632 | "EastLongitude": 120.663784 633 | }, 634 | { 635 | "name": "西區", 636 | "NorthLatitude": 24.1430604, 637 | "EastLongitude": 120.6631289 638 | }, 639 | { 640 | "name": "北區", 641 | "NorthLatitude": 24.166128, 642 | "EastLongitude": 120.682418 643 | }, 644 | { 645 | "name": "北屯區", 646 | "NorthLatitude": 24.1815237, 647 | "EastLongitude": 120.6861019 648 | }, 649 | { 650 | "name": "西屯區", 651 | "NorthLatitude": 24.1769764, 652 | "EastLongitude": 120.6424333 653 | }, 654 | { 655 | "name": "南屯區", 656 | "NorthLatitude": 24.1471183, 657 | "EastLongitude": 120.6084832 658 | }, 659 | { 660 | "name": "太平區", 661 | "NorthLatitude": 24.1240719, 662 | "EastLongitude": 120.7170701 663 | }, 664 | { 665 | "name": "大里區", 666 | "NorthLatitude": 24.1046899, 667 | "EastLongitude": 120.6812114 668 | }, 669 | { 670 | "name": "霧峰區", 671 | "NorthLatitude": 24.044318, 672 | "EastLongitude": 120.7350013 673 | }, 674 | { 675 | "name": "烏日區", 676 | "NorthLatitude": 24.107787, 677 | "EastLongitude": 120.6380936 678 | }, 679 | { 680 | "name": "豐原區", 681 | "NorthLatitude": 24.2521213, 682 | "EastLongitude": 120.7234816 683 | }, 684 | { 685 | "name": "后里區", 686 | "NorthLatitude": 24.3088765, 687 | "EastLongitude": 120.7223705 688 | }, 689 | { 690 | "name": "石岡區", 691 | "NorthLatitude": 24.2742426, 692 | "EastLongitude": 120.7771553 693 | }, 694 | { 695 | "name": "東勢區", 696 | "NorthLatitude": 24.2599898, 697 | "EastLongitude": 120.8272085 698 | }, 699 | { 700 | "name": "和平區", 701 | "NorthLatitude": 24.3207261, 702 | "EastLongitude": 121.3084088 703 | }, 704 | { 705 | "name": "新社區", 706 | "NorthLatitude": 24.1867194, 707 | "EastLongitude": 120.8154358 708 | }, 709 | { 710 | "name": "潭子區", 711 | "NorthLatitude": 24.2163612, 712 | "EastLongitude": 120.7062535 713 | }, 714 | { 715 | "name": "大雅區", 716 | "NorthLatitude": 24.2225023, 717 | "EastLongitude": 120.6545022 718 | }, 719 | { 720 | "name": "神岡區", 721 | "NorthLatitude": 24.2499057, 722 | "EastLongitude": 120.6817589 723 | }, 724 | { 725 | "name": "大肚區", 726 | "NorthLatitude": 24.1358732, 727 | "EastLongitude": 120.5624474 728 | }, 729 | { 730 | "name": "沙鹿區", 731 | "NorthLatitude": 24.2377939, 732 | "EastLongitude": 120.5854674 733 | }, 734 | { 735 | "name": "龍井區", 736 | "NorthLatitude": 24.2101223, 737 | "EastLongitude": 120.5057794 738 | }, 739 | { 740 | "name": "梧棲區", 741 | "NorthLatitude": 24.2490793, 742 | "EastLongitude": 120.5386546 743 | }, 744 | { 745 | "name": "清水區", 746 | "NorthLatitude": 24.2754785, 747 | "EastLongitude": 120.571328 748 | }, 749 | { 750 | "name": "大甲區", 751 | "NorthLatitude": 24.3788233, 752 | "EastLongitude": 120.6487508 753 | }, 754 | { 755 | "name": "外埔區", 756 | "NorthLatitude": 24.3317733, 757 | "EastLongitude": 120.6533224 758 | }, 759 | { 760 | "name": "大安區", 761 | "NorthLatitude": 25.0249441, 762 | "EastLongitude": 121.5433783 763 | } 764 | ], 765 | "name": "臺中市" 766 | }, 767 | { 768 | "districts": [ 769 | { 770 | "name": "彰化市", 771 | "NorthLatitude": 24.0889788, 772 | "EastLongitude": 120.5566917 773 | }, 774 | { 775 | "name": "芬園鄉", 776 | "NorthLatitude": 24.013564, 777 | "EastLongitude": 120.6284031 778 | }, 779 | { 780 | "name": "花壇鄉", 781 | "NorthLatitude": 24.0288453, 782 | "EastLongitude": 120.5624474 783 | }, 784 | { 785 | "name": "秀水鄉", 786 | "NorthLatitude": 24.0348603, 787 | "EastLongitude": 120.5106372 788 | }, 789 | { 790 | "name": "鹿港鎮", 791 | "NorthLatitude": 24.0755127, 792 | "EastLongitude": 120.447285 793 | }, 794 | { 795 | "name": "福興鄉", 796 | "NorthLatitude": 24.0377011, 797 | "EastLongitude": 120.4242401 798 | }, 799 | { 800 | "name": "線西鄉", 801 | "NorthLatitude": 24.1316695, 802 | "EastLongitude": 120.4622016 803 | }, 804 | { 805 | "name": "和美鎮", 806 | "NorthLatitude": 24.1122859, 807 | "EastLongitude": 120.4983956 808 | }, 809 | { 810 | "name": "伸港鄉", 811 | "NorthLatitude": 24.158174, 812 | "EastLongitude": 120.4982653 813 | }, 814 | { 815 | "name": "員林市", 816 | "NorthLatitude": 23.959574, 817 | "EastLongitude": 120.5854674 818 | }, 819 | { 820 | "name": "社頭鄉", 821 | "NorthLatitude": 23.8992037, 822 | "EastLongitude": 120.5827201 823 | }, 824 | { 825 | "name": "永靖鄉", 826 | "NorthLatitude": 23.9202279, 827 | "EastLongitude": 120.5451797 828 | }, 829 | { 830 | "name": "埔心鄉", 831 | "NorthLatitude": 23.9430014, 832 | "EastLongitude": 120.5592918 833 | }, 834 | { 835 | "name": "溪湖鎮", 836 | "NorthLatitude": 23.9583265, 837 | "EastLongitude": 120.4933624 838 | }, 839 | { 840 | "name": "大村鄉", 841 | "NorthLatitude": 23.9890696, 842 | "EastLongitude": 120.5662224 843 | }, 844 | { 845 | "name": "埔鹽鄉", 846 | "NorthLatitude": 23.9898141, 847 | "EastLongitude": 120.447285 848 | }, 849 | { 850 | "name": "田中鎮", 851 | "NorthLatitude": 23.8525401, 852 | "EastLongitude": 120.5854674 853 | }, 854 | { 855 | "name": "北斗鎮", 856 | "NorthLatitude": 23.869208, 857 | "EastLongitude": 120.5336665 858 | }, 859 | { 860 | "name": "田尾鄉", 861 | "NorthLatitude": 23.9038461, 862 | "EastLongitude": 120.5221524 863 | }, 864 | { 865 | "name": "埤頭鄉", 866 | "NorthLatitude": 23.8776623, 867 | "EastLongitude": 120.4703258 868 | }, 869 | { 870 | "name": "溪州鄉", 871 | "NorthLatitude": 23.8247844, 872 | "EastLongitude": 120.5163949 873 | }, 874 | { 875 | "name": "竹塘鄉", 876 | "NorthLatitude": 23.8448257, 877 | "EastLongitude": 120.4242401 878 | }, 879 | { 880 | "name": "二林鎮", 881 | "NorthLatitude": 23.9141358, 882 | "EastLongitude": 120.4011911 883 | }, 884 | { 885 | "name": "大城鄉", 886 | "NorthLatitude": 23.8483614, 887 | "EastLongitude": 120.3089541 888 | }, 889 | { 890 | "name": "芳苑鄉", 891 | "NorthLatitude": 23.9455949, 892 | "EastLongitude": 120.3550808 893 | }, 894 | { 895 | "name": "二水鄉", 896 | "NorthLatitude": 23.8115197, 897 | "EastLongitude": 120.6160709 898 | } 899 | ], 900 | "name": "彰化縣" 901 | }, 902 | { 903 | "districts": [ 904 | { 905 | "name": "南投市", 906 | "NorthLatitude": 23.9179637, 907 | "EastLongitude": 120.6775054 908 | }, 909 | { 910 | "name": "中寮鄉", 911 | "NorthLatitude": 23.9058666, 912 | "EastLongitude": 120.7809676 913 | }, 914 | { 915 | "name": "草屯鎮", 916 | "NorthLatitude": 23.9933816, 917 | "EastLongitude": 120.7234992 918 | }, 919 | { 920 | "name": "國姓鄉", 921 | "NorthLatitude": 24.0564429, 922 | "EastLongitude": 120.8728615 923 | }, 924 | { 925 | "name": "埔里鎮", 926 | "NorthLatitude": 23.9932872, 927 | "EastLongitude": 120.9646866 928 | }, 929 | { 930 | "name": "仁愛鄉", 931 | "NorthLatitude": 24.0213745, 932 | "EastLongitude": 121.1252135 933 | }, 934 | { 935 | "name": "名間鄉", 936 | "NorthLatitude": 23.8537843, 937 | "EastLongitude": 120.6775054 938 | }, 939 | { 940 | "name": "集集鎮", 941 | "NorthLatitude": 23.8279876, 942 | "EastLongitude": 120.7925043 943 | }, 944 | { 945 | "name": "水里鄉", 946 | "NorthLatitude": 23.7919524, 947 | "EastLongitude": 120.8613785 948 | }, 949 | { 950 | "name": "魚池鄉", 951 | "NorthLatitude": 23.8753852, 952 | "EastLongitude": 120.9187827 953 | }, 954 | { 955 | "name": "信義鄉", 956 | "NorthLatitude": 23.6679756, 957 | "EastLongitude": 120.9876321 958 | }, 959 | { 960 | "name": "竹山鎮", 961 | "NorthLatitude": 23.712201, 962 | "EastLongitude": 120.6890055 963 | }, 964 | { 965 | "name": "鹿谷鄉", 966 | "NorthLatitude": 23.7348372, 967 | "EastLongitude": 120.7809676 968 | } 969 | ], 970 | "name": "南投縣" 971 | }, 972 | { 973 | "districts": [ 974 | { 975 | "name": "西區", 976 | "NorthLatitude": 24.1430604, 977 | "EastLongitude": 120.6631289 978 | }, 979 | { 980 | "name": "東區", 981 | "NorthLatitude": 23.478809, 982 | "EastLongitude": 120.453332 983 | } 984 | ], 985 | "name": "嘉義市" 986 | }, 987 | { 988 | "districts": [ 989 | { 990 | "name": "番路鄉", 991 | "NorthLatitude": 23.4407355, 992 | "EastLongitude": 120.6084832 993 | }, 994 | { 995 | "name": "梅山鄉", 996 | "NorthLatitude": 23.5410247, 997 | "EastLongitude": 120.6890055 998 | }, 999 | { 1000 | "name": "竹崎鄉", 1001 | "NorthLatitude": 23.5049724, 1002 | "EastLongitude": 120.6084832 1003 | }, 1004 | { 1005 | "name": "阿里山鄉", 1006 | "NorthLatitude": 23.4354677, 1007 | "EastLongitude": 120.7809676 1008 | }, 1009 | { 1010 | "name": "中埔鄉", 1011 | "NorthLatitude": 23.3995944, 1012 | "EastLongitude": 120.5509358 1013 | }, 1014 | { 1015 | "name": "大埔鄉", 1016 | "NorthLatitude": 23.3040182, 1017 | "EastLongitude": 120.5969758 1018 | }, 1019 | { 1020 | "name": "水上鄉", 1021 | "NorthLatitude": 23.4287422, 1022 | "EastLongitude": 120.4001659 1023 | }, 1024 | { 1025 | "name": "鹿草鄉", 1026 | "NorthLatitude": 23.419257, 1027 | "EastLongitude": 120.3089541 1028 | }, 1029 | { 1030 | "name": "太保市", 1031 | "NorthLatitude": 23.4964492, 1032 | "EastLongitude": 120.3837086 1033 | }, 1034 | { 1035 | "name": "朴子市", 1036 | "NorthLatitude": 23.4464152, 1037 | "EastLongitude": 120.2570421 1038 | }, 1039 | { 1040 | "name": "東石鄉", 1041 | "NorthLatitude": 23.4701923, 1042 | "EastLongitude": 120.1704766 1043 | }, 1044 | { 1045 | "name": "六腳鄉", 1046 | "NorthLatitude": 23.529833, 1047 | "EastLongitude": 120.2873266 1048 | }, 1049 | { 1050 | "name": "新港鄉", 1051 | "NorthLatitude": 23.538123, 1052 | "EastLongitude": 120.3550808 1053 | }, 1054 | { 1055 | "name": "民雄鄉", 1056 | "NorthLatitude": 23.5203579, 1057 | "EastLongitude": 120.440409 1058 | }, 1059 | { 1060 | "name": "大林鎮", 1061 | "NorthLatitude": 23.6040709, 1062 | "EastLongitude": 120.4542004 1063 | }, 1064 | { 1065 | "name": "溪口鄉", 1066 | "NorthLatitude": 23.5925564, 1067 | "EastLongitude": 120.4011911 1068 | }, 1069 | { 1070 | "name": "義竹鄉", 1071 | "NorthLatitude": 23.3530108, 1072 | "EastLongitude": 120.2166519 1073 | }, 1074 | { 1075 | "name": "布袋鎮", 1076 | "NorthLatitude": 23.3627901, 1077 | "EastLongitude": 120.1704766 1078 | } 1079 | ], 1080 | "name": "嘉義縣" 1081 | }, 1082 | { 1083 | "districts": [ 1084 | { 1085 | "name": "斗南鎮", 1086 | "NorthLatitude": 23.6771369, 1087 | "EastLongitude": 120.4760808 1088 | }, 1089 | { 1090 | "name": "大埤鄉", 1091 | "NorthLatitude": 23.6519084, 1092 | "EastLongitude": 120.4242401 1093 | }, 1094 | { 1095 | "name": "虎尾鎮", 1096 | "NorthLatitude": 23.7162184, 1097 | "EastLongitude": 120.4242401 1098 | }, 1099 | { 1100 | "name": "土庫鎮", 1101 | "NorthLatitude": 23.6882639, 1102 | "EastLongitude": 120.3550808 1103 | }, 1104 | { 1105 | "name": "褒忠鄉", 1106 | "NorthLatitude": 23.6944368, 1107 | "EastLongitude": 120.3103204 1108 | }, 1109 | { 1110 | "name": "東勢鄉", 1111 | "NorthLatitude": 23.693257, 1112 | "EastLongitude": 120.2570421 1113 | }, 1114 | { 1115 | "name": "臺西鄉", 1116 | "NorthLatitude": 23.7229714, 1117 | "EastLongitude": 120.1935663 1118 | }, 1119 | { 1120 | "name": "崙背鄉", 1121 | "NorthLatitude": 23.7601594, 1122 | "EastLongitude": 120.3531749 1123 | }, 1124 | { 1125 | "name": "麥寮鄉", 1126 | "NorthLatitude": 23.7485306, 1127 | "EastLongitude": 120.2562662 1128 | }, 1129 | { 1130 | "name": "斗六市", 1131 | "NorthLatitude": 23.7077947, 1132 | "EastLongitude": 120.5409089 1133 | }, 1134 | { 1135 | "name": "林內鄉", 1136 | "NorthLatitude": 23.7587272, 1137 | "EastLongitude": 120.6159497 1138 | }, 1139 | { 1140 | "name": "古坑鄉", 1141 | "NorthLatitude": 23.6449781, 1142 | "EastLongitude": 120.563741 1143 | }, 1144 | { 1145 | "name": "莿桐鄉", 1146 | "NorthLatitude": 23.7769338, 1147 | "EastLongitude": 120.5394232 1148 | }, 1149 | { 1150 | "name": "西螺鎮", 1151 | "NorthLatitude": 23.7755286, 1152 | "EastLongitude": 120.447285 1153 | }, 1154 | { 1155 | "name": "二崙鄉", 1156 | "NorthLatitude": 23.8155793, 1157 | "EastLongitude": 120.4062196 1158 | }, 1159 | { 1160 | "name": "北港鎮", 1161 | "NorthLatitude": 23.5958633, 1162 | "EastLongitude": 120.2858846 1163 | }, 1164 | { 1165 | "name": "水林鄉", 1166 | "NorthLatitude": 23.5628088, 1167 | "EastLongitude": 120.2397336 1168 | }, 1169 | { 1170 | "name": "口湖鄉", 1171 | "NorthLatitude": 23.6178327, 1172 | "EastLongitude": 120.1630864 1173 | }, 1174 | { 1175 | "name": "四湖鄉", 1176 | "NorthLatitude": 23.6370834, 1177 | "EastLongitude": 120.1935663 1178 | }, 1179 | { 1180 | "name": "元長鄉", 1181 | "NorthLatitude": 23.6288771, 1182 | "EastLongitude": 120.3320195 1183 | } 1184 | ], 1185 | "name": "雲林縣" 1186 | }, 1187 | { 1188 | "districts": [ 1189 | { 1190 | "name": "中西區", 1191 | "NorthLatitude": 22.992146, 1192 | "EastLongitude": 120.205448 1193 | }, 1194 | { 1195 | "name": "東區", 1196 | "NorthLatitude": 22.979973, 1197 | "EastLongitude": 120.223439 1198 | }, 1199 | { 1200 | "name": "南區", 1201 | "NorthLatitude": 22.961411, 1202 | "EastLongitude": 120.188716 1203 | }, 1204 | { 1205 | "name": "北區", 1206 | "NorthLatitude": 22.999223, 1207 | "EastLongitude": 120.202862 1208 | }, 1209 | { 1210 | "name": "安平區", 1211 | "NorthLatitude": 22.9934184, 1212 | "EastLongitude": 120.1647112 1213 | }, 1214 | { 1215 | "name": "安南區", 1216 | "NorthLatitude": 23.0585336, 1217 | "EastLongitude": 120.1358346 1218 | }, 1219 | { 1220 | "name": "永康區", 1221 | "NorthLatitude": 23.0211799, 1222 | "EastLongitude": 120.262788 1223 | }, 1224 | { 1225 | "name": "歸仁區", 1226 | "NorthLatitude": 22.9519268, 1227 | "EastLongitude": 120.2858846 1228 | }, 1229 | { 1230 | "name": "新化區", 1231 | "NorthLatitude": 23.0280873, 1232 | "EastLongitude": 120.3320195 1233 | }, 1234 | { 1235 | "name": "左鎮區", 1236 | "NorthLatitude": 23.0300785, 1237 | "EastLongitude": 120.4242401 1238 | }, 1239 | { 1240 | "name": "玉井區", 1241 | "NorthLatitude": 23.1060822, 1242 | "EastLongitude": 120.4703258 1243 | }, 1244 | { 1245 | "name": "楠西區", 1246 | "NorthLatitude": 23.1820152, 1247 | "EastLongitude": 120.5163949 1248 | }, 1249 | { 1250 | "name": "南化區", 1251 | "NorthLatitude": 23.1079133, 1252 | "EastLongitude": 120.5624474 1253 | }, 1254 | { 1255 | "name": "仁德區", 1256 | "NorthLatitude": 22.9472553, 1257 | "EastLongitude": 120.2511778 1258 | }, 1259 | { 1260 | "name": "關廟區", 1261 | "NorthLatitude": 22.9637053, 1262 | "EastLongitude": 120.3320195 1263 | }, 1264 | { 1265 | "name": "龍崎區", 1266 | "NorthLatitude": 22.9540045, 1267 | "EastLongitude": 120.378138 1268 | }, 1269 | { 1270 | "name": "官田區", 1271 | "NorthLatitude": 23.1948768, 1272 | "EastLongitude": 120.3550808 1273 | }, 1274 | { 1275 | "name": "麻豆區", 1276 | "NorthLatitude": 23.1763401, 1277 | "EastLongitude": 120.2397336 1278 | }, 1279 | { 1280 | "name": "佳里區", 1281 | "NorthLatitude": 23.1694465, 1282 | "EastLongitude": 120.1704766 1283 | }, 1284 | { 1285 | "name": "西港區", 1286 | "NorthLatitude": 23.1257853, 1287 | "EastLongitude": 120.1993381 1288 | }, 1289 | { 1290 | "name": "七股區", 1291 | "NorthLatitude": 23.1195166, 1292 | "EastLongitude": 120.1011836 1293 | }, 1294 | { 1295 | "name": "將軍區", 1296 | "NorthLatitude": 23.2054945, 1297 | "EastLongitude": 120.1011836 1298 | }, 1299 | { 1300 | "name": "學甲區", 1301 | "NorthLatitude": 23.2553798, 1302 | "EastLongitude": 120.1704766 1303 | }, 1304 | { 1305 | "name": "北門區", 1306 | "NorthLatitude": 23.2866026, 1307 | "EastLongitude": 120.1242853 1308 | }, 1309 | { 1310 | "name": "新營區", 1311 | "NorthLatitude": 23.3119567, 1312 | "EastLongitude": 120.3089541 1313 | }, 1314 | { 1315 | "name": "後壁區", 1316 | "NorthLatitude": 23.3665101, 1317 | "EastLongitude": 120.3550808 1318 | }, 1319 | { 1320 | "name": "白河區", 1321 | "NorthLatitude": 23.3336369, 1322 | "EastLongitude": 120.4588059 1323 | }, 1324 | { 1325 | "name": "東山區", 1326 | "NorthLatitude": 23.2825014, 1327 | "EastLongitude": 120.447285 1328 | }, 1329 | { 1330 | "name": "六甲區", 1331 | "NorthLatitude": 23.2426813, 1332 | "EastLongitude": 120.3320195 1333 | }, 1334 | { 1335 | "name": "下營區", 1336 | "NorthLatitude": 23.2292915, 1337 | "EastLongitude": 120.2685799 1338 | }, 1339 | { 1340 | "name": "柳營區", 1341 | "NorthLatitude": 23.2806957, 1342 | "EastLongitude": 120.3550808 1343 | }, 1344 | { 1345 | "name": "鹽水區", 1346 | "NorthLatitude": 23.2622306, 1347 | "EastLongitude": 120.2397336 1348 | }, 1349 | { 1350 | "name": "善化區", 1351 | "NorthLatitude": 23.1402613, 1352 | "EastLongitude": 120.3089541 1353 | }, 1354 | { 1355 | "name": "新市區", 1356 | "NorthLatitude": 23.0780281, 1357 | "EastLongitude": 120.2919179 1358 | }, 1359 | { 1360 | "name": "大內區", 1361 | "NorthLatitude": 23.1421962, 1362 | "EastLongitude": 120.4011911 1363 | }, 1364 | { 1365 | "name": "山上區", 1366 | "NorthLatitude": 23.0893067, 1367 | "EastLongitude": 120.3723741 1368 | }, 1369 | { 1370 | "name": "安定區", 1371 | "NorthLatitude": 23.090792, 1372 | "EastLongitude": 120.2334385 1373 | } 1374 | ], 1375 | "name": "臺南市" 1376 | }, 1377 | { 1378 | "districts": [ 1379 | { 1380 | "name": "新興區", 1381 | "NorthLatitude": 22.6283893, 1382 | "EastLongitude": 120.3060706 1383 | }, 1384 | { 1385 | "name": "前金區", 1386 | "NorthLatitude": 22.6252508, 1387 | "EastLongitude": 120.2953492 1388 | }, 1389 | { 1390 | "name": "苓雅區", 1391 | "NorthLatitude": 22.6268814, 1392 | "EastLongitude": 120.3262535 1393 | }, 1394 | { 1395 | "name": "鹽埕區", 1396 | "NorthLatitude": 22.6235157, 1397 | "EastLongitude": 120.2837442 1398 | }, 1399 | { 1400 | "name": "鼓山區", 1401 | "NorthLatitude": 22.6495866, 1402 | "EastLongitude": 120.2685799 1403 | }, 1404 | { 1405 | "name": "旗津區", 1406 | "NorthLatitude": 22.6141771, 1407 | "EastLongitude": 120.2659394 1408 | }, 1409 | { 1410 | "name": "前鎮區", 1411 | "NorthLatitude": 22.5970794, 1412 | "EastLongitude": 120.3147208 1413 | }, 1414 | { 1415 | "name": "三民區", 1416 | "NorthLatitude": 22.6483444, 1417 | "EastLongitude": 120.3262535 1418 | }, 1419 | { 1420 | "name": "楠梓區", 1421 | "NorthLatitude": 22.7175372, 1422 | "EastLongitude": 120.3031871 1423 | }, 1424 | { 1425 | "name": "小港區", 1426 | "NorthLatitude": 22.5553185, 1427 | "EastLongitude": 120.3608455 1428 | }, 1429 | { 1430 | "name": "左營區", 1431 | "NorthLatitude": 22.6877358, 1432 | "EastLongitude": 120.2916524 1433 | }, 1434 | { 1435 | "name": "仁武區", 1436 | "NorthLatitude": 22.7057951, 1437 | "EastLongitude": 120.3423604 1438 | }, 1439 | { 1440 | "name": "大社區", 1441 | "NorthLatitude": 22.7377083, 1442 | "EastLongitude": 120.3608455 1443 | }, 1444 | { 1445 | "name": "東沙群島", 1446 | "NorthLatitude": 20.7016691, 1447 | "EastLongitude": 116.7304915 1448 | }, 1449 | { 1450 | "name": "南沙群島", 1451 | "NorthLatitude": 10.723282, 1452 | "EastLongitude": 115.8264655 1453 | }, 1454 | { 1455 | "name": "岡山區", 1456 | "NorthLatitude": 22.798585, 1457 | "EastLongitude": 120.295086 1458 | }, 1459 | { 1460 | "name": "路竹區", 1461 | "NorthLatitude": 22.8494042, 1462 | "EastLongitude": 120.2628111 1463 | }, 1464 | { 1465 | "name": "阿蓮區", 1466 | "NorthLatitude": 22.8778606, 1467 | "EastLongitude": 120.3320195 1468 | }, 1469 | { 1470 | "name": "田寮區", 1471 | "NorthLatitude": 22.8633474, 1472 | "EastLongitude": 120.4011911 1473 | }, 1474 | { 1475 | "name": "燕巢區", 1476 | "NorthLatitude": 22.7823697, 1477 | "EastLongitude": 120.378138 1478 | }, 1479 | { 1480 | "name": "橋頭區", 1481 | "NorthLatitude": 22.7539031, 1482 | "EastLongitude": 120.3089574 1483 | }, 1484 | { 1485 | "name": "梓官區", 1486 | "NorthLatitude": 22.7486104, 1487 | "EastLongitude": 120.2570421 1488 | }, 1489 | { 1490 | "name": "彌陀區", 1491 | "NorthLatitude": 22.7832231, 1492 | "EastLongitude": 120.2455033 1493 | }, 1494 | { 1495 | "name": "永安區", 1496 | "NorthLatitude": 22.8112691, 1497 | "EastLongitude": 120.2397336 1498 | }, 1499 | { 1500 | "name": "湖內區", 1501 | "NorthLatitude": 22.8954184, 1502 | "EastLongitude": 120.2224227 1503 | }, 1504 | { 1505 | "name": "鳳山區", 1506 | "NorthLatitude": 22.6113591, 1507 | "EastLongitude": 120.3493158 1508 | }, 1509 | { 1510 | "name": "大寮區", 1511 | "NorthLatitude": 22.584481, 1512 | "EastLongitude": 120.4011911 1513 | }, 1514 | { 1515 | "name": "林園區", 1516 | "NorthLatitude": 22.4986756, 1517 | "EastLongitude": 120.4011911 1518 | }, 1519 | { 1520 | "name": "鳥松區", 1521 | "NorthLatitude": 22.6602052, 1522 | "EastLongitude": 120.3723741 1523 | }, 1524 | { 1525 | "name": "大樹區", 1526 | "NorthLatitude": 22.708371, 1527 | "EastLongitude": 120.4242401 1528 | }, 1529 | { 1530 | "name": "旗山區", 1531 | "NorthLatitude": 22.8702492, 1532 | "EastLongitude": 120.4703258 1533 | }, 1534 | { 1535 | "name": "美濃區", 1536 | "NorthLatitude": 22.885385, 1537 | "EastLongitude": 120.5509358 1538 | }, 1539 | { 1540 | "name": "六龜區", 1541 | "NorthLatitude": 23.0026195, 1542 | "EastLongitude": 120.6545022 1543 | }, 1544 | { 1545 | "name": "內門區", 1546 | "NorthLatitude": 22.9560087, 1547 | "EastLongitude": 120.4703258 1548 | }, 1549 | { 1550 | "name": "杉林區", 1551 | "NorthLatitude": 23.0007902, 1552 | "EastLongitude": 120.5624474 1553 | }, 1554 | { 1555 | "name": "甲仙區", 1556 | "NorthLatitude": 23.114592, 1557 | "EastLongitude": 120.6314948 1558 | }, 1559 | { 1560 | "name": "桃源區", 1561 | "NorthLatitude": 23.2280755, 1562 | "EastLongitude": 120.8498944 1563 | }, 1564 | { 1565 | "name": "那瑪夏區", 1566 | "NorthLatitude": 23.2742978, 1567 | "EastLongitude": 120.734995 1568 | }, 1569 | { 1570 | "name": "茂林區", 1571 | "NorthLatitude": 22.9319405, 1572 | "EastLongitude": 120.734995 1573 | }, 1574 | { 1575 | "name": "茄萣區", 1576 | "NorthLatitude": 22.8763476, 1577 | "EastLongitude": 120.2108809 1578 | } 1579 | ], 1580 | "name": "高雄市" 1581 | }, 1582 | { 1583 | "districts": [ 1584 | { 1585 | "name": "東沙群島", 1586 | "NorthLatitude": 20.7016691, 1587 | "EastLongitude": 116.7304915 1588 | }, 1589 | { 1590 | "name": "南沙群島", 1591 | "NorthLatitude": 10.723282, 1592 | "EastLongitude": 115.8264655 1593 | } 1594 | ], 1595 | "name": "南海島" 1596 | }, 1597 | { 1598 | "districts": [ 1599 | { 1600 | "name": "馬公市", 1601 | "NorthLatitude": 23.5706269, 1602 | "EastLongitude": 119.5774616 1603 | }, 1604 | { 1605 | "name": "西嶼鄉", 1606 | "NorthLatitude": 23.6054584, 1607 | "EastLongitude": 119.5136711 1608 | }, 1609 | { 1610 | "name": "望安鄉", 1611 | "NorthLatitude": 23.3596967, 1612 | "EastLongitude": 119.5020698 1613 | }, 1614 | { 1615 | "name": "七美鄉", 1616 | "NorthLatitude": 23.208056, 1617 | "EastLongitude": 119.428611 1618 | }, 1619 | { 1620 | "name": "白沙鄉", 1621 | "NorthLatitude": 23.6640444, 1622 | "EastLongitude": 119.5948541 1623 | }, 1624 | { 1625 | "name": "湖西鄉", 1626 | "NorthLatitude": 23.5773682, 1627 | "EastLongitude": 119.6615055 1628 | } 1629 | ], 1630 | "name": "澎湖縣" 1631 | }, 1632 | { 1633 | "districts": [ 1634 | { 1635 | "name": "金沙鎮", 1636 | "NorthLatitude": 24.4811092, 1637 | "EastLongitude": 118.4279933 1638 | }, 1639 | { 1640 | "name": "金湖鎮", 1641 | "NorthLatitude": 24.4376913, 1642 | "EastLongitude": 118.4279933 1643 | }, 1644 | { 1645 | "name": "金寧鄉", 1646 | "NorthLatitude": 24.4565774, 1647 | "EastLongitude": 118.3058515 1648 | }, 1649 | { 1650 | "name": "金城鎮", 1651 | "NorthLatitude": 24.4320647, 1652 | "EastLongitude": 118.3155101 1653 | }, 1654 | { 1655 | "name": "烈嶼鄉", 1656 | "NorthLatitude": 24.4279737, 1657 | "EastLongitude": 118.2351192 1658 | }, 1659 | { 1660 | "name": "烏坵鄉", 1661 | "NorthLatitude": 24.9917821, 1662 | "EastLongitude": 119.451303 1663 | } 1664 | ], 1665 | "name": "金門縣" 1666 | }, 1667 | { 1668 | "districts": [ 1669 | { 1670 | "name": "屏東市", 1671 | "NorthLatitude": 22.6558442, 1672 | "EastLongitude": 120.4703258 1673 | }, 1674 | { 1675 | "name": "三地門鄉", 1676 | "NorthLatitude": 22.8133088, 1677 | "EastLongitude": 120.6890055 1678 | }, 1679 | { 1680 | "name": "霧臺鄉", 1681 | "NorthLatitude": 22.7509887, 1682 | "EastLongitude": 120.7809676 1683 | }, 1684 | { 1685 | "name": "瑪家鄉", 1686 | "NorthLatitude": 22.6903584, 1687 | "EastLongitude": 120.6378794 1688 | }, 1689 | { 1690 | "name": "九如鄉", 1691 | "NorthLatitude": 22.7335733, 1692 | "EastLongitude": 120.4891517 1693 | }, 1694 | { 1695 | "name": "里港鄉", 1696 | "NorthLatitude": 22.7962363, 1697 | "EastLongitude": 120.5163949 1698 | }, 1699 | { 1700 | "name": "高樹鄉", 1701 | "NorthLatitude": 22.8254924, 1702 | "EastLongitude": 120.6003824 1703 | }, 1704 | { 1705 | "name": "鹽埔鄉", 1706 | "NorthLatitude": 22.7436807, 1707 | "EastLongitude": 120.5624474 1708 | }, 1709 | { 1710 | "name": "長治鄉", 1711 | "NorthLatitude": 22.700828, 1712 | "EastLongitude": 120.5624474 1713 | }, 1714 | { 1715 | "name": "麟洛鄉", 1716 | "NorthLatitude": 22.6515201, 1717 | "EastLongitude": 120.5259627 1718 | }, 1719 | { 1720 | "name": "竹田鄉", 1721 | "NorthLatitude": 22.5939138, 1722 | "EastLongitude": 120.5326679 1723 | }, 1724 | { 1725 | "name": "內埔鄉", 1726 | "NorthLatitude": 22.6151342, 1727 | "EastLongitude": 120.5663201 1728 | }, 1729 | { 1730 | "name": "萬丹鄉", 1731 | "NorthLatitude": 22.591522, 1732 | "EastLongitude": 120.4703258 1733 | }, 1734 | { 1735 | "name": "潮州鎮", 1736 | "NorthLatitude": 22.5294168, 1737 | "EastLongitude": 120.5624474 1738 | }, 1739 | { 1740 | "name": "泰武鄉", 1741 | "NorthLatitude": 22.5779544, 1742 | "EastLongitude": 120.6348032 1743 | }, 1744 | { 1745 | "name": "來義鄉", 1746 | "NorthLatitude": 22.4921661, 1747 | "EastLongitude": 120.6247208 1748 | }, 1749 | { 1750 | "name": "萬巒鄉", 1751 | "NorthLatitude": 22.584046, 1752 | "EastLongitude": 120.6084832 1753 | }, 1754 | { 1755 | "name": "崁頂鄉", 1756 | "NorthLatitude": 22.5158427, 1757 | "EastLongitude": 120.4991209 1758 | }, 1759 | { 1760 | "name": "新埤鄉", 1761 | "NorthLatitude": 22.4817586, 1762 | "EastLongitude": 120.5854674 1763 | }, 1764 | { 1765 | "name": "南州鄉", 1766 | "NorthLatitude": 22.4747339, 1767 | "EastLongitude": 120.5163949 1768 | }, 1769 | { 1770 | "name": "林邊鄉", 1771 | "NorthLatitude": 22.4347039, 1772 | "EastLongitude": 120.5147274 1773 | }, 1774 | { 1775 | "name": "東港鎮", 1776 | "NorthLatitude": 22.4628783, 1777 | "EastLongitude": 120.4703258 1778 | }, 1779 | { 1780 | "name": "琉球鄉", 1781 | "NorthLatitude": 22.341646, 1782 | "EastLongitude": 120.369492 1783 | }, 1784 | { 1785 | "name": "佳冬鄉", 1786 | "NorthLatitude": 22.427078, 1787 | "EastLongitude": 120.5394232 1788 | }, 1789 | { 1790 | "name": "新園鄉", 1791 | "NorthLatitude": 22.4774001, 1792 | "EastLongitude": 120.442154 1793 | }, 1794 | { 1795 | "name": "枋寮鄉", 1796 | "NorthLatitude": 22.3960688, 1797 | "EastLongitude": 120.5854674 1798 | }, 1799 | { 1800 | "name": "枋山鄉", 1801 | "NorthLatitude": 22.2606439, 1802 | "EastLongitude": 120.6573779 1803 | }, 1804 | { 1805 | "name": "春日鄉", 1806 | "NorthLatitude": 22.3851778, 1807 | "EastLongitude": 120.6890055 1808 | }, 1809 | { 1810 | "name": "獅子鄉", 1811 | "NorthLatitude": 22.2471686, 1812 | "EastLongitude": 120.734995 1813 | }, 1814 | { 1815 | "name": "車城鄉", 1816 | "NorthLatitude": 22.0843074, 1817 | "EastLongitude": 120.7464897 1818 | }, 1819 | { 1820 | "name": "牡丹鄉", 1821 | "NorthLatitude": 22.1520217, 1822 | "EastLongitude": 120.7809676 1823 | }, 1824 | { 1825 | "name": "恆春鎮", 1826 | "NorthLatitude": 22.0008277, 1827 | "EastLongitude": 120.7447638 1828 | }, 1829 | { 1830 | "name": "滿州鄉", 1831 | "NorthLatitude": 22.04385, 1832 | "EastLongitude": 120.8384093 1833 | } 1834 | ], 1835 | "name": "屏東縣" 1836 | }, 1837 | { 1838 | "districts": [ 1839 | { 1840 | "name": "臺東市", 1841 | "NorthLatitude": 22.7613207, 1842 | "EastLongitude": 121.1438152 1843 | }, 1844 | { 1845 | "name": "綠島鄉", 1846 | "NorthLatitude": 22.6620886, 1847 | "EastLongitude": 121.4901443 1848 | }, 1849 | { 1850 | "name": "蘭嶼鄉", 1851 | "NorthLatitude": 22.0269018, 1852 | "EastLongitude": 121.5415968 1853 | }, 1854 | { 1855 | "name": "延平鄉", 1856 | "NorthLatitude": 22.931996, 1857 | "EastLongitude": 121.03351 1858 | }, 1859 | { 1860 | "name": "卑南鄉", 1861 | "NorthLatitude": 22.7848196, 1862 | "EastLongitude": 121.0834446 1863 | }, 1864 | { 1865 | "name": "鹿野鄉", 1866 | "NorthLatitude": 22.9580514, 1867 | "EastLongitude": 121.1595842 1868 | }, 1869 | { 1870 | "name": "關山鎮", 1871 | "NorthLatitude": 23.0495603, 1872 | "EastLongitude": 121.1646339 1873 | }, 1874 | { 1875 | "name": "海端鄉", 1876 | "NorthLatitude": 23.1305611, 1877 | "EastLongitude": 121.1756856 1878 | }, 1879 | { 1880 | "name": "池上鄉", 1881 | "NorthLatitude": 23.120733, 1882 | "EastLongitude": 121.2161784 1883 | }, 1884 | { 1885 | "name": "東河鄉", 1886 | "NorthLatitude": 23.0691722, 1887 | "EastLongitude": 121.2855249 1888 | }, 1889 | { 1890 | "name": "成功鎮", 1891 | "NorthLatitude": 23.1261527, 1892 | "EastLongitude": 121.3655989 1893 | }, 1894 | { 1895 | "name": "長濱鄉", 1896 | "NorthLatitude": 23.3451824, 1897 | "EastLongitude": 121.43419 1898 | }, 1899 | { 1900 | "name": "太麻里鄉", 1901 | "NorthLatitude": 22.6102278, 1902 | "EastLongitude": 121.0044631 1903 | }, 1904 | { 1905 | "name": "金峰鄉", 1906 | "NorthLatitude": 22.5604145, 1907 | "EastLongitude": 120.8728615 1908 | }, 1909 | { 1910 | "name": "大武鄉", 1911 | "NorthLatitude": 22.4141954, 1912 | "EastLongitude": 120.907304 1913 | }, 1914 | { 1915 | "name": "達仁鄉", 1916 | "NorthLatitude": 22.3990588, 1917 | "EastLongitude": 120.8269231 1918 | } 1919 | ], 1920 | "name": "臺東縣" 1921 | }, 1922 | { 1923 | "districts": [ 1924 | { 1925 | "name": "花蓮市", 1926 | "NorthLatitude": 23.9910732, 1927 | "EastLongitude": 121.6111949 1928 | }, 1929 | { 1930 | "name": "新城鄉", 1931 | "NorthLatitude": 24.0327075, 1932 | "EastLongitude": 121.6043742 1933 | }, 1934 | { 1935 | "name": "秀林鄉", 1936 | "NorthLatitude": 24.3082079, 1937 | "EastLongitude": 121.7482315 1938 | }, 1939 | { 1940 | "name": "吉安鄉", 1941 | "NorthLatitude": 23.9732022, 1942 | "EastLongitude": 121.5841779 1943 | }, 1944 | { 1945 | "name": "壽豐鄉", 1946 | "NorthLatitude": 23.8593411, 1947 | "EastLongitude": 121.5598345 1948 | }, 1949 | { 1950 | "name": "鳳林鎮", 1951 | "NorthLatitude": 23.7443841, 1952 | "EastLongitude": 121.4570447 1953 | }, 1954 | { 1955 | "name": "光復鄉", 1956 | "NorthLatitude": 23.6350647, 1957 | "EastLongitude": 121.422761 1958 | }, 1959 | { 1960 | "name": "豐濱鄉", 1961 | "NorthLatitude": 23.5851901, 1962 | "EastLongitude": 121.5027404 1963 | }, 1964 | { 1965 | "name": "瑞穗鄉", 1966 | "NorthLatitude": 23.5205619, 1967 | "EastLongitude": 121.4113308 1968 | }, 1969 | { 1970 | "name": "萬榮鄉", 1971 | "NorthLatitude": 23.7245744, 1972 | "EastLongitude": 121.3084088 1973 | }, 1974 | { 1975 | "name": "玉里鎮", 1976 | "NorthLatitude": 23.3326186, 1977 | "EastLongitude": 121.3158222 1978 | }, 1979 | { 1980 | "name": "卓溪鄉", 1981 | "NorthLatitude": 23.2745084, 1982 | "EastLongitude": 121.2626305 1983 | }, 1984 | { 1985 | "name": "富里鄉", 1986 | "NorthLatitude": 23.154416, 1987 | "EastLongitude": 121.2855249 1988 | } 1989 | ], 1990 | "name": "花蓮縣" 1991 | } 1992 | ] -------------------------------------------------------------------------------- /Discord_JavaScript_Bot/config.js: -------------------------------------------------------------------------------- 1 | const Token="" 2 | const API_POST="http://150.117.110.118:10150" 3 | const API_WebSocket="ws://150.117.110.118:910" 4 | const APIkey="" 5 | 6 | //到 main.js 的路徑 7 | const Path="C:/Users/whes1015/Desktop/ExpTech_Bot/" 8 | 9 | async function main(){ 10 | 11 | } 12 | 13 | module.exports={ 14 | Token, 15 | API_POST, 16 | API_WebSocket, 17 | APIkey, 18 | Path 19 | } 20 | -------------------------------------------------------------------------------- /Discord_JavaScript_Bot/main.js: -------------------------------------------------------------------------------- 1 | const config = require('./config') 2 | const earthquake = require('./JavaScript/earthquake') 3 | 4 | const WebSocket = require('ws') 5 | const { Client, Intents } = require('discord.js') 6 | const client = new Client({ intents: [Intents.FLAGS.GUILDS] }) 7 | const ws = new WebSocket(config.API_WebSocket) 8 | 9 | ws.on('open', function open() { 10 | console.log("已連線") 11 | //#region 訂閱地震速報 EEW (需要開通) 12 | ws.send(JSON.stringify({ 13 | "APIkey": config.APIkey, 14 | "Function": "earthquakeService", 15 | "Type": "subscription", 16 | "FormatVersion": 1, 17 | "UUID": 1 18 | })) 19 | //#endregion 20 | }) 21 | 22 | ws.on('message', function message(data) { 23 | let Data = JSON.parse(data.toString()) 24 | if (Data.Function == "earthquake") { 25 | earthquake.main(Data, config, client, "926818666715152394") 26 | } 27 | }) 28 | 29 | ws.on('close', function message(data) { 30 | console.log("重新連線") 31 | }) 32 | 33 | client.on('ready', () => { 34 | console.log(`Logged in as ${client.user.tag}!`) 35 | }) 36 | 37 | client.login(config.Token) -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU AFFERO GENERAL PUBLIC LICENSE 2 | Version 3, 19 November 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU Affero General Public License is a free, copyleft license for 11 | software and other kinds of works, specifically designed to ensure 12 | cooperation with the community in the case of network server software. 13 | 14 | The licenses for most software and other practical works are designed 15 | to take away your freedom to share and change the works. By contrast, 16 | our General Public Licenses are intended to guarantee your freedom to 17 | share and change all versions of a program--to make sure it remains free 18 | software for all its users. 19 | 20 | When we speak of free software, we are referring to freedom, not 21 | price. Our General Public Licenses are designed to make sure that you 22 | have the freedom to distribute copies of free software (and charge for 23 | them if you wish), that you receive source code or can get it if you 24 | want it, that you can change the software or use pieces of it in new 25 | free programs, and that you know you can do these things. 26 | 27 | Developers that use our General Public Licenses protect your rights 28 | with two steps: (1) assert copyright on the software, and (2) offer 29 | you this License which gives you legal permission to copy, distribute 30 | and/or modify the software. 31 | 32 | A secondary benefit of defending all users' freedom is that 33 | improvements made in alternate versions of the program, if they 34 | receive widespread use, become available for other developers to 35 | incorporate. Many developers of free software are heartened and 36 | encouraged by the resulting cooperation. However, in the case of 37 | software used on network servers, this result may fail to come about. 38 | The GNU General Public License permits making a modified version and 39 | letting the public access it on a server without ever releasing its 40 | source code to the public. 41 | 42 | The GNU Affero General Public License is designed specifically to 43 | ensure that, in such cases, the modified source code becomes available 44 | to the community. It requires the operator of a network server to 45 | provide the source code of the modified version running there to the 46 | users of that server. Therefore, public use of a modified version, on 47 | a publicly accessible server, gives the public access to the source 48 | code of the modified version. 49 | 50 | An older license, called the Affero General Public License and 51 | published by Affero, was designed to accomplish similar goals. This is 52 | a different license, not a version of the Affero GPL, but Affero has 53 | released a new version of the Affero GPL which permits relicensing under 54 | this license. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | TERMS AND CONDITIONS 60 | 61 | 0. Definitions. 62 | 63 | "This License" refers to version 3 of the GNU Affero General Public License. 64 | 65 | "Copyright" also means copyright-like laws that apply to other kinds of 66 | works, such as semiconductor masks. 67 | 68 | "The Program" refers to any copyrightable work licensed under this 69 | License. Each licensee is addressed as "you". "Licensees" and 70 | "recipients" may be individuals or organizations. 71 | 72 | To "modify" a work means to copy from or adapt all or part of the work 73 | in a fashion requiring copyright permission, other than the making of an 74 | exact copy. The resulting work is called a "modified version" of the 75 | earlier work or a work "based on" the earlier work. 76 | 77 | A "covered work" means either the unmodified Program or a work based 78 | on the Program. 79 | 80 | To "propagate" a work means to do anything with it that, without 81 | permission, would make you directly or secondarily liable for 82 | infringement under applicable copyright law, except executing it on a 83 | computer or modifying a private copy. Propagation includes copying, 84 | distribution (with or without modification), making available to the 85 | public, and in some countries other activities as well. 86 | 87 | To "convey" a work means any kind of propagation that enables other 88 | parties to make or receive copies. Mere interaction with a user through 89 | a computer network, with no transfer of a copy, is not conveying. 90 | 91 | An interactive user interface displays "Appropriate Legal Notices" 92 | to the extent that it includes a convenient and prominently visible 93 | feature that (1) displays an appropriate copyright notice, and (2) 94 | tells the user that there is no warranty for the work (except to the 95 | extent that warranties are provided), that licensees may convey the 96 | work under this License, and how to view a copy of this License. If 97 | the interface presents a list of user commands or options, such as a 98 | menu, a prominent item in the list meets this criterion. 99 | 100 | 1. Source Code. 101 | 102 | The "source code" for a work means the preferred form of the work 103 | for making modifications to it. "Object code" means any non-source 104 | form of a work. 105 | 106 | A "Standard Interface" means an interface that either is an official 107 | standard defined by a recognized standards body, or, in the case of 108 | interfaces specified for a particular programming language, one that 109 | is widely used among developers working in that language. 110 | 111 | The "System Libraries" of an executable work include anything, other 112 | than the work as a whole, that (a) is included in the normal form of 113 | packaging a Major Component, but which is not part of that Major 114 | Component, and (b) serves only to enable use of the work with that 115 | Major Component, or to implement a Standard Interface for which an 116 | implementation is available to the public in source code form. A 117 | "Major Component", in this context, means a major essential component 118 | (kernel, window system, and so on) of the specific operating system 119 | (if any) on which the executable work runs, or a compiler used to 120 | produce the work, or an object code interpreter used to run it. 121 | 122 | The "Corresponding Source" for a work in object code form means all 123 | the source code needed to generate, install, and (for an executable 124 | work) run the object code and to modify the work, including scripts to 125 | control those activities. However, it does not include the work's 126 | System Libraries, or general-purpose tools or generally available free 127 | programs which are used unmodified in performing those activities but 128 | which are not part of the work. For example, Corresponding Source 129 | includes interface definition files associated with source files for 130 | the work, and the source code for shared libraries and dynamically 131 | linked subprograms that the work is specifically designed to require, 132 | such as by intimate data communication or control flow between those 133 | subprograms and other parts of the work. 134 | 135 | The Corresponding Source need not include anything that users 136 | can regenerate automatically from other parts of the Corresponding 137 | Source. 138 | 139 | The Corresponding Source for a work in source code form is that 140 | same work. 141 | 142 | 2. Basic Permissions. 143 | 144 | All rights granted under this License are granted for the term of 145 | copyright on the Program, and are irrevocable provided the stated 146 | conditions are met. This License explicitly affirms your unlimited 147 | permission to run the unmodified Program. The output from running a 148 | covered work is covered by this License only if the output, given its 149 | content, constitutes a covered work. This License acknowledges your 150 | rights of fair use or other equivalent, as provided by copyright law. 151 | 152 | You may make, run and propagate covered works that you do not 153 | convey, without conditions so long as your license otherwise remains 154 | in force. You may convey covered works to others for the sole purpose 155 | of having them make modifications exclusively for you, or provide you 156 | with facilities for running those works, provided that you comply with 157 | the terms of this License in conveying all material for which you do 158 | not control copyright. Those thus making or running the covered works 159 | for you must do so exclusively on your behalf, under your direction 160 | and control, on terms that prohibit them from making any copies of 161 | your copyrighted material outside their relationship with you. 162 | 163 | Conveying under any other circumstances is permitted solely under 164 | the conditions stated below. Sublicensing is not allowed; section 10 165 | makes it unnecessary. 166 | 167 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 168 | 169 | No covered work shall be deemed part of an effective technological 170 | measure under any applicable law fulfilling obligations under article 171 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 172 | similar laws prohibiting or restricting circumvention of such 173 | measures. 174 | 175 | When you convey a covered work, you waive any legal power to forbid 176 | circumvention of technological measures to the extent such circumvention 177 | is effected by exercising rights under this License with respect to 178 | the covered work, and you disclaim any intention to limit operation or 179 | modification of the work as a means of enforcing, against the work's 180 | users, your or third parties' legal rights to forbid circumvention of 181 | technological measures. 182 | 183 | 4. Conveying Verbatim Copies. 184 | 185 | You may convey verbatim copies of the Program's source code as you 186 | receive it, in any medium, provided that you conspicuously and 187 | appropriately publish on each copy an appropriate copyright notice; 188 | keep intact all notices stating that this License and any 189 | non-permissive terms added in accord with section 7 apply to the code; 190 | keep intact all notices of the absence of any warranty; and give all 191 | recipients a copy of this License along with the Program. 192 | 193 | You may charge any price or no price for each copy that you convey, 194 | and you may offer support or warranty protection for a fee. 195 | 196 | 5. Conveying Modified Source Versions. 197 | 198 | You may convey a work based on the Program, or the modifications to 199 | produce it from the Program, in the form of source code under the 200 | terms of section 4, provided that you also meet all of these conditions: 201 | 202 | a) The work must carry prominent notices stating that you modified 203 | it, and giving a relevant date. 204 | 205 | b) The work must carry prominent notices stating that it is 206 | released under this License and any conditions added under section 207 | 7. This requirement modifies the requirement in section 4 to 208 | "keep intact all notices". 209 | 210 | c) You must license the entire work, as a whole, under this 211 | License to anyone who comes into possession of a copy. This 212 | License will therefore apply, along with any applicable section 7 213 | additional terms, to the whole of the work, and all its parts, 214 | regardless of how they are packaged. This License gives no 215 | permission to license the work in any other way, but it does not 216 | invalidate such permission if you have separately received it. 217 | 218 | d) If the work has interactive user interfaces, each must display 219 | Appropriate Legal Notices; however, if the Program has interactive 220 | interfaces that do not display Appropriate Legal Notices, your 221 | work need not make them do so. 222 | 223 | A compilation of a covered work with other separate and independent 224 | works, which are not by their nature extensions of the covered work, 225 | and which are not combined with it such as to form a larger program, 226 | in or on a volume of a storage or distribution medium, is called an 227 | "aggregate" if the compilation and its resulting copyright are not 228 | used to limit the access or legal rights of the compilation's users 229 | beyond what the individual works permit. Inclusion of a covered work 230 | in an aggregate does not cause this License to apply to the other 231 | parts of the aggregate. 232 | 233 | 6. Conveying Non-Source Forms. 234 | 235 | You may convey a covered work in object code form under the terms 236 | of sections 4 and 5, provided that you also convey the 237 | machine-readable Corresponding Source under the terms of this License, 238 | in one of these ways: 239 | 240 | a) Convey the object code in, or embodied in, a physical product 241 | (including a physical distribution medium), accompanied by the 242 | Corresponding Source fixed on a durable physical medium 243 | customarily used for software interchange. 244 | 245 | b) Convey the object code in, or embodied in, a physical product 246 | (including a physical distribution medium), accompanied by a 247 | written offer, valid for at least three years and valid for as 248 | long as you offer spare parts or customer support for that product 249 | model, to give anyone who possesses the object code either (1) a 250 | copy of the Corresponding Source for all the software in the 251 | product that is covered by this License, on a durable physical 252 | medium customarily used for software interchange, for a price no 253 | more than your reasonable cost of physically performing this 254 | conveying of source, or (2) access to copy the 255 | Corresponding Source from a network server at no charge. 256 | 257 | c) Convey individual copies of the object code with a copy of the 258 | written offer to provide the Corresponding Source. This 259 | alternative is allowed only occasionally and noncommercially, and 260 | only if you received the object code with such an offer, in accord 261 | with subsection 6b. 262 | 263 | d) Convey the object code by offering access from a designated 264 | place (gratis or for a charge), and offer equivalent access to the 265 | Corresponding Source in the same way through the same place at no 266 | further charge. You need not require recipients to copy the 267 | Corresponding Source along with the object code. If the place to 268 | copy the object code is a network server, the Corresponding Source 269 | may be on a different server (operated by you or a third party) 270 | that supports equivalent copying facilities, provided you maintain 271 | clear directions next to the object code saying where to find the 272 | Corresponding Source. Regardless of what server hosts the 273 | Corresponding Source, you remain obligated to ensure that it is 274 | available for as long as needed to satisfy these requirements. 275 | 276 | e) Convey the object code using peer-to-peer transmission, provided 277 | you inform other peers where the object code and Corresponding 278 | Source of the work are being offered to the general public at no 279 | charge under subsection 6d. 280 | 281 | A separable portion of the object code, whose source code is excluded 282 | from the Corresponding Source as a System Library, need not be 283 | included in conveying the object code work. 284 | 285 | A "User Product" is either (1) a "consumer product", which means any 286 | tangible personal property which is normally used for personal, family, 287 | or household purposes, or (2) anything designed or sold for incorporation 288 | into a dwelling. In determining whether a product is a consumer product, 289 | doubtful cases shall be resolved in favor of coverage. For a particular 290 | product received by a particular user, "normally used" refers to a 291 | typical or common use of that class of product, regardless of the status 292 | of the particular user or of the way in which the particular user 293 | actually uses, or expects or is expected to use, the product. A product 294 | is a consumer product regardless of whether the product has substantial 295 | commercial, industrial or non-consumer uses, unless such uses represent 296 | the only significant mode of use of the product. 297 | 298 | "Installation Information" for a User Product means any methods, 299 | procedures, authorization keys, or other information required to install 300 | and execute modified versions of a covered work in that User Product from 301 | a modified version of its Corresponding Source. The information must 302 | suffice to ensure that the continued functioning of the modified object 303 | code is in no case prevented or interfered with solely because 304 | modification has been made. 305 | 306 | If you convey an object code work under this section in, or with, or 307 | specifically for use in, a User Product, and the conveying occurs as 308 | part of a transaction in which the right of possession and use of the 309 | User Product is transferred to the recipient in perpetuity or for a 310 | fixed term (regardless of how the transaction is characterized), the 311 | Corresponding Source conveyed under this section must be accompanied 312 | by the Installation Information. But this requirement does not apply 313 | if neither you nor any third party retains the ability to install 314 | modified object code on the User Product (for example, the work has 315 | been installed in ROM). 316 | 317 | The requirement to provide Installation Information does not include a 318 | requirement to continue to provide support service, warranty, or updates 319 | for a work that has been modified or installed by the recipient, or for 320 | the User Product in which it has been modified or installed. Access to a 321 | network may be denied when the modification itself materially and 322 | adversely affects the operation of the network or violates the rules and 323 | protocols for communication across the network. 324 | 325 | Corresponding Source conveyed, and Installation Information provided, 326 | in accord with this section must be in a format that is publicly 327 | documented (and with an implementation available to the public in 328 | source code form), and must require no special password or key for 329 | unpacking, reading or copying. 330 | 331 | 7. Additional Terms. 332 | 333 | "Additional permissions" are terms that supplement the terms of this 334 | License by making exceptions from one or more of its conditions. 335 | Additional permissions that are applicable to the entire Program shall 336 | be treated as though they were included in this License, to the extent 337 | that they are valid under applicable law. If additional permissions 338 | apply only to part of the Program, that part may be used separately 339 | under those permissions, but the entire Program remains governed by 340 | this License without regard to the additional permissions. 341 | 342 | When you convey a copy of a covered work, you may at your option 343 | remove any additional permissions from that copy, or from any part of 344 | it. (Additional permissions may be written to require their own 345 | removal in certain cases when you modify the work.) You may place 346 | additional permissions on material, added by you to a covered work, 347 | for which you have or can give appropriate copyright permission. 348 | 349 | Notwithstanding any other provision of this License, for material you 350 | add to a covered work, you may (if authorized by the copyright holders of 351 | that material) supplement the terms of this License with terms: 352 | 353 | a) Disclaiming warranty or limiting liability differently from the 354 | terms of sections 15 and 16 of this License; or 355 | 356 | b) Requiring preservation of specified reasonable legal notices or 357 | author attributions in that material or in the Appropriate Legal 358 | Notices displayed by works containing it; or 359 | 360 | c) Prohibiting misrepresentation of the origin of that material, or 361 | requiring that modified versions of such material be marked in 362 | reasonable ways as different from the original version; or 363 | 364 | d) Limiting the use for publicity purposes of names of licensors or 365 | authors of the material; or 366 | 367 | e) Declining to grant rights under trademark law for use of some 368 | trade names, trademarks, or service marks; or 369 | 370 | f) Requiring indemnification of licensors and authors of that 371 | material by anyone who conveys the material (or modified versions of 372 | it) with contractual assumptions of liability to the recipient, for 373 | any liability that these contractual assumptions directly impose on 374 | those licensors and authors. 375 | 376 | All other non-permissive additional terms are considered "further 377 | restrictions" within the meaning of section 10. If the Program as you 378 | received it, or any part of it, contains a notice stating that it is 379 | governed by this License along with a term that is a further 380 | restriction, you may remove that term. If a license document contains 381 | a further restriction but permits relicensing or conveying under this 382 | License, you may add to a covered work material governed by the terms 383 | of that license document, provided that the further restriction does 384 | not survive such relicensing or conveying. 385 | 386 | If you add terms to a covered work in accord with this section, you 387 | must place, in the relevant source files, a statement of the 388 | additional terms that apply to those files, or a notice indicating 389 | where to find the applicable terms. 390 | 391 | Additional terms, permissive or non-permissive, may be stated in the 392 | form of a separately written license, or stated as exceptions; 393 | the above requirements apply either way. 394 | 395 | 8. Termination. 396 | 397 | You may not propagate or modify a covered work except as expressly 398 | provided under this License. Any attempt otherwise to propagate or 399 | modify it is void, and will automatically terminate your rights under 400 | this License (including any patent licenses granted under the third 401 | paragraph of section 11). 402 | 403 | However, if you cease all violation of this License, then your 404 | license from a particular copyright holder is reinstated (a) 405 | provisionally, unless and until the copyright holder explicitly and 406 | finally terminates your license, and (b) permanently, if the copyright 407 | holder fails to notify you of the violation by some reasonable means 408 | prior to 60 days after the cessation. 409 | 410 | Moreover, your license from a particular copyright holder is 411 | reinstated permanently if the copyright holder notifies you of the 412 | violation by some reasonable means, this is the first time you have 413 | received notice of violation of this License (for any work) from that 414 | copyright holder, and you cure the violation prior to 30 days after 415 | your receipt of the notice. 416 | 417 | Termination of your rights under this section does not terminate the 418 | licenses of parties who have received copies or rights from you under 419 | this License. If your rights have been terminated and not permanently 420 | reinstated, you do not qualify to receive new licenses for the same 421 | material under section 10. 422 | 423 | 9. Acceptance Not Required for Having Copies. 424 | 425 | You are not required to accept this License in order to receive or 426 | run a copy of the Program. Ancillary propagation of a covered work 427 | occurring solely as a consequence of using peer-to-peer transmission 428 | to receive a copy likewise does not require acceptance. However, 429 | nothing other than this License grants you permission to propagate or 430 | modify any covered work. These actions infringe copyright if you do 431 | not accept this License. Therefore, by modifying or propagating a 432 | covered work, you indicate your acceptance of this License to do so. 433 | 434 | 10. Automatic Licensing of Downstream Recipients. 435 | 436 | Each time you convey a covered work, the recipient automatically 437 | receives a license from the original licensors, to run, modify and 438 | propagate that work, subject to this License. You are not responsible 439 | for enforcing compliance by third parties with this License. 440 | 441 | An "entity transaction" is a transaction transferring control of an 442 | organization, or substantially all assets of one, or subdividing an 443 | organization, or merging organizations. If propagation of a covered 444 | work results from an entity transaction, each party to that 445 | transaction who receives a copy of the work also receives whatever 446 | licenses to the work the party's predecessor in interest had or could 447 | give under the previous paragraph, plus a right to possession of the 448 | Corresponding Source of the work from the predecessor in interest, if 449 | the predecessor has it or can get it with reasonable efforts. 450 | 451 | You may not impose any further restrictions on the exercise of the 452 | rights granted or affirmed under this License. For example, you may 453 | not impose a license fee, royalty, or other charge for exercise of 454 | rights granted under this License, and you may not initiate litigation 455 | (including a cross-claim or counterclaim in a lawsuit) alleging that 456 | any patent claim is infringed by making, using, selling, offering for 457 | sale, or importing the Program or any portion of it. 458 | 459 | 11. Patents. 460 | 461 | A "contributor" is a copyright holder who authorizes use under this 462 | License of the Program or a work on which the Program is based. The 463 | work thus licensed is called the contributor's "contributor version". 464 | 465 | A contributor's "essential patent claims" are all patent claims 466 | owned or controlled by the contributor, whether already acquired or 467 | hereafter acquired, that would be infringed by some manner, permitted 468 | by this License, of making, using, or selling its contributor version, 469 | but do not include claims that would be infringed only as a 470 | consequence of further modification of the contributor version. For 471 | purposes of this definition, "control" includes the right to grant 472 | patent sublicenses in a manner consistent with the requirements of 473 | this License. 474 | 475 | Each contributor grants you a non-exclusive, worldwide, royalty-free 476 | patent license under the contributor's essential patent claims, to 477 | make, use, sell, offer for sale, import and otherwise run, modify and 478 | propagate the contents of its contributor version. 479 | 480 | In the following three paragraphs, a "patent license" is any express 481 | agreement or commitment, however denominated, not to enforce a patent 482 | (such as an express permission to practice a patent or covenant not to 483 | sue for patent infringement). To "grant" such a patent license to a 484 | party means to make such an agreement or commitment not to enforce a 485 | patent against the party. 486 | 487 | If you convey a covered work, knowingly relying on a patent license, 488 | and the Corresponding Source of the work is not available for anyone 489 | to copy, free of charge and under the terms of this License, through a 490 | publicly available network server or other readily accessible means, 491 | then you must either (1) cause the Corresponding Source to be so 492 | available, or (2) arrange to deprive yourself of the benefit of the 493 | patent license for this particular work, or (3) arrange, in a manner 494 | consistent with the requirements of this License, to extend the patent 495 | license to downstream recipients. "Knowingly relying" means you have 496 | actual knowledge that, but for the patent license, your conveying the 497 | covered work in a country, or your recipient's use of the covered work 498 | in a country, would infringe one or more identifiable patents in that 499 | country that you have reason to believe are valid. 500 | 501 | If, pursuant to or in connection with a single transaction or 502 | arrangement, you convey, or propagate by procuring conveyance of, a 503 | covered work, and grant a patent license to some of the parties 504 | receiving the covered work authorizing them to use, propagate, modify 505 | or convey a specific copy of the covered work, then the patent license 506 | you grant is automatically extended to all recipients of the covered 507 | work and works based on it. 508 | 509 | A patent license is "discriminatory" if it does not include within 510 | the scope of its coverage, prohibits the exercise of, or is 511 | conditioned on the non-exercise of one or more of the rights that are 512 | specifically granted under this License. You may not convey a covered 513 | work if you are a party to an arrangement with a third party that is 514 | in the business of distributing software, under which you make payment 515 | to the third party based on the extent of your activity of conveying 516 | the work, and under which the third party grants, to any of the 517 | parties who would receive the covered work from you, a discriminatory 518 | patent license (a) in connection with copies of the covered work 519 | conveyed by you (or copies made from those copies), or (b) primarily 520 | for and in connection with specific products or compilations that 521 | contain the covered work, unless you entered into that arrangement, 522 | or that patent license was granted, prior to 28 March 2007. 523 | 524 | Nothing in this License shall be construed as excluding or limiting 525 | any implied license or other defenses to infringement that may 526 | otherwise be available to you under applicable patent law. 527 | 528 | 12. No Surrender of Others' Freedom. 529 | 530 | If conditions are imposed on you (whether by court order, agreement or 531 | otherwise) that contradict the conditions of this License, they do not 532 | excuse you from the conditions of this License. If you cannot convey a 533 | covered work so as to satisfy simultaneously your obligations under this 534 | License and any other pertinent obligations, then as a consequence you may 535 | not convey it at all. For example, if you agree to terms that obligate you 536 | to collect a royalty for further conveying from those to whom you convey 537 | the Program, the only way you could satisfy both those terms and this 538 | License would be to refrain entirely from conveying the Program. 539 | 540 | 13. Remote Network Interaction; Use with the GNU General Public License. 541 | 542 | Notwithstanding any other provision of this License, if you modify the 543 | Program, your modified version must prominently offer all users 544 | interacting with it remotely through a computer network (if your version 545 | supports such interaction) an opportunity to receive the Corresponding 546 | Source of your version by providing access to the Corresponding Source 547 | from a network server at no charge, through some standard or customary 548 | means of facilitating copying of software. This Corresponding Source 549 | shall include the Corresponding Source for any work covered by version 3 550 | of the GNU General Public License that is incorporated pursuant to the 551 | following paragraph. 552 | 553 | Notwithstanding any other provision of this License, you have 554 | permission to link or combine any covered work with a work licensed 555 | under version 3 of the GNU General Public License into a single 556 | combined work, and to convey the resulting work. The terms of this 557 | License will continue to apply to the part which is the covered work, 558 | but the work with which it is combined will remain governed by version 559 | 3 of the GNU General Public License. 560 | 561 | 14. Revised Versions of this License. 562 | 563 | The Free Software Foundation may publish revised and/or new versions of 564 | the GNU Affero General Public License from time to time. Such new versions 565 | will be similar in spirit to the present version, but may differ in detail to 566 | address new problems or concerns. 567 | 568 | Each version is given a distinguishing version number. If the 569 | Program specifies that a certain numbered version of the GNU Affero General 570 | Public License "or any later version" applies to it, you have the 571 | option of following the terms and conditions either of that numbered 572 | version or of any later version published by the Free Software 573 | Foundation. If the Program does not specify a version number of the 574 | GNU Affero General Public License, you may choose any version ever published 575 | by the Free Software Foundation. 576 | 577 | If the Program specifies that a proxy can decide which future 578 | versions of the GNU Affero General Public License can be used, that proxy's 579 | public statement of acceptance of a version permanently authorizes you 580 | to choose that version for the Program. 581 | 582 | Later license versions may give you additional or different 583 | permissions. However, no additional obligations are imposed on any 584 | author or copyright holder as a result of your choosing to follow a 585 | later version. 586 | 587 | 15. Disclaimer of Warranty. 588 | 589 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 590 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 591 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 592 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 593 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 594 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 595 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 596 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 597 | 598 | 16. Limitation of Liability. 599 | 600 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 601 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 602 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 603 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 604 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 605 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 606 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 607 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 608 | SUCH DAMAGES. 609 | 610 | 17. Interpretation of Sections 15 and 16. 611 | 612 | If the disclaimer of warranty and limitation of liability provided 613 | above cannot be given local legal effect according to their terms, 614 | reviewing courts shall apply local law that most closely approximates 615 | an absolute waiver of all civil liability in connection with the 616 | Program, unless a warranty or assumption of liability accompanies a 617 | copy of the Program in return for a fee. 618 | 619 | END OF TERMS AND CONDITIONS 620 | 621 | How to Apply These Terms to Your New Programs 622 | 623 | If you develop a new program, and you want it to be of the greatest 624 | possible use to the public, the best way to achieve this is to make it 625 | free software which everyone can redistribute and change under these terms. 626 | 627 | To do so, attach the following notices to the program. It is safest 628 | to attach them to the start of each source file to most effectively 629 | state the exclusion of warranty; and each file should have at least 630 | the "copyright" line and a pointer to where the full notice is found. 631 | 632 | 633 | Copyright (C) 634 | 635 | This program is free software: you can redistribute it and/or modify 636 | it under the terms of the GNU Affero General Public License as published 637 | by the Free Software Foundation, either version 3 of the License, or 638 | (at your option) any later version. 639 | 640 | This program is distributed in the hope that it will be useful, 641 | but WITHOUT ANY WARRANTY; without even the implied warranty of 642 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 643 | GNU Affero General Public License for more details. 644 | 645 | You should have received a copy of the GNU Affero General Public License 646 | along with this program. If not, see . 647 | 648 | Also add information on how to contact you by electronic and paper mail. 649 | 650 | If your software can interact with users remotely through a computer 651 | network, you should also make sure that it provides a way for users to 652 | get its source. For example, if your program is a web application, its 653 | interface could display a "Source" link that leads users to an archive 654 | of the code. There are many ways you could offer source, and different 655 | solutions will be better for different programs; see section 13 for the 656 | specific requirements. 657 | 658 | You should also get your employer (if you work as a programmer) or school, 659 | if any, to sign a "copyright disclaimer" for the program, if necessary. 660 | For more information on this, and how to apply and follow the GNU AGPL, see 661 | . 662 | -------------------------------------------------------------------------------- /Line_JavaScript_Bot/JavaScript/earthquake.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | 3 | let time = 0 4 | 5 | async function main(data, config, client, channel) { 6 | if (time == data.Time) return 7 | let test = "" 8 | if (data.Test != undefined) test = " (測試)" 9 | time = data.Time 10 | let DATE = new Date(Number(data.Time)) 11 | let now = new Date() 12 | let date = DATE.getFullYear() + 13 | "/" + (DATE.getMonth() + 1) + 14 | "/" + DATE.getDate() + 15 | " " + DATE.getHours() + 16 | ":" + DATE.getMinutes() + 17 | ":" + DATE.getSeconds() 18 | let Now = now.getFullYear() + 19 | "/" + (now.getMonth() + 1) + 20 | "/" + now.getDate() + 21 | " " + now.getHours() + 22 | ":" + now.getMinutes() + 23 | ":" + now.getSeconds() 24 | 25 | let level = "" 26 | let levelPoint = "" 27 | if (Number(data.Depth) >= 300) { 28 | level = "深層" 29 | levelPoint = "🟩" 30 | } else if (Number(data.Depth) >= 70) { 31 | level = "中層" 32 | levelPoint = "🟨" 33 | } else if (Number(data.Depth) >= 30) { 34 | level = "淺層" 35 | levelPoint = "🟧" 36 | } else { 37 | level = "極淺層" 38 | levelPoint = "🟥" 39 | } 40 | client.push(channel, [{ 41 | type: 'text', 42 | text: `⚠️ EEW 地震速報 ${test}\n${date} 左右發生顯著有感地震\n\n東經: ${data.EastLongitude} 度\n北緯: ${data.NorthLatitude} 度\n深度: ${data.Depth} 公里 (${level} ${levelPoint})\n規模: 芮氏 ${data.Scale}\n最大震度: ${data.MaximumSeismicIntensity} 級\n\n慎防強烈搖晃,就近避難 [趴下、掩護、穩住]` 43 | }, { 44 | type: 'image', 45 | originalContentUrl: `https://exptech.mywire.org/earthquake/${data.Time}.png`, 46 | previewImageUrl: `https://exptech.mywire.org/earthquake/${data.Time}.png` 47 | }]) 48 | } 49 | 50 | module.exports = { 51 | main 52 | } -------------------------------------------------------------------------------- /Line_JavaScript_Bot/Json/location.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "districts": [ 4 | { 5 | "name": "中正區", 6 | "NorthLatitude": 25.0421407, 7 | "EastLongitude": 121.5198716 8 | }, 9 | { 10 | "name": "大同區", 11 | "NorthLatitude": 25.0627243, 12 | "EastLongitude": 121.5113064 13 | }, 14 | { 15 | "name": "中山區", 16 | "NorthLatitude": 25.0792018, 17 | "EastLongitude": 121.5427093 18 | }, 19 | { 20 | "name": "松山區", 21 | "NorthLatitude": 25.0541591, 22 | "EastLongitude": 121.5638621 23 | }, 24 | { 25 | "name": "大安區", 26 | "NorthLatitude": 25.0249441, 27 | "EastLongitude": 121.5433783 28 | }, 29 | { 30 | "name": "萬華區", 31 | "NorthLatitude": 25.0262857, 32 | "EastLongitude": 121.4970294 33 | }, 34 | { 35 | "name": "信義區", 36 | "NorthLatitude": 25.0409201, 37 | "EastLongitude": 121.5720055 38 | }, 39 | { 40 | "name": "士林區", 41 | "NorthLatitude": 25.0950492, 42 | "EastLongitude": 121.5246077 43 | }, 44 | { 45 | "name": "北投區", 46 | "NorthLatitude": 25.1151759, 47 | "EastLongitude": 121.515018 48 | }, 49 | { 50 | "name": "內湖區", 51 | "NorthLatitude": 25.0689422, 52 | "EastLongitude": 121.5909027 53 | }, 54 | { 55 | "name": "南港區", 56 | "NorthLatitude": 25.0312347, 57 | "EastLongitude": 121.6111949 58 | }, 59 | { 60 | "name": "文山區", 61 | "NorthLatitude": 24.9929212, 62 | "EastLongitude": 121.57125 63 | } 64 | ], 65 | "name": "臺北市" 66 | }, 67 | { 68 | "districts": [ 69 | { 70 | "name": "仁愛區", 71 | "NorthLatitude": 25.1187161, 72 | "EastLongitude": 121.7451927 73 | }, 74 | { 75 | "name": "信義區", 76 | "NorthLatitude": 25.0409201, 77 | "EastLongitude": 121.5720055 78 | }, 79 | { 80 | "name": "中正區", 81 | "NorthLatitude": 25.0421407, 82 | "EastLongitude": 121.5198716 83 | }, 84 | { 85 | "name": "中山區", 86 | "NorthLatitude": 25.0792018, 87 | "EastLongitude": 121.5427093 88 | }, 89 | { 90 | "name": "安樂區", 91 | "NorthLatitude": 25.1474144, 92 | "EastLongitude": 121.7024448 93 | }, 94 | { 95 | "name": "暖暖區", 96 | "NorthLatitude": 25.0836163, 97 | "EastLongitude": 121.748042 98 | }, 99 | { 100 | "name": "七堵區", 101 | "NorthLatitude": 25.1143924, 102 | "EastLongitude": 121.685341 103 | } 104 | ], 105 | "name": "基隆市" 106 | }, 107 | { 108 | "districts": [ 109 | { 110 | "name": "萬里區", 111 | "NorthLatitude": 25.1676024, 112 | "EastLongitude": 121.6397184 113 | }, 114 | { 115 | "name": "金山區", 116 | "NorthLatitude": 25.222309, 117 | "EastLongitude": 121.636457 118 | }, 119 | { 120 | "name": "板橋區", 121 | "NorthLatitude": 25.0114095, 122 | "EastLongitude": 121.4618415 123 | }, 124 | { 125 | "name": "汐止區", 126 | "NorthLatitude": 25.0616059, 127 | "EastLongitude": 121.6397184 128 | }, 129 | { 130 | "name": "深坑區", 131 | "NorthLatitude": 25.0033792, 132 | "EastLongitude": 121.6169002 133 | }, 134 | { 135 | "name": "石碇區", 136 | "NorthLatitude": 25.0098662, 137 | "EastLongitude": 121.6452827 138 | }, 139 | { 140 | "name": "瑞芳區", 141 | "NorthLatitude": 25.103052, 142 | "EastLongitude": 121.822098 143 | }, 144 | { 145 | "name": "平溪區", 146 | "NorthLatitude": 25.0248314, 147 | "EastLongitude": 121.7408654 148 | }, 149 | { 150 | "name": "雙溪區", 151 | "NorthLatitude": 24.9971842, 152 | "EastLongitude": 121.822098 153 | }, 154 | { 155 | "name": "貢寮區", 156 | "NorthLatitude": 25.0168762, 157 | "EastLongitude": 121.9459786 158 | }, 159 | { 160 | "name": "新店區", 161 | "NorthLatitude": 24.978282, 162 | "EastLongitude": 121.5394822 163 | }, 164 | { 165 | "name": "坪林區", 166 | "NorthLatitude": 24.9350844, 167 | "EastLongitude": 121.7107613 168 | }, 169 | { 170 | "name": "烏來區", 171 | "NorthLatitude": 24.8663721, 172 | "EastLongitude": 121.5497801 173 | }, 174 | { 175 | "name": "永和區", 176 | "NorthLatitude": 25.0103251, 177 | "EastLongitude": 121.5145353 178 | }, 179 | { 180 | "name": "中和區", 181 | "NorthLatitude": 24.9962178, 182 | "EastLongitude": 121.4853103 183 | }, 184 | { 185 | "name": "土城區", 186 | "NorthLatitude": 24.968371, 187 | "EastLongitude": 121.438034 188 | }, 189 | { 190 | "name": "三峽區", 191 | "NorthLatitude": 24.9358605, 192 | "EastLongitude": 121.3744903 193 | }, 194 | { 195 | "name": "樹林區", 196 | "NorthLatitude": 24.9815605, 197 | "EastLongitude": 121.4198606 198 | }, 199 | { 200 | "name": "鶯歌區", 201 | "NorthLatitude": 24.9614967, 202 | "EastLongitude": 121.3427262 203 | }, 204 | { 205 | "name": "三重區", 206 | "NorthLatitude": 25.0614534, 207 | "EastLongitude": 121.4867114 208 | }, 209 | { 210 | "name": "新莊區", 211 | "NorthLatitude": 25.0265985, 212 | "EastLongitude": 121.4178347 213 | }, 214 | { 215 | "name": "泰山區", 216 | "NorthLatitude": 25.0581641, 217 | "EastLongitude": 121.4327919 218 | }, 219 | { 220 | "name": "林口區", 221 | "NorthLatitude": 25.0790108, 222 | "EastLongitude": 121.3881378 223 | }, 224 | { 225 | "name": "蘆洲區", 226 | "NorthLatitude": 25.0868908, 227 | "EastLongitude": 121.4715241 228 | }, 229 | { 230 | "name": "五股區", 231 | "NorthLatitude": 25.0848317, 232 | "EastLongitude": 121.4386586 233 | }, 234 | { 235 | "name": "八里區", 236 | "NorthLatitude": 25.1443896, 237 | "EastLongitude": 121.3983016 238 | }, 239 | { 240 | "name": "淡水區", 241 | "NorthLatitude": 25.1719805, 242 | "EastLongitude": 121.4433706 243 | }, 244 | { 245 | "name": "三芝區", 246 | "NorthLatitude": 25.2593452, 247 | "EastLongitude": 121.5024341 248 | }, 249 | { 250 | "name": "石門區", 251 | "NorthLatitude": 25.2908277, 252 | "EastLongitude": 121.5671383 253 | } 254 | ], 255 | "name": "新北市" 256 | }, 257 | { 258 | "districts": [ 259 | { 260 | "name": "南竿鄉", 261 | "NorthLatitude": 26.160198, 262 | "EastLongitude": 119.9513711 263 | }, 264 | { 265 | "name": "北竿鄉", 266 | "NorthLatitude": 26.2245753, 267 | "EastLongitude": 119.9982607 268 | }, 269 | { 270 | "name": "莒光鄉", 271 | "NorthLatitude": 25.9604777, 272 | "EastLongitude": 119.9723303 273 | }, 274 | { 275 | "name": "東引鄉", 276 | "NorthLatitude": 26.376667, 277 | "EastLongitude": 120.506667 278 | } 279 | ], 280 | "name": "連江縣" 281 | }, 282 | { 283 | "districts": [ 284 | { 285 | "name": "宜蘭市", 286 | "NorthLatitude": 24.7591148, 287 | "EastLongitude": 121.7537404 288 | }, 289 | { 290 | "name": "壯圍鄉", 291 | "NorthLatitude": 24.769569, 292 | "EastLongitude": 121.7993168 293 | }, 294 | { 295 | "name": "頭城鎮", 296 | "NorthLatitude": 24.8576121, 297 | "EastLongitude": 121.8234687 298 | }, 299 | { 300 | "name": "礁溪鄉", 301 | "NorthLatitude": 24.8214206, 302 | "EastLongitude": 121.7696964 303 | }, 304 | { 305 | "name": "員山鄉", 306 | "NorthLatitude": 24.7381293, 307 | "EastLongitude": 121.662532 308 | }, 309 | { 310 | "name": "羅東鎮", 311 | "NorthLatitude": 24.6755872, 312 | "EastLongitude": 121.770825 313 | }, 314 | { 315 | "name": "三星鄉", 316 | "NorthLatitude": 24.6744894, 317 | "EastLongitude": 121.662532 318 | }, 319 | { 320 | "name": "大同鄉", 321 | "NorthLatitude": 24.5498206, 322 | "EastLongitude": 121.5141615 323 | }, 324 | { 325 | "name": "五結鄉", 326 | "NorthLatitude": 24.6887633, 327 | "EastLongitude": 121.8050125 328 | }, 329 | { 330 | "name": "冬山鄉", 331 | "NorthLatitude": 24.6550376, 332 | "EastLongitude": 121.7641363 333 | }, 334 | { 335 | "name": "蘇澳鎮", 336 | "NorthLatitude": 24.594229, 337 | "EastLongitude": 121.8533264 338 | }, 339 | { 340 | "name": "南澳鄉", 341 | "NorthLatitude": 24.4065995, 342 | "EastLongitude": 121.6739371 343 | }, 344 | { 345 | "name": "釣魚臺", 346 | "NorthLatitude": 25.7461098, 347 | "EastLongitude": 123.4747852 348 | } 349 | ], 350 | "name": "宜蘭縣" 351 | }, 352 | { 353 | "districts": [ 354 | { 355 | "name": "釣魚臺", 356 | "NorthLatitude": 25.7461098, 357 | "EastLongitude": 123.4747852 358 | } 359 | ], 360 | "name": "釣魚臺" 361 | }, 362 | { 363 | "districts": [ 364 | { 365 | "name": "東區", 366 | "NorthLatitude": 24.805166, 367 | "EastLongitude": 120.973094 368 | }, 369 | { 370 | "name": "北區", 371 | "NorthLatitude": 24.816446, 372 | "EastLongitude": 120.970639 373 | }, 374 | { 375 | "name": "香山區", 376 | "NorthLatitude": 24.7798216, 377 | "EastLongitude": 120.9302603 378 | } 379 | ], 380 | "name": "新竹市" 381 | }, 382 | { 383 | "districts": [ 384 | { 385 | "name": "寶山鄉", 386 | "NorthLatitude": 24.7427912, 387 | "EastLongitude": 120.9991032 388 | }, 389 | { 390 | "name": "竹北市", 391 | "NorthLatitude": 24.8346871, 392 | "EastLongitude": 120.9933678 393 | }, 394 | { 395 | "name": "湖口鄉", 396 | "NorthLatitude": 24.8814458, 397 | "EastLongitude": 121.0449768 398 | }, 399 | { 400 | "name": "新豐鄉", 401 | "NorthLatitude": 24.9132859, 402 | "EastLongitude": 120.9991032 403 | }, 404 | { 405 | "name": "新埔鎮", 406 | "NorthLatitude": 24.8496061, 407 | "EastLongitude": 121.0908329 408 | }, 409 | { 410 | "name": "關西鎮", 411 | "NorthLatitude": 24.8044851, 412 | "EastLongitude": 121.1481284 413 | }, 414 | { 415 | "name": "芎林鄉", 416 | "NorthLatitude": 24.765792, 417 | "EastLongitude": 121.1080244 418 | }, 419 | { 420 | "name": "竹東鎮", 421 | "NorthLatitude": 24.774922, 422 | "EastLongitude": 121.0449768 423 | }, 424 | { 425 | "name": "五峰鄉", 426 | "NorthLatitude": 24.6298238, 427 | "EastLongitude": 121.1194623 428 | }, 429 | { 430 | "name": "橫山鄉", 431 | "NorthLatitude": 24.7113011, 432 | "EastLongitude": 121.1366715 433 | }, 434 | { 435 | "name": "尖石鄉", 436 | "NorthLatitude": 24.5760667, 437 | "EastLongitude": 121.3084088 438 | }, 439 | { 440 | "name": "北埔鄉", 441 | "NorthLatitude": 24.6998411, 442 | "EastLongitude": 121.0563176 443 | }, 444 | { 445 | "name": "峨眉鄉", 446 | "NorthLatitude": 24.6788411, 447 | "EastLongitude": 120.9991032 448 | } 449 | ], 450 | "name": "新竹縣" 451 | }, 452 | { 453 | "districts": [ 454 | { 455 | "name": "中壢區", 456 | "NorthLatitude": 24.9721514, 457 | "EastLongitude": 121.2053963 458 | }, 459 | { 460 | "name": "平鎮區", 461 | "NorthLatitude": 24.9296022, 462 | "EastLongitude": 121.2053963 463 | }, 464 | { 465 | "name": "龍潭區", 466 | "NorthLatitude": 24.8444927, 467 | "EastLongitude": 121.2053963 468 | }, 469 | { 470 | "name": "楊梅區", 471 | "NorthLatitude": 24.9242108, 472 | "EastLongitude": 121.1366715 473 | }, 474 | { 475 | "name": "新屋區", 476 | "NorthLatitude": 24.9826597, 477 | "EastLongitude": 121.067907 478 | }, 479 | { 480 | "name": "觀音區", 481 | "NorthLatitude": 25.0359365, 482 | "EastLongitude": 121.1137544 483 | }, 484 | { 485 | "name": "桃園區", 486 | "NorthLatitude": 24.9934099, 487 | "EastLongitude": 121.2969674 488 | }, 489 | { 490 | "name": "龜山區", 491 | "NorthLatitude": 25.0199092, 492 | "EastLongitude": 121.3655989 493 | }, 494 | { 495 | "name": "八德區", 496 | "NorthLatitude": 24.9469059, 497 | "EastLongitude": 121.2912463 498 | }, 499 | { 500 | "name": "大溪區", 501 | "NorthLatitude": 24.8658422, 502 | "EastLongitude": 121.2969674 503 | }, 504 | { 505 | "name": "復興區", 506 | "NorthLatitude": 24.709089, 507 | "EastLongitude": 121.3770336 508 | }, 509 | { 510 | "name": "大園區", 511 | "NorthLatitude": 25.0492632, 512 | "EastLongitude": 121.193945 513 | }, 514 | { 515 | "name": "蘆竹區", 516 | "NorthLatitude": 25.0784359, 517 | "EastLongitude": 121.2969674 518 | } 519 | ], 520 | "name": "桃園市" 521 | }, 522 | { 523 | "districts": [ 524 | { 525 | "name": "竹南鎮", 526 | "NorthLatitude": 24.7009219, 527 | "EastLongitude": 120.8786026 528 | }, 529 | { 530 | "name": "頭份市", 531 | "NorthLatitude": 24.6884438, 532 | "EastLongitude": 120.9024836 533 | }, 534 | { 535 | "name": "三灣鄉", 536 | "NorthLatitude": 24.6305288, 537 | "EastLongitude": 120.9302603 538 | }, 539 | { 540 | "name": "南庄鄉", 541 | "NorthLatitude": 24.5802942, 542 | "EastLongitude": 121.0105733 543 | }, 544 | { 545 | "name": "獅潭鄉", 546 | "NorthLatitude": 24.5238661, 547 | "EastLongitude": 120.9302603 548 | }, 549 | { 550 | "name": "後龍鎮", 551 | "NorthLatitude": 24.6144348, 552 | "EastLongitude": 120.7906035 553 | }, 554 | { 555 | "name": "通霄鎮", 556 | "NorthLatitude": 24.4892617, 557 | "EastLongitude": 120.6803783 558 | }, 559 | { 560 | "name": "苑裡鎮", 561 | "NorthLatitude": 24.4098262, 562 | "EastLongitude": 120.6775054 563 | }, 564 | { 565 | "name": "苗栗市", 566 | "NorthLatitude": 24.5711502, 567 | "EastLongitude": 120.8154358 568 | }, 569 | { 570 | "name": "造橋鄉", 571 | "NorthLatitude": 24.6248068, 572 | "EastLongitude": 120.8613785 573 | }, 574 | { 575 | "name": "頭屋鄉", 576 | "NorthLatitude": 24.5765856, 577 | "EastLongitude": 120.8545433 578 | }, 579 | { 580 | "name": "公館鄉", 581 | "NorthLatitude": 24.5111399, 582 | "EastLongitude": 120.8211796 583 | }, 584 | { 585 | "name": "大湖鄉", 586 | "NorthLatitude": 24.3980966, 587 | "EastLongitude": 120.8728615 588 | }, 589 | { 590 | "name": "泰安鄉", 591 | "NorthLatitude": 24.3831955, 592 | "EastLongitude": 121.03351 593 | }, 594 | { 595 | "name": "銅鑼鄉", 596 | "NorthLatitude": 24.4481942, 597 | "EastLongitude": 120.792458 598 | }, 599 | { 600 | "name": "三義鄉", 601 | "NorthLatitude": 24.3892633, 602 | "EastLongitude": 120.769476 603 | }, 604 | { 605 | "name": "西湖鄉", 606 | "NorthLatitude": 24.5273821, 607 | "EastLongitude": 120.7608567 608 | }, 609 | { 610 | "name": "卓蘭鎮", 611 | "NorthLatitude": 24.3113039, 612 | "EastLongitude": 120.8254872 613 | } 614 | ], 615 | "name": "苗栗縣" 616 | }, 617 | { 618 | "districts": [ 619 | { 620 | "name": "中區", 621 | "NorthLatitude": 24.1402601, 622 | "EastLongitude": 120.6818181 623 | }, 624 | { 625 | "name": "東區", 626 | "NorthLatitude": 24.136549, 627 | "EastLongitude": 120.704040 628 | }, 629 | { 630 | "name": "南區", 631 | "NorthLatitude": 24.116884, 632 | "EastLongitude": 120.663784 633 | }, 634 | { 635 | "name": "西區", 636 | "NorthLatitude": 24.1430604, 637 | "EastLongitude": 120.6631289 638 | }, 639 | { 640 | "name": "北區", 641 | "NorthLatitude": 24.166128, 642 | "EastLongitude": 120.682418 643 | }, 644 | { 645 | "name": "北屯區", 646 | "NorthLatitude": 24.1815237, 647 | "EastLongitude": 120.6861019 648 | }, 649 | { 650 | "name": "西屯區", 651 | "NorthLatitude": 24.1769764, 652 | "EastLongitude": 120.6424333 653 | }, 654 | { 655 | "name": "南屯區", 656 | "NorthLatitude": 24.1471183, 657 | "EastLongitude": 120.6084832 658 | }, 659 | { 660 | "name": "太平區", 661 | "NorthLatitude": 24.1240719, 662 | "EastLongitude": 120.7170701 663 | }, 664 | { 665 | "name": "大里區", 666 | "NorthLatitude": 24.1046899, 667 | "EastLongitude": 120.6812114 668 | }, 669 | { 670 | "name": "霧峰區", 671 | "NorthLatitude": 24.044318, 672 | "EastLongitude": 120.7350013 673 | }, 674 | { 675 | "name": "烏日區", 676 | "NorthLatitude": 24.107787, 677 | "EastLongitude": 120.6380936 678 | }, 679 | { 680 | "name": "豐原區", 681 | "NorthLatitude": 24.2521213, 682 | "EastLongitude": 120.7234816 683 | }, 684 | { 685 | "name": "后里區", 686 | "NorthLatitude": 24.3088765, 687 | "EastLongitude": 120.7223705 688 | }, 689 | { 690 | "name": "石岡區", 691 | "NorthLatitude": 24.2742426, 692 | "EastLongitude": 120.7771553 693 | }, 694 | { 695 | "name": "東勢區", 696 | "NorthLatitude": 24.2599898, 697 | "EastLongitude": 120.8272085 698 | }, 699 | { 700 | "name": "和平區", 701 | "NorthLatitude": 24.3207261, 702 | "EastLongitude": 121.3084088 703 | }, 704 | { 705 | "name": "新社區", 706 | "NorthLatitude": 24.1867194, 707 | "EastLongitude": 120.8154358 708 | }, 709 | { 710 | "name": "潭子區", 711 | "NorthLatitude": 24.2163612, 712 | "EastLongitude": 120.7062535 713 | }, 714 | { 715 | "name": "大雅區", 716 | "NorthLatitude": 24.2225023, 717 | "EastLongitude": 120.6545022 718 | }, 719 | { 720 | "name": "神岡區", 721 | "NorthLatitude": 24.2499057, 722 | "EastLongitude": 120.6817589 723 | }, 724 | { 725 | "name": "大肚區", 726 | "NorthLatitude": 24.1358732, 727 | "EastLongitude": 120.5624474 728 | }, 729 | { 730 | "name": "沙鹿區", 731 | "NorthLatitude": 24.2377939, 732 | "EastLongitude": 120.5854674 733 | }, 734 | { 735 | "name": "龍井區", 736 | "NorthLatitude": 24.2101223, 737 | "EastLongitude": 120.5057794 738 | }, 739 | { 740 | "name": "梧棲區", 741 | "NorthLatitude": 24.2490793, 742 | "EastLongitude": 120.5386546 743 | }, 744 | { 745 | "name": "清水區", 746 | "NorthLatitude": 24.2754785, 747 | "EastLongitude": 120.571328 748 | }, 749 | { 750 | "name": "大甲區", 751 | "NorthLatitude": 24.3788233, 752 | "EastLongitude": 120.6487508 753 | }, 754 | { 755 | "name": "外埔區", 756 | "NorthLatitude": 24.3317733, 757 | "EastLongitude": 120.6533224 758 | }, 759 | { 760 | "name": "大安區", 761 | "NorthLatitude": 25.0249441, 762 | "EastLongitude": 121.5433783 763 | } 764 | ], 765 | "name": "臺中市" 766 | }, 767 | { 768 | "districts": [ 769 | { 770 | "name": "彰化市", 771 | "NorthLatitude": 24.0889788, 772 | "EastLongitude": 120.5566917 773 | }, 774 | { 775 | "name": "芬園鄉", 776 | "NorthLatitude": 24.013564, 777 | "EastLongitude": 120.6284031 778 | }, 779 | { 780 | "name": "花壇鄉", 781 | "NorthLatitude": 24.0288453, 782 | "EastLongitude": 120.5624474 783 | }, 784 | { 785 | "name": "秀水鄉", 786 | "NorthLatitude": 24.0348603, 787 | "EastLongitude": 120.5106372 788 | }, 789 | { 790 | "name": "鹿港鎮", 791 | "NorthLatitude": 24.0755127, 792 | "EastLongitude": 120.447285 793 | }, 794 | { 795 | "name": "福興鄉", 796 | "NorthLatitude": 24.0377011, 797 | "EastLongitude": 120.4242401 798 | }, 799 | { 800 | "name": "線西鄉", 801 | "NorthLatitude": 24.1316695, 802 | "EastLongitude": 120.4622016 803 | }, 804 | { 805 | "name": "和美鎮", 806 | "NorthLatitude": 24.1122859, 807 | "EastLongitude": 120.4983956 808 | }, 809 | { 810 | "name": "伸港鄉", 811 | "NorthLatitude": 24.158174, 812 | "EastLongitude": 120.4982653 813 | }, 814 | { 815 | "name": "員林市", 816 | "NorthLatitude": 23.959574, 817 | "EastLongitude": 120.5854674 818 | }, 819 | { 820 | "name": "社頭鄉", 821 | "NorthLatitude": 23.8992037, 822 | "EastLongitude": 120.5827201 823 | }, 824 | { 825 | "name": "永靖鄉", 826 | "NorthLatitude": 23.9202279, 827 | "EastLongitude": 120.5451797 828 | }, 829 | { 830 | "name": "埔心鄉", 831 | "NorthLatitude": 23.9430014, 832 | "EastLongitude": 120.5592918 833 | }, 834 | { 835 | "name": "溪湖鎮", 836 | "NorthLatitude": 23.9583265, 837 | "EastLongitude": 120.4933624 838 | }, 839 | { 840 | "name": "大村鄉", 841 | "NorthLatitude": 23.9890696, 842 | "EastLongitude": 120.5662224 843 | }, 844 | { 845 | "name": "埔鹽鄉", 846 | "NorthLatitude": 23.9898141, 847 | "EastLongitude": 120.447285 848 | }, 849 | { 850 | "name": "田中鎮", 851 | "NorthLatitude": 23.8525401, 852 | "EastLongitude": 120.5854674 853 | }, 854 | { 855 | "name": "北斗鎮", 856 | "NorthLatitude": 23.869208, 857 | "EastLongitude": 120.5336665 858 | }, 859 | { 860 | "name": "田尾鄉", 861 | "NorthLatitude": 23.9038461, 862 | "EastLongitude": 120.5221524 863 | }, 864 | { 865 | "name": "埤頭鄉", 866 | "NorthLatitude": 23.8776623, 867 | "EastLongitude": 120.4703258 868 | }, 869 | { 870 | "name": "溪州鄉", 871 | "NorthLatitude": 23.8247844, 872 | "EastLongitude": 120.5163949 873 | }, 874 | { 875 | "name": "竹塘鄉", 876 | "NorthLatitude": 23.8448257, 877 | "EastLongitude": 120.4242401 878 | }, 879 | { 880 | "name": "二林鎮", 881 | "NorthLatitude": 23.9141358, 882 | "EastLongitude": 120.4011911 883 | }, 884 | { 885 | "name": "大城鄉", 886 | "NorthLatitude": 23.8483614, 887 | "EastLongitude": 120.3089541 888 | }, 889 | { 890 | "name": "芳苑鄉", 891 | "NorthLatitude": 23.9455949, 892 | "EastLongitude": 120.3550808 893 | }, 894 | { 895 | "name": "二水鄉", 896 | "NorthLatitude": 23.8115197, 897 | "EastLongitude": 120.6160709 898 | } 899 | ], 900 | "name": "彰化縣" 901 | }, 902 | { 903 | "districts": [ 904 | { 905 | "name": "南投市", 906 | "NorthLatitude": 23.9179637, 907 | "EastLongitude": 120.6775054 908 | }, 909 | { 910 | "name": "中寮鄉", 911 | "NorthLatitude": 23.9058666, 912 | "EastLongitude": 120.7809676 913 | }, 914 | { 915 | "name": "草屯鎮", 916 | "NorthLatitude": 23.9933816, 917 | "EastLongitude": 120.7234992 918 | }, 919 | { 920 | "name": "國姓鄉", 921 | "NorthLatitude": 24.0564429, 922 | "EastLongitude": 120.8728615 923 | }, 924 | { 925 | "name": "埔里鎮", 926 | "NorthLatitude": 23.9932872, 927 | "EastLongitude": 120.9646866 928 | }, 929 | { 930 | "name": "仁愛鄉", 931 | "NorthLatitude": 24.0213745, 932 | "EastLongitude": 121.1252135 933 | }, 934 | { 935 | "name": "名間鄉", 936 | "NorthLatitude": 23.8537843, 937 | "EastLongitude": 120.6775054 938 | }, 939 | { 940 | "name": "集集鎮", 941 | "NorthLatitude": 23.8279876, 942 | "EastLongitude": 120.7925043 943 | }, 944 | { 945 | "name": "水里鄉", 946 | "NorthLatitude": 23.7919524, 947 | "EastLongitude": 120.8613785 948 | }, 949 | { 950 | "name": "魚池鄉", 951 | "NorthLatitude": 23.8753852, 952 | "EastLongitude": 120.9187827 953 | }, 954 | { 955 | "name": "信義鄉", 956 | "NorthLatitude": 23.6679756, 957 | "EastLongitude": 120.9876321 958 | }, 959 | { 960 | "name": "竹山鎮", 961 | "NorthLatitude": 23.712201, 962 | "EastLongitude": 120.6890055 963 | }, 964 | { 965 | "name": "鹿谷鄉", 966 | "NorthLatitude": 23.7348372, 967 | "EastLongitude": 120.7809676 968 | } 969 | ], 970 | "name": "南投縣" 971 | }, 972 | { 973 | "districts": [ 974 | { 975 | "name": "西區", 976 | "NorthLatitude": 24.1430604, 977 | "EastLongitude": 120.6631289 978 | }, 979 | { 980 | "name": "東區", 981 | "NorthLatitude": 23.478809, 982 | "EastLongitude": 120.453332 983 | } 984 | ], 985 | "name": "嘉義市" 986 | }, 987 | { 988 | "districts": [ 989 | { 990 | "name": "番路鄉", 991 | "NorthLatitude": 23.4407355, 992 | "EastLongitude": 120.6084832 993 | }, 994 | { 995 | "name": "梅山鄉", 996 | "NorthLatitude": 23.5410247, 997 | "EastLongitude": 120.6890055 998 | }, 999 | { 1000 | "name": "竹崎鄉", 1001 | "NorthLatitude": 23.5049724, 1002 | "EastLongitude": 120.6084832 1003 | }, 1004 | { 1005 | "name": "阿里山鄉", 1006 | "NorthLatitude": 23.4354677, 1007 | "EastLongitude": 120.7809676 1008 | }, 1009 | { 1010 | "name": "中埔鄉", 1011 | "NorthLatitude": 23.3995944, 1012 | "EastLongitude": 120.5509358 1013 | }, 1014 | { 1015 | "name": "大埔鄉", 1016 | "NorthLatitude": 23.3040182, 1017 | "EastLongitude": 120.5969758 1018 | }, 1019 | { 1020 | "name": "水上鄉", 1021 | "NorthLatitude": 23.4287422, 1022 | "EastLongitude": 120.4001659 1023 | }, 1024 | { 1025 | "name": "鹿草鄉", 1026 | "NorthLatitude": 23.419257, 1027 | "EastLongitude": 120.3089541 1028 | }, 1029 | { 1030 | "name": "太保市", 1031 | "NorthLatitude": 23.4964492, 1032 | "EastLongitude": 120.3837086 1033 | }, 1034 | { 1035 | "name": "朴子市", 1036 | "NorthLatitude": 23.4464152, 1037 | "EastLongitude": 120.2570421 1038 | }, 1039 | { 1040 | "name": "東石鄉", 1041 | "NorthLatitude": 23.4701923, 1042 | "EastLongitude": 120.1704766 1043 | }, 1044 | { 1045 | "name": "六腳鄉", 1046 | "NorthLatitude": 23.529833, 1047 | "EastLongitude": 120.2873266 1048 | }, 1049 | { 1050 | "name": "新港鄉", 1051 | "NorthLatitude": 23.538123, 1052 | "EastLongitude": 120.3550808 1053 | }, 1054 | { 1055 | "name": "民雄鄉", 1056 | "NorthLatitude": 23.5203579, 1057 | "EastLongitude": 120.440409 1058 | }, 1059 | { 1060 | "name": "大林鎮", 1061 | "NorthLatitude": 23.6040709, 1062 | "EastLongitude": 120.4542004 1063 | }, 1064 | { 1065 | "name": "溪口鄉", 1066 | "NorthLatitude": 23.5925564, 1067 | "EastLongitude": 120.4011911 1068 | }, 1069 | { 1070 | "name": "義竹鄉", 1071 | "NorthLatitude": 23.3530108, 1072 | "EastLongitude": 120.2166519 1073 | }, 1074 | { 1075 | "name": "布袋鎮", 1076 | "NorthLatitude": 23.3627901, 1077 | "EastLongitude": 120.1704766 1078 | } 1079 | ], 1080 | "name": "嘉義縣" 1081 | }, 1082 | { 1083 | "districts": [ 1084 | { 1085 | "name": "斗南鎮", 1086 | "NorthLatitude": 23.6771369, 1087 | "EastLongitude": 120.4760808 1088 | }, 1089 | { 1090 | "name": "大埤鄉", 1091 | "NorthLatitude": 23.6519084, 1092 | "EastLongitude": 120.4242401 1093 | }, 1094 | { 1095 | "name": "虎尾鎮", 1096 | "NorthLatitude": 23.7162184, 1097 | "EastLongitude": 120.4242401 1098 | }, 1099 | { 1100 | "name": "土庫鎮", 1101 | "NorthLatitude": 23.6882639, 1102 | "EastLongitude": 120.3550808 1103 | }, 1104 | { 1105 | "name": "褒忠鄉", 1106 | "NorthLatitude": 23.6944368, 1107 | "EastLongitude": 120.3103204 1108 | }, 1109 | { 1110 | "name": "東勢鄉", 1111 | "NorthLatitude": 23.693257, 1112 | "EastLongitude": 120.2570421 1113 | }, 1114 | { 1115 | "name": "臺西鄉", 1116 | "NorthLatitude": 23.7229714, 1117 | "EastLongitude": 120.1935663 1118 | }, 1119 | { 1120 | "name": "崙背鄉", 1121 | "NorthLatitude": 23.7601594, 1122 | "EastLongitude": 120.3531749 1123 | }, 1124 | { 1125 | "name": "麥寮鄉", 1126 | "NorthLatitude": 23.7485306, 1127 | "EastLongitude": 120.2562662 1128 | }, 1129 | { 1130 | "name": "斗六市", 1131 | "NorthLatitude": 23.7077947, 1132 | "EastLongitude": 120.5409089 1133 | }, 1134 | { 1135 | "name": "林內鄉", 1136 | "NorthLatitude": 23.7587272, 1137 | "EastLongitude": 120.6159497 1138 | }, 1139 | { 1140 | "name": "古坑鄉", 1141 | "NorthLatitude": 23.6449781, 1142 | "EastLongitude": 120.563741 1143 | }, 1144 | { 1145 | "name": "莿桐鄉", 1146 | "NorthLatitude": 23.7769338, 1147 | "EastLongitude": 120.5394232 1148 | }, 1149 | { 1150 | "name": "西螺鎮", 1151 | "NorthLatitude": 23.7755286, 1152 | "EastLongitude": 120.447285 1153 | }, 1154 | { 1155 | "name": "二崙鄉", 1156 | "NorthLatitude": 23.8155793, 1157 | "EastLongitude": 120.4062196 1158 | }, 1159 | { 1160 | "name": "北港鎮", 1161 | "NorthLatitude": 23.5958633, 1162 | "EastLongitude": 120.2858846 1163 | }, 1164 | { 1165 | "name": "水林鄉", 1166 | "NorthLatitude": 23.5628088, 1167 | "EastLongitude": 120.2397336 1168 | }, 1169 | { 1170 | "name": "口湖鄉", 1171 | "NorthLatitude": 23.6178327, 1172 | "EastLongitude": 120.1630864 1173 | }, 1174 | { 1175 | "name": "四湖鄉", 1176 | "NorthLatitude": 23.6370834, 1177 | "EastLongitude": 120.1935663 1178 | }, 1179 | { 1180 | "name": "元長鄉", 1181 | "NorthLatitude": 23.6288771, 1182 | "EastLongitude": 120.3320195 1183 | } 1184 | ], 1185 | "name": "雲林縣" 1186 | }, 1187 | { 1188 | "districts": [ 1189 | { 1190 | "name": "中西區", 1191 | "NorthLatitude": 22.992146, 1192 | "EastLongitude": 120.205448 1193 | }, 1194 | { 1195 | "name": "東區", 1196 | "NorthLatitude": 22.979973, 1197 | "EastLongitude": 120.223439 1198 | }, 1199 | { 1200 | "name": "南區", 1201 | "NorthLatitude": 22.961411, 1202 | "EastLongitude": 120.188716 1203 | }, 1204 | { 1205 | "name": "北區", 1206 | "NorthLatitude": 22.999223, 1207 | "EastLongitude": 120.202862 1208 | }, 1209 | { 1210 | "name": "安平區", 1211 | "NorthLatitude": 22.9934184, 1212 | "EastLongitude": 120.1647112 1213 | }, 1214 | { 1215 | "name": "安南區", 1216 | "NorthLatitude": 23.0585336, 1217 | "EastLongitude": 120.1358346 1218 | }, 1219 | { 1220 | "name": "永康區", 1221 | "NorthLatitude": 23.0211799, 1222 | "EastLongitude": 120.262788 1223 | }, 1224 | { 1225 | "name": "歸仁區", 1226 | "NorthLatitude": 22.9519268, 1227 | "EastLongitude": 120.2858846 1228 | }, 1229 | { 1230 | "name": "新化區", 1231 | "NorthLatitude": 23.0280873, 1232 | "EastLongitude": 120.3320195 1233 | }, 1234 | { 1235 | "name": "左鎮區", 1236 | "NorthLatitude": 23.0300785, 1237 | "EastLongitude": 120.4242401 1238 | }, 1239 | { 1240 | "name": "玉井區", 1241 | "NorthLatitude": 23.1060822, 1242 | "EastLongitude": 120.4703258 1243 | }, 1244 | { 1245 | "name": "楠西區", 1246 | "NorthLatitude": 23.1820152, 1247 | "EastLongitude": 120.5163949 1248 | }, 1249 | { 1250 | "name": "南化區", 1251 | "NorthLatitude": 23.1079133, 1252 | "EastLongitude": 120.5624474 1253 | }, 1254 | { 1255 | "name": "仁德區", 1256 | "NorthLatitude": 22.9472553, 1257 | "EastLongitude": 120.2511778 1258 | }, 1259 | { 1260 | "name": "關廟區", 1261 | "NorthLatitude": 22.9637053, 1262 | "EastLongitude": 120.3320195 1263 | }, 1264 | { 1265 | "name": "龍崎區", 1266 | "NorthLatitude": 22.9540045, 1267 | "EastLongitude": 120.378138 1268 | }, 1269 | { 1270 | "name": "官田區", 1271 | "NorthLatitude": 23.1948768, 1272 | "EastLongitude": 120.3550808 1273 | }, 1274 | { 1275 | "name": "麻豆區", 1276 | "NorthLatitude": 23.1763401, 1277 | "EastLongitude": 120.2397336 1278 | }, 1279 | { 1280 | "name": "佳里區", 1281 | "NorthLatitude": 23.1694465, 1282 | "EastLongitude": 120.1704766 1283 | }, 1284 | { 1285 | "name": "西港區", 1286 | "NorthLatitude": 23.1257853, 1287 | "EastLongitude": 120.1993381 1288 | }, 1289 | { 1290 | "name": "七股區", 1291 | "NorthLatitude": 23.1195166, 1292 | "EastLongitude": 120.1011836 1293 | }, 1294 | { 1295 | "name": "將軍區", 1296 | "NorthLatitude": 23.2054945, 1297 | "EastLongitude": 120.1011836 1298 | }, 1299 | { 1300 | "name": "學甲區", 1301 | "NorthLatitude": 23.2553798, 1302 | "EastLongitude": 120.1704766 1303 | }, 1304 | { 1305 | "name": "北門區", 1306 | "NorthLatitude": 23.2866026, 1307 | "EastLongitude": 120.1242853 1308 | }, 1309 | { 1310 | "name": "新營區", 1311 | "NorthLatitude": 23.3119567, 1312 | "EastLongitude": 120.3089541 1313 | }, 1314 | { 1315 | "name": "後壁區", 1316 | "NorthLatitude": 23.3665101, 1317 | "EastLongitude": 120.3550808 1318 | }, 1319 | { 1320 | "name": "白河區", 1321 | "NorthLatitude": 23.3336369, 1322 | "EastLongitude": 120.4588059 1323 | }, 1324 | { 1325 | "name": "東山區", 1326 | "NorthLatitude": 23.2825014, 1327 | "EastLongitude": 120.447285 1328 | }, 1329 | { 1330 | "name": "六甲區", 1331 | "NorthLatitude": 23.2426813, 1332 | "EastLongitude": 120.3320195 1333 | }, 1334 | { 1335 | "name": "下營區", 1336 | "NorthLatitude": 23.2292915, 1337 | "EastLongitude": 120.2685799 1338 | }, 1339 | { 1340 | "name": "柳營區", 1341 | "NorthLatitude": 23.2806957, 1342 | "EastLongitude": 120.3550808 1343 | }, 1344 | { 1345 | "name": "鹽水區", 1346 | "NorthLatitude": 23.2622306, 1347 | "EastLongitude": 120.2397336 1348 | }, 1349 | { 1350 | "name": "善化區", 1351 | "NorthLatitude": 23.1402613, 1352 | "EastLongitude": 120.3089541 1353 | }, 1354 | { 1355 | "name": "新市區", 1356 | "NorthLatitude": 23.0780281, 1357 | "EastLongitude": 120.2919179 1358 | }, 1359 | { 1360 | "name": "大內區", 1361 | "NorthLatitude": 23.1421962, 1362 | "EastLongitude": 120.4011911 1363 | }, 1364 | { 1365 | "name": "山上區", 1366 | "NorthLatitude": 23.0893067, 1367 | "EastLongitude": 120.3723741 1368 | }, 1369 | { 1370 | "name": "安定區", 1371 | "NorthLatitude": 23.090792, 1372 | "EastLongitude": 120.2334385 1373 | } 1374 | ], 1375 | "name": "臺南市" 1376 | }, 1377 | { 1378 | "districts": [ 1379 | { 1380 | "name": "新興區", 1381 | "NorthLatitude": 22.6283893, 1382 | "EastLongitude": 120.3060706 1383 | }, 1384 | { 1385 | "name": "前金區", 1386 | "NorthLatitude": 22.6252508, 1387 | "EastLongitude": 120.2953492 1388 | }, 1389 | { 1390 | "name": "苓雅區", 1391 | "NorthLatitude": 22.6268814, 1392 | "EastLongitude": 120.3262535 1393 | }, 1394 | { 1395 | "name": "鹽埕區", 1396 | "NorthLatitude": 22.6235157, 1397 | "EastLongitude": 120.2837442 1398 | }, 1399 | { 1400 | "name": "鼓山區", 1401 | "NorthLatitude": 22.6495866, 1402 | "EastLongitude": 120.2685799 1403 | }, 1404 | { 1405 | "name": "旗津區", 1406 | "NorthLatitude": 22.6141771, 1407 | "EastLongitude": 120.2659394 1408 | }, 1409 | { 1410 | "name": "前鎮區", 1411 | "NorthLatitude": 22.5970794, 1412 | "EastLongitude": 120.3147208 1413 | }, 1414 | { 1415 | "name": "三民區", 1416 | "NorthLatitude": 22.6483444, 1417 | "EastLongitude": 120.3262535 1418 | }, 1419 | { 1420 | "name": "楠梓區", 1421 | "NorthLatitude": 22.7175372, 1422 | "EastLongitude": 120.3031871 1423 | }, 1424 | { 1425 | "name": "小港區", 1426 | "NorthLatitude": 22.5553185, 1427 | "EastLongitude": 120.3608455 1428 | }, 1429 | { 1430 | "name": "左營區", 1431 | "NorthLatitude": 22.6877358, 1432 | "EastLongitude": 120.2916524 1433 | }, 1434 | { 1435 | "name": "仁武區", 1436 | "NorthLatitude": 22.7057951, 1437 | "EastLongitude": 120.3423604 1438 | }, 1439 | { 1440 | "name": "大社區", 1441 | "NorthLatitude": 22.7377083, 1442 | "EastLongitude": 120.3608455 1443 | }, 1444 | { 1445 | "name": "東沙群島", 1446 | "NorthLatitude": 20.7016691, 1447 | "EastLongitude": 116.7304915 1448 | }, 1449 | { 1450 | "name": "南沙群島", 1451 | "NorthLatitude": 10.723282, 1452 | "EastLongitude": 115.8264655 1453 | }, 1454 | { 1455 | "name": "岡山區", 1456 | "NorthLatitude": 22.798585, 1457 | "EastLongitude": 120.295086 1458 | }, 1459 | { 1460 | "name": "路竹區", 1461 | "NorthLatitude": 22.8494042, 1462 | "EastLongitude": 120.2628111 1463 | }, 1464 | { 1465 | "name": "阿蓮區", 1466 | "NorthLatitude": 22.8778606, 1467 | "EastLongitude": 120.3320195 1468 | }, 1469 | { 1470 | "name": "田寮區", 1471 | "NorthLatitude": 22.8633474, 1472 | "EastLongitude": 120.4011911 1473 | }, 1474 | { 1475 | "name": "燕巢區", 1476 | "NorthLatitude": 22.7823697, 1477 | "EastLongitude": 120.378138 1478 | }, 1479 | { 1480 | "name": "橋頭區", 1481 | "NorthLatitude": 22.7539031, 1482 | "EastLongitude": 120.3089574 1483 | }, 1484 | { 1485 | "name": "梓官區", 1486 | "NorthLatitude": 22.7486104, 1487 | "EastLongitude": 120.2570421 1488 | }, 1489 | { 1490 | "name": "彌陀區", 1491 | "NorthLatitude": 22.7832231, 1492 | "EastLongitude": 120.2455033 1493 | }, 1494 | { 1495 | "name": "永安區", 1496 | "NorthLatitude": 22.8112691, 1497 | "EastLongitude": 120.2397336 1498 | }, 1499 | { 1500 | "name": "湖內區", 1501 | "NorthLatitude": 22.8954184, 1502 | "EastLongitude": 120.2224227 1503 | }, 1504 | { 1505 | "name": "鳳山區", 1506 | "NorthLatitude": 22.6113591, 1507 | "EastLongitude": 120.3493158 1508 | }, 1509 | { 1510 | "name": "大寮區", 1511 | "NorthLatitude": 22.584481, 1512 | "EastLongitude": 120.4011911 1513 | }, 1514 | { 1515 | "name": "林園區", 1516 | "NorthLatitude": 22.4986756, 1517 | "EastLongitude": 120.4011911 1518 | }, 1519 | { 1520 | "name": "鳥松區", 1521 | "NorthLatitude": 22.6602052, 1522 | "EastLongitude": 120.3723741 1523 | }, 1524 | { 1525 | "name": "大樹區", 1526 | "NorthLatitude": 22.708371, 1527 | "EastLongitude": 120.4242401 1528 | }, 1529 | { 1530 | "name": "旗山區", 1531 | "NorthLatitude": 22.8702492, 1532 | "EastLongitude": 120.4703258 1533 | }, 1534 | { 1535 | "name": "美濃區", 1536 | "NorthLatitude": 22.885385, 1537 | "EastLongitude": 120.5509358 1538 | }, 1539 | { 1540 | "name": "六龜區", 1541 | "NorthLatitude": 23.0026195, 1542 | "EastLongitude": 120.6545022 1543 | }, 1544 | { 1545 | "name": "內門區", 1546 | "NorthLatitude": 22.9560087, 1547 | "EastLongitude": 120.4703258 1548 | }, 1549 | { 1550 | "name": "杉林區", 1551 | "NorthLatitude": 23.0007902, 1552 | "EastLongitude": 120.5624474 1553 | }, 1554 | { 1555 | "name": "甲仙區", 1556 | "NorthLatitude": 23.114592, 1557 | "EastLongitude": 120.6314948 1558 | }, 1559 | { 1560 | "name": "桃源區", 1561 | "NorthLatitude": 23.2280755, 1562 | "EastLongitude": 120.8498944 1563 | }, 1564 | { 1565 | "name": "那瑪夏區", 1566 | "NorthLatitude": 23.2742978, 1567 | "EastLongitude": 120.734995 1568 | }, 1569 | { 1570 | "name": "茂林區", 1571 | "NorthLatitude": 22.9319405, 1572 | "EastLongitude": 120.734995 1573 | }, 1574 | { 1575 | "name": "茄萣區", 1576 | "NorthLatitude": 22.8763476, 1577 | "EastLongitude": 120.2108809 1578 | } 1579 | ], 1580 | "name": "高雄市" 1581 | }, 1582 | { 1583 | "districts": [ 1584 | { 1585 | "name": "東沙群島", 1586 | "NorthLatitude": 20.7016691, 1587 | "EastLongitude": 116.7304915 1588 | }, 1589 | { 1590 | "name": "南沙群島", 1591 | "NorthLatitude": 10.723282, 1592 | "EastLongitude": 115.8264655 1593 | } 1594 | ], 1595 | "name": "南海島" 1596 | }, 1597 | { 1598 | "districts": [ 1599 | { 1600 | "name": "馬公市", 1601 | "NorthLatitude": 23.5706269, 1602 | "EastLongitude": 119.5774616 1603 | }, 1604 | { 1605 | "name": "西嶼鄉", 1606 | "NorthLatitude": 23.6054584, 1607 | "EastLongitude": 119.5136711 1608 | }, 1609 | { 1610 | "name": "望安鄉", 1611 | "NorthLatitude": 23.3596967, 1612 | "EastLongitude": 119.5020698 1613 | }, 1614 | { 1615 | "name": "七美鄉", 1616 | "NorthLatitude": 23.208056, 1617 | "EastLongitude": 119.428611 1618 | }, 1619 | { 1620 | "name": "白沙鄉", 1621 | "NorthLatitude": 23.6640444, 1622 | "EastLongitude": 119.5948541 1623 | }, 1624 | { 1625 | "name": "湖西鄉", 1626 | "NorthLatitude": 23.5773682, 1627 | "EastLongitude": 119.6615055 1628 | } 1629 | ], 1630 | "name": "澎湖縣" 1631 | }, 1632 | { 1633 | "districts": [ 1634 | { 1635 | "name": "金沙鎮", 1636 | "NorthLatitude": 24.4811092, 1637 | "EastLongitude": 118.4279933 1638 | }, 1639 | { 1640 | "name": "金湖鎮", 1641 | "NorthLatitude": 24.4376913, 1642 | "EastLongitude": 118.4279933 1643 | }, 1644 | { 1645 | "name": "金寧鄉", 1646 | "NorthLatitude": 24.4565774, 1647 | "EastLongitude": 118.3058515 1648 | }, 1649 | { 1650 | "name": "金城鎮", 1651 | "NorthLatitude": 24.4320647, 1652 | "EastLongitude": 118.3155101 1653 | }, 1654 | { 1655 | "name": "烈嶼鄉", 1656 | "NorthLatitude": 24.4279737, 1657 | "EastLongitude": 118.2351192 1658 | }, 1659 | { 1660 | "name": "烏坵鄉", 1661 | "NorthLatitude": 24.9917821, 1662 | "EastLongitude": 119.451303 1663 | } 1664 | ], 1665 | "name": "金門縣" 1666 | }, 1667 | { 1668 | "districts": [ 1669 | { 1670 | "name": "屏東市", 1671 | "NorthLatitude": 22.6558442, 1672 | "EastLongitude": 120.4703258 1673 | }, 1674 | { 1675 | "name": "三地門鄉", 1676 | "NorthLatitude": 22.8133088, 1677 | "EastLongitude": 120.6890055 1678 | }, 1679 | { 1680 | "name": "霧臺鄉", 1681 | "NorthLatitude": 22.7509887, 1682 | "EastLongitude": 120.7809676 1683 | }, 1684 | { 1685 | "name": "瑪家鄉", 1686 | "NorthLatitude": 22.6903584, 1687 | "EastLongitude": 120.6378794 1688 | }, 1689 | { 1690 | "name": "九如鄉", 1691 | "NorthLatitude": 22.7335733, 1692 | "EastLongitude": 120.4891517 1693 | }, 1694 | { 1695 | "name": "里港鄉", 1696 | "NorthLatitude": 22.7962363, 1697 | "EastLongitude": 120.5163949 1698 | }, 1699 | { 1700 | "name": "高樹鄉", 1701 | "NorthLatitude": 22.8254924, 1702 | "EastLongitude": 120.6003824 1703 | }, 1704 | { 1705 | "name": "鹽埔鄉", 1706 | "NorthLatitude": 22.7436807, 1707 | "EastLongitude": 120.5624474 1708 | }, 1709 | { 1710 | "name": "長治鄉", 1711 | "NorthLatitude": 22.700828, 1712 | "EastLongitude": 120.5624474 1713 | }, 1714 | { 1715 | "name": "麟洛鄉", 1716 | "NorthLatitude": 22.6515201, 1717 | "EastLongitude": 120.5259627 1718 | }, 1719 | { 1720 | "name": "竹田鄉", 1721 | "NorthLatitude": 22.5939138, 1722 | "EastLongitude": 120.5326679 1723 | }, 1724 | { 1725 | "name": "內埔鄉", 1726 | "NorthLatitude": 22.6151342, 1727 | "EastLongitude": 120.5663201 1728 | }, 1729 | { 1730 | "name": "萬丹鄉", 1731 | "NorthLatitude": 22.591522, 1732 | "EastLongitude": 120.4703258 1733 | }, 1734 | { 1735 | "name": "潮州鎮", 1736 | "NorthLatitude": 22.5294168, 1737 | "EastLongitude": 120.5624474 1738 | }, 1739 | { 1740 | "name": "泰武鄉", 1741 | "NorthLatitude": 22.5779544, 1742 | "EastLongitude": 120.6348032 1743 | }, 1744 | { 1745 | "name": "來義鄉", 1746 | "NorthLatitude": 22.4921661, 1747 | "EastLongitude": 120.6247208 1748 | }, 1749 | { 1750 | "name": "萬巒鄉", 1751 | "NorthLatitude": 22.584046, 1752 | "EastLongitude": 120.6084832 1753 | }, 1754 | { 1755 | "name": "崁頂鄉", 1756 | "NorthLatitude": 22.5158427, 1757 | "EastLongitude": 120.4991209 1758 | }, 1759 | { 1760 | "name": "新埤鄉", 1761 | "NorthLatitude": 22.4817586, 1762 | "EastLongitude": 120.5854674 1763 | }, 1764 | { 1765 | "name": "南州鄉", 1766 | "NorthLatitude": 22.4747339, 1767 | "EastLongitude": 120.5163949 1768 | }, 1769 | { 1770 | "name": "林邊鄉", 1771 | "NorthLatitude": 22.4347039, 1772 | "EastLongitude": 120.5147274 1773 | }, 1774 | { 1775 | "name": "東港鎮", 1776 | "NorthLatitude": 22.4628783, 1777 | "EastLongitude": 120.4703258 1778 | }, 1779 | { 1780 | "name": "琉球鄉", 1781 | "NorthLatitude": 22.341646, 1782 | "EastLongitude": 120.369492 1783 | }, 1784 | { 1785 | "name": "佳冬鄉", 1786 | "NorthLatitude": 22.427078, 1787 | "EastLongitude": 120.5394232 1788 | }, 1789 | { 1790 | "name": "新園鄉", 1791 | "NorthLatitude": 22.4774001, 1792 | "EastLongitude": 120.442154 1793 | }, 1794 | { 1795 | "name": "枋寮鄉", 1796 | "NorthLatitude": 22.3960688, 1797 | "EastLongitude": 120.5854674 1798 | }, 1799 | { 1800 | "name": "枋山鄉", 1801 | "NorthLatitude": 22.2606439, 1802 | "EastLongitude": 120.6573779 1803 | }, 1804 | { 1805 | "name": "春日鄉", 1806 | "NorthLatitude": 22.3851778, 1807 | "EastLongitude": 120.6890055 1808 | }, 1809 | { 1810 | "name": "獅子鄉", 1811 | "NorthLatitude": 22.2471686, 1812 | "EastLongitude": 120.734995 1813 | }, 1814 | { 1815 | "name": "車城鄉", 1816 | "NorthLatitude": 22.0843074, 1817 | "EastLongitude": 120.7464897 1818 | }, 1819 | { 1820 | "name": "牡丹鄉", 1821 | "NorthLatitude": 22.1520217, 1822 | "EastLongitude": 120.7809676 1823 | }, 1824 | { 1825 | "name": "恆春鎮", 1826 | "NorthLatitude": 22.0008277, 1827 | "EastLongitude": 120.7447638 1828 | }, 1829 | { 1830 | "name": "滿州鄉", 1831 | "NorthLatitude": 22.04385, 1832 | "EastLongitude": 120.8384093 1833 | } 1834 | ], 1835 | "name": "屏東縣" 1836 | }, 1837 | { 1838 | "districts": [ 1839 | { 1840 | "name": "臺東市", 1841 | "NorthLatitude": 22.7613207, 1842 | "EastLongitude": 121.1438152 1843 | }, 1844 | { 1845 | "name": "綠島鄉", 1846 | "NorthLatitude": 22.6620886, 1847 | "EastLongitude": 121.4901443 1848 | }, 1849 | { 1850 | "name": "蘭嶼鄉", 1851 | "NorthLatitude": 22.0269018, 1852 | "EastLongitude": 121.5415968 1853 | }, 1854 | { 1855 | "name": "延平鄉", 1856 | "NorthLatitude": 22.931996, 1857 | "EastLongitude": 121.03351 1858 | }, 1859 | { 1860 | "name": "卑南鄉", 1861 | "NorthLatitude": 22.7848196, 1862 | "EastLongitude": 121.0834446 1863 | }, 1864 | { 1865 | "name": "鹿野鄉", 1866 | "NorthLatitude": 22.9580514, 1867 | "EastLongitude": 121.1595842 1868 | }, 1869 | { 1870 | "name": "關山鎮", 1871 | "NorthLatitude": 23.0495603, 1872 | "EastLongitude": 121.1646339 1873 | }, 1874 | { 1875 | "name": "海端鄉", 1876 | "NorthLatitude": 23.1305611, 1877 | "EastLongitude": 121.1756856 1878 | }, 1879 | { 1880 | "name": "池上鄉", 1881 | "NorthLatitude": 23.120733, 1882 | "EastLongitude": 121.2161784 1883 | }, 1884 | { 1885 | "name": "東河鄉", 1886 | "NorthLatitude": 23.0691722, 1887 | "EastLongitude": 121.2855249 1888 | }, 1889 | { 1890 | "name": "成功鎮", 1891 | "NorthLatitude": 23.1261527, 1892 | "EastLongitude": 121.3655989 1893 | }, 1894 | { 1895 | "name": "長濱鄉", 1896 | "NorthLatitude": 23.3451824, 1897 | "EastLongitude": 121.43419 1898 | }, 1899 | { 1900 | "name": "太麻里鄉", 1901 | "NorthLatitude": 22.6102278, 1902 | "EastLongitude": 121.0044631 1903 | }, 1904 | { 1905 | "name": "金峰鄉", 1906 | "NorthLatitude": 22.5604145, 1907 | "EastLongitude": 120.8728615 1908 | }, 1909 | { 1910 | "name": "大武鄉", 1911 | "NorthLatitude": 22.4141954, 1912 | "EastLongitude": 120.907304 1913 | }, 1914 | { 1915 | "name": "達仁鄉", 1916 | "NorthLatitude": 22.3990588, 1917 | "EastLongitude": 120.8269231 1918 | } 1919 | ], 1920 | "name": "臺東縣" 1921 | }, 1922 | { 1923 | "districts": [ 1924 | { 1925 | "name": "花蓮市", 1926 | "NorthLatitude": 23.9910732, 1927 | "EastLongitude": 121.6111949 1928 | }, 1929 | { 1930 | "name": "新城鄉", 1931 | "NorthLatitude": 24.0327075, 1932 | "EastLongitude": 121.6043742 1933 | }, 1934 | { 1935 | "name": "秀林鄉", 1936 | "NorthLatitude": 24.3082079, 1937 | "EastLongitude": 121.7482315 1938 | }, 1939 | { 1940 | "name": "吉安鄉", 1941 | "NorthLatitude": 23.9732022, 1942 | "EastLongitude": 121.5841779 1943 | }, 1944 | { 1945 | "name": "壽豐鄉", 1946 | "NorthLatitude": 23.8593411, 1947 | "EastLongitude": 121.5598345 1948 | }, 1949 | { 1950 | "name": "鳳林鎮", 1951 | "NorthLatitude": 23.7443841, 1952 | "EastLongitude": 121.4570447 1953 | }, 1954 | { 1955 | "name": "光復鄉", 1956 | "NorthLatitude": 23.6350647, 1957 | "EastLongitude": 121.422761 1958 | }, 1959 | { 1960 | "name": "豐濱鄉", 1961 | "NorthLatitude": 23.5851901, 1962 | "EastLongitude": 121.5027404 1963 | }, 1964 | { 1965 | "name": "瑞穗鄉", 1966 | "NorthLatitude": 23.5205619, 1967 | "EastLongitude": 121.4113308 1968 | }, 1969 | { 1970 | "name": "萬榮鄉", 1971 | "NorthLatitude": 23.7245744, 1972 | "EastLongitude": 121.3084088 1973 | }, 1974 | { 1975 | "name": "玉里鎮", 1976 | "NorthLatitude": 23.3326186, 1977 | "EastLongitude": 121.3158222 1978 | }, 1979 | { 1980 | "name": "卓溪鄉", 1981 | "NorthLatitude": 23.2745084, 1982 | "EastLongitude": 121.2626305 1983 | }, 1984 | { 1985 | "name": "富里鄉", 1986 | "NorthLatitude": 23.154416, 1987 | "EastLongitude": 121.2855249 1988 | } 1989 | ], 1990 | "name": "花蓮縣" 1991 | } 1992 | ] -------------------------------------------------------------------------------- /Line_JavaScript_Bot/config.js: -------------------------------------------------------------------------------- 1 | const API_POST = "http://150.117.110.118:10150" 2 | const API_WebSocket = "ws://150.117.110.118:910" 3 | const APIkey = "" 4 | const sslKey = 'C:/xampp/apache/conf/ssl.key/server.key' 5 | const cert = 'C:/xampp/apache/conf/ssl.crt/server.crt' 6 | const ca = 'C:/xampp/apache/conf/ssl.crt/ca_bundle.crt' 7 | const channelId = '' 8 | const channelSecret = '' 9 | const channelAccessToken = '' 10 | 11 | //到 main.js 的路徑 12 | const Path = "C:/Users/whes1015/Desktop/Line_JavaScript_Bot/" 13 | 14 | async function main() { 15 | 16 | } 17 | 18 | module.exports = { 19 | API_POST, 20 | API_WebSocket, 21 | APIkey, 22 | Path, 23 | sslKey, 24 | cert, 25 | ca, 26 | channelId, 27 | channelSecret, 28 | channelAccessToken 29 | } -------------------------------------------------------------------------------- /Line_JavaScript_Bot/main.js: -------------------------------------------------------------------------------- 1 | //#region 本地依賴 2 | const config = require('./config') 3 | const earthquake = require('./JavaScript/earthquake') 4 | 5 | //#region 依賴 6 | const fs = require('fs') 7 | const https = require('https') 8 | const express = require('express') 9 | const linebot = require('linebot') 10 | const app = express() 11 | const WebSocket = require('ws') 12 | const ws = new WebSocket(config.API_WebSocket) 13 | //#endregion 14 | 15 | // SSL文件 16 | const privateKey = fs.readFileSync(config.sslKey, 'ascii') 17 | const certificate = fs.readFileSync(config.cert, 'ascii') 18 | const ca = fs.readFileSync(config.ca, 'ascii') 19 | //#endregion 20 | 21 | //#region 同步讀取資料 22 | //let User = JSON.parse(fs.readFileSync('./Json/Line/User.json').toString()) 23 | //#endregion 24 | 25 | //#region 變數 26 | let ver = "1.0.0" 27 | //#endregion 28 | 29 | //#region 初始化 30 | const credentials = { ca: ca, key: privateKey, cert: certificate } 31 | const httpsServer = https.createServer(credentials, app) 32 | const client = linebot({ 33 | channelId: config.channelId, 34 | channelSecret: config.channelSecret, 35 | channelAccessToken: config.channelAccessToken 36 | }) 37 | const linebotParser = client.parser() 38 | app.post('/webhook', linebotParser) 39 | //#endregion 40 | 41 | ws.on('open', function open() { 42 | console.log("已連線") 43 | //#region 訂閱地震速報 EEW (需要開通) 44 | ws.send(JSON.stringify({ 45 | "APIkey": config.APIkey, 46 | "Function": "earthquakeService", 47 | "Type": "subscription", 48 | "FormatVersion": 1, 49 | "UUID": 2 50 | })) 51 | //#endregion 52 | }) 53 | 54 | ws.on('message', function message(data) { 55 | let Data = JSON.parse(data.toString()) 56 | if (Data.Function == "earthquake") { 57 | earthquake.main(Data, config, client, "Cdb09380fe4349f5eba5971a7fc09657e") 58 | } 59 | }) 60 | 61 | //#region 訊息處理區塊 62 | client.on('message', async function (event) { 63 | console.log(event.message.text) 64 | }) 65 | //#endregion 66 | 67 | //#region 監聽端口 68 | httpsServer.listen(3000, function () { 69 | console.log('BOT已啟動') 70 | }) 71 | //#endregion -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TW-EEW 2 | Discord 3 | 4 | ------ 5 | 6 | - 中央氣象局 EEW 強震即時警報 ( Earthquake Early Warning ) 7 | 8 | ## 索引 9 | - [文檔](#文檔) 10 | - [依賴](#依賴) 11 | - [原理](#原理) 12 | - [註釋](#註釋) 13 | - [效果](#效果) 14 | - [貢獻者](#貢獻者) 15 | - [發佈規則](#發佈規則) 16 | - [合作](#合作) 17 | 18 | ## 文檔 19 | - [Discord 文檔](https://github.com/ExpTechTW/EEW/blob/%E4%B8%BB%E8%A6%81%E7%9A%84-(main)/Discord.md) 20 | 21 | ## 依賴 22 | - 服務 23 | - [ExpTech API](https://github.com/ExpTechTW/API) 24 | - 文件 25 | - [座標文件](https://github.com/ExpTechTW/EEW/blob/%E4%B8%BB%E8%A6%81%E7%9A%84-(main)/locations.json) 26 | 27 | ## 原理 28 | - 當地震發生時,由 ExpTech API 解析取得 `EEW 地震資訊[註1]`,並透過 WebSocket 廣播到所有已訂閱設備 29 | - 機器人在收到地震資訊後,會計算 `到達時間[註2、3、4、5]` 以及 `PGA[註6、7]`,並換算成對應震度 30 | 31 | ## 註釋 32 | 1. 預警盲區約為 75 公里 33 | 2. 震央距離=`√((地標經度-震央經度×-1)×101)²+((地標緯度-震央緯度×-1)×111)²` 34 | 3. 震源距離=`深度²`+`震央距離²` 35 | 4. 震波已走距離=(`目前時間`-`地震發生時間`) × 3.5 36 | 5. 剩餘秒數 (若為負表示 已抵達)=`震源距離`-`震波已走距離` ÷ 3.5 37 | 6. PGA 算法是由 吳彥立 老師 指導 38 | 7. PGA=`1.657` × `e^1.533×M` × `r^-1.607` 39 | 40 | ## 效果 41 | ![image](https://user-images.githubusercontent.com/44525760/165128127-1e6bf66f-9ad9-447a-ac93-491c0f7a65d5.png) 42 | 43 | ## 貢獻者 44 | - 地牛Wake Up! `音頻` `地理訊息` 45 | - whes1015 `程式開發` `附加資料庫` `文檔` 46 | - 吳彥立 `指導` 47 | 48 | ## 項目 49 | - 50 | 51 | ------ 52 | 53 | ## 發佈規則 54 | - 如果新版本中有錯誤,且尚未列出,請將錯誤資訊提交到 ```issue``` 55 | - 如果您使用任何形式的辱罵性或貶義性語言給其他用戶,您將永遠被封禁! 56 | - 不要發送重複無意義內容至 ```issue```,否則您將永遠被封禁! 57 | - 若有任何問題或建議,歡迎提出 58 | 59 | ## 合作 60 | - 若有任何可以改進的地方,歡迎使用 ```Pull requests``` 來提交 61 | -------------------------------------------------------------------------------- /audio/0/0.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/0.wav -------------------------------------------------------------------------------- /audio/0/1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/1.wav -------------------------------------------------------------------------------- /audio/0/10.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/10.wav -------------------------------------------------------------------------------- /audio/0/1xx.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/1xx.wav -------------------------------------------------------------------------------- /audio/0/2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/2.wav -------------------------------------------------------------------------------- /audio/0/2x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/2x.wav -------------------------------------------------------------------------------- /audio/0/2xx.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/2xx.wav -------------------------------------------------------------------------------- /audio/0/3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/3.wav -------------------------------------------------------------------------------- /audio/0/3x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/3x.wav -------------------------------------------------------------------------------- /audio/0/4.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/4.wav -------------------------------------------------------------------------------- /audio/0/4x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/4x.wav -------------------------------------------------------------------------------- /audio/0/5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/5.wav -------------------------------------------------------------------------------- /audio/0/5x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/5x.wav -------------------------------------------------------------------------------- /audio/0/6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/6.wav -------------------------------------------------------------------------------- /audio/0/6x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/6x.wav -------------------------------------------------------------------------------- /audio/0/7.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/7.wav -------------------------------------------------------------------------------- /audio/0/7x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/7x.wav -------------------------------------------------------------------------------- /audio/0/8.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/8.wav -------------------------------------------------------------------------------- /audio/0/8x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/8x.wav -------------------------------------------------------------------------------- /audio/0/9.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/9.wav -------------------------------------------------------------------------------- /audio/0/9x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/9x.wav -------------------------------------------------------------------------------- /audio/0/alert.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/alert.wav -------------------------------------------------------------------------------- /audio/0/arrive.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/arrive.wav -------------------------------------------------------------------------------- /audio/0/ding.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/ding.wav -------------------------------------------------------------------------------- /audio/0/intensity-strong.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/intensity-strong.wav -------------------------------------------------------------------------------- /audio/0/intensity-weak.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/intensity-weak.wav -------------------------------------------------------------------------------- /audio/0/intensity.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/intensity.wav -------------------------------------------------------------------------------- /audio/0/second.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/second.wav -------------------------------------------------------------------------------- /audio/0/x0.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x0.wav -------------------------------------------------------------------------------- /audio/0/x1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x1.wav -------------------------------------------------------------------------------- /audio/0/x2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x2.wav -------------------------------------------------------------------------------- /audio/0/x3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x3.wav -------------------------------------------------------------------------------- /audio/0/x4.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x4.wav -------------------------------------------------------------------------------- /audio/0/x5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x5.wav -------------------------------------------------------------------------------- /audio/0/x6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x6.wav -------------------------------------------------------------------------------- /audio/0/x7.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x7.wav -------------------------------------------------------------------------------- /audio/0/x8.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x8.wav -------------------------------------------------------------------------------- /audio/0/x9.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/0/x9.wav -------------------------------------------------------------------------------- /audio/1/0.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/0.wav -------------------------------------------------------------------------------- /audio/1/1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/1.wav -------------------------------------------------------------------------------- /audio/1/10.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/10.wav -------------------------------------------------------------------------------- /audio/1/1xx.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/1xx.wav -------------------------------------------------------------------------------- /audio/1/2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/2.wav -------------------------------------------------------------------------------- /audio/1/2x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/2x.wav -------------------------------------------------------------------------------- /audio/1/2xx.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/2xx.wav -------------------------------------------------------------------------------- /audio/1/3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/3.wav -------------------------------------------------------------------------------- /audio/1/3x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/3x.wav -------------------------------------------------------------------------------- /audio/1/4.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/4.wav -------------------------------------------------------------------------------- /audio/1/4x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/4x.wav -------------------------------------------------------------------------------- /audio/1/5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/5.wav -------------------------------------------------------------------------------- /audio/1/5x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/5x.wav -------------------------------------------------------------------------------- /audio/1/6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/6.wav -------------------------------------------------------------------------------- /audio/1/6x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/6x.wav -------------------------------------------------------------------------------- /audio/1/7.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/7.wav -------------------------------------------------------------------------------- /audio/1/7x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/7x.wav -------------------------------------------------------------------------------- /audio/1/8.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/8.wav -------------------------------------------------------------------------------- /audio/1/8x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/8x.wav -------------------------------------------------------------------------------- /audio/1/9.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/9.wav -------------------------------------------------------------------------------- /audio/1/9x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/9x.wav -------------------------------------------------------------------------------- /audio/1/alert.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/alert.wav -------------------------------------------------------------------------------- /audio/1/arrive.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/arrive.wav -------------------------------------------------------------------------------- /audio/1/ding.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/ding.wav -------------------------------------------------------------------------------- /audio/1/intensity-strong.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/intensity-strong.wav -------------------------------------------------------------------------------- /audio/1/intensity-weak.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/intensity-weak.wav -------------------------------------------------------------------------------- /audio/1/intensity.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/intensity.wav -------------------------------------------------------------------------------- /audio/1/second.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/second.wav -------------------------------------------------------------------------------- /audio/1/update.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/update.wav -------------------------------------------------------------------------------- /audio/1/x0.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x0.wav -------------------------------------------------------------------------------- /audio/1/x1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x1.wav -------------------------------------------------------------------------------- /audio/1/x2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x2.wav -------------------------------------------------------------------------------- /audio/1/x3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x3.wav -------------------------------------------------------------------------------- /audio/1/x4.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x4.wav -------------------------------------------------------------------------------- /audio/1/x5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x5.wav -------------------------------------------------------------------------------- /audio/1/x6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x6.wav -------------------------------------------------------------------------------- /audio/1/x7.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x7.wav -------------------------------------------------------------------------------- /audio/1/x8.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x8.wav -------------------------------------------------------------------------------- /audio/1/x9.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/1/x9.wav -------------------------------------------------------------------------------- /audio/notify.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/notify.wav -------------------------------------------------------------------------------- /audio/update.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/audio/update.wav -------------------------------------------------------------------------------- /data/0.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/0.mp3 -------------------------------------------------------------------------------- /data/1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/1.mp3 -------------------------------------------------------------------------------- /data/10.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/10.mp3 -------------------------------------------------------------------------------- /data/1xx.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/1xx.mp3 -------------------------------------------------------------------------------- /data/2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/2.mp3 -------------------------------------------------------------------------------- /data/2x.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/2x.mp3 -------------------------------------------------------------------------------- /data/2xx.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/2xx.mp3 -------------------------------------------------------------------------------- /data/3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/3.mp3 -------------------------------------------------------------------------------- /data/3x.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/3x.mp3 -------------------------------------------------------------------------------- /data/4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/4.mp3 -------------------------------------------------------------------------------- /data/4x.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/4x.mp3 -------------------------------------------------------------------------------- /data/5.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/5.mp3 -------------------------------------------------------------------------------- /data/5x.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/5x.mp3 -------------------------------------------------------------------------------- /data/6.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/6.mp3 -------------------------------------------------------------------------------- /data/6x.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/6x.mp3 -------------------------------------------------------------------------------- /data/7.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/7.mp3 -------------------------------------------------------------------------------- /data/7x.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/7x.mp3 -------------------------------------------------------------------------------- /data/8.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/8.mp3 -------------------------------------------------------------------------------- /data/8x.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/8x.mp3 -------------------------------------------------------------------------------- /data/9.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/9.mp3 -------------------------------------------------------------------------------- /data/9x.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/9x.mp3 -------------------------------------------------------------------------------- /data/alert.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/alert.mp3 -------------------------------------------------------------------------------- /data/arrive.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/arrive.mp3 -------------------------------------------------------------------------------- /data/ding.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/ding.mp3 -------------------------------------------------------------------------------- /data/intensity-strong.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/intensity-strong.mp3 -------------------------------------------------------------------------------- /data/intensity-weak.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/intensity-weak.mp3 -------------------------------------------------------------------------------- /data/intensity.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/intensity.mp3 -------------------------------------------------------------------------------- /data/notify.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/notify.mp3 -------------------------------------------------------------------------------- /data/second.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/second.mp3 -------------------------------------------------------------------------------- /data/x0.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x0.mp3 -------------------------------------------------------------------------------- /data/x1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x1.mp3 -------------------------------------------------------------------------------- /data/x2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x2.mp3 -------------------------------------------------------------------------------- /data/x3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x3.mp3 -------------------------------------------------------------------------------- /data/x4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x4.mp3 -------------------------------------------------------------------------------- /data/x5.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x5.mp3 -------------------------------------------------------------------------------- /data/x6.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x6.mp3 -------------------------------------------------------------------------------- /data/x7.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x7.mp3 -------------------------------------------------------------------------------- /data/x8.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x8.mp3 -------------------------------------------------------------------------------- /data/x9.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ExpTechTW/TW-EEW/9908ab528032a8ea8b9ade87068a3e6e5cd272ff/data/x9.mp3 --------------------------------------------------------------------------------