返回首頁圖資與限制
遊戲程式原始碼 · 原始資料與重建方式
# 遊戲圖資與來源
## 遊戲範圍
遊戲範圍為臺灣本島,加旗津本體、和平島主要陸塊、漁光島主要陸塊、彰濱鹿港區主要陸塊、布袋商港主要分離陸塊及三仙台主島,共六組,新增約 22.367276 km²。其他沿岸島塊、沙洲、遠方離島與未核准部件不自動納入;海洋水面不補成土地,也不畫連接陸橋。
`nearshore-manifest.json` 記錄三份行政 ZIP、海洋 ZIP 與來源紀錄的 SHA-256,以及六組經海洋面扣除後的精確部件雜湊、面積、範圍與定位參考。來源改變、部件缺少或重複均停止產製;不按行政代碼整包納入旗津所轄的東沙/南沙島嶼。沿用原始幾何與既有公分投影精度,沒有額外簡化。
其他未納入的分離部件不因距岸較近而自動加入。正射影像有不同拍攝年代,圖資核對不代替現地測量。
## 顯示專用分層圖塊
`display-tiles/manifest.json` 與 WebP 為既有線索的顯示衍生物,不是新的行政邊界或計分輸入。海岸、玩家筆畫與答案繼續以原向量繪製。
- 地形:原有 100 m `terrainPixels` RGBA 畫布按原始網格切為 27 張圖塊,原點 `[150930, 2422210]`、EPSG:3826;沒有重取樣。原始地形網格共有 7,566,390 個像素。
- 水域/道路/河川:沿用原始座標、既有 detail 1 線索與色彩,產製 40/50/64/80/100/128/160/200 m/CSS px、DPR 1/2 的透明圖塊,共 756 張。圖塊只影響顯示,不能送入 IoU 或取代正式幾何。
- 編碼:Pillow 無損 WebP、`lossless=True`、`exact=True`,共 783 張影像。全套約 56.13 MB,正常遊玩按視野取用,並非每局下載量;各檔 SHA-256、原始線索版本與編碼版本記錄於索引。
- 地形繼續依政府開放資料條款,OSM 衍生線索與其圖塊繼續依下列 ODbL/署名條件;自有程式的 AGPL 不取代圖資授權。原始線索仍提供重建下載。
原生倍率及中間倍率的向量/圖塊畫面可能有抗鋸齒與重採樣差異;無損編碼不等於任意倍率下逐像素等同向量。專案已含圖塊產物,正常安裝不必重製。
## 原始資料及授權
資料來源:內政部國土測繪中心,政府資料開放授權條款第 1 版。
- 縣市:https://data.gov.tw/dataset/7442,來源 COUNTY_MOI_1140318。
- 鄉鎮市區:https://data.gov.tw/dataset/7441,來源 TOWN_MOI_1140318,含壓縮檔內其他分塊。
- 村里:https://data.gov.tw/dataset/7438,來源 VILLAGE_NLSC_1150817;匯入所有與本島加核准近岸遮罩有面積交集的村里。
- 授權:https://data.gov.tw/license。圖資另依該條款,自有程式碼的 AGPL 不改變圖資授權。
`npm run data:prepare` 下載官方 ZIP、保留原檔於 `.cache/maps/`,解析所有 SHP 分塊並依行政代碼合併,再轉為 EPSG:3826 公尺制座標。來源網址、座標系、檔名、SHA-256 與產出雜湊記錄在 `manifest.json`。原始 TWD97[2020] 經緯度依 GRS80 橢球處理,未做不同地殼參考框架間的精密改正。
目前海洋裁切加核准近岸陸塊後包含 19 個縣市、349 個鄉鎮市區與 7,656 筆村里紀錄。題庫入口沿用排除空白名稱或名稱退回鄉鎮的規則,排除 45 筆後可出題 7,611;349 個鄉鎮有具名稱的村里題庫,大安 53、竹北 31、清水 32。旗津恢復 13 個具名稱村里,和平島恢復社寮/和憲/平寮三里,漁光里恢復;既有旗津本島邊緣仍保留。`manifest.counts` 是裁切後的全部紀錄數,公開 regions/pool 才是可出題清單;`byId` 仍保留無名稱紀錄。
名稱篩選只影響出題資格;目前地理修正另外更新海洋裁切遮罩與各行政區裁切產物。坐標沿用公分投影精度,畫面與計分使用同一批幾何,沒有額外簡化或手繪容錯;資料不作為正式測量用途。
圖資版本為 `nlsc-mainland-nearshore-2026-10-22`,行政答案 JSON 為 75,487,166 bytes(約 75.49 MB),由建置工具讀取;瀏覽器以版本分包按需取得,首次首頁不會載入所有村里幾何。另提供 gzip 原始資料供重建,正常遊玩不會下載該原始整包。三份官方行政 ZIP 的來源 SHA-256 與前批一致,答案 manifest 另記海洋來源包與 coast-manifest 的 SHA-256。
本島遮罩以排除澎湖、金門、連江後的行政區聯集,扣除 NLSC 經建版地形圖 CoastA/FCsubtype 0 海洋面,再取本島最大連通陸域,僅補回上列六組精確雜湊匹配的主要陸塊;其他分離部件不因橋梁或行政隸屬而自動接回。行政區只對遊戲範圍內部分出題與計分。只扣海洋,不扣獨立的河川、湖泊、水庫或池塘圖層,內陸水域規則維持。
海洋來源為 [NLSC 官方目錄](https://maps.nlsc.gov.tw/pro/download.jsp),272 張逐圖幅最新 1:25,000 CoastA(民國 110~114 年批次,含內陸空圖層),5 張 1:50,000 原始海洋面僅裁到缺少的 25k 範圍:94203NW、94204NE、95161NE、95223NE、98233SW。後者使用原始 97232 圖框外延,沒有外推資料。[25k](https://data.gov.tw/dataset/176020)/[50k](https://data.gov.tw/dataset/176503)依政府資料開放授權條款第 1 版。原始包 `coast-source.zip` 為 1,061,546 bytes/1,106 檔;逐來源 ZIP/檔案雜湊、年份、原始路徑與限定補缺矩形見 `coast-manifest.json`。兩筆 CoastA/subtype 海洋但 f_code 為 BH140 的原始紀錄,僅依已核對的檔案雜湊與 GlobalID 開放;不全面放行其他分類。
另以國家公園署 114 年第 2 期自然/人工海岸線作獨立對照(https://www.nps.gov.tw/ch/listicle/scope/91;資料開放宣告 https://www.nps.gov.tw/ch/sglarticle/opendata)。其 TWD67 線段轉換約 7 m 精度,沒有用猜測補線生成本島面。圖幅覆蓋與港區對照不代表現地測量。來源年份、比例尺、參考框架、潮位及填海變化仍有差異;旗津南側約 7,654 m² 行政邊緣與本島相接,缺少足夠證據判定錯誤,依既定部分本島規則保留,不把這段邊緣宣稱為已核實乾陸;目前另依精確部件補回旗津本體。
不同年份的行政界線可能有微小接縫,不為對齊而強制吸附或增加容錯;資料不代替正式地理測量。
## 初階線索底圖
初階使用真實地形、道路及水系;高階保留海岸輪廓,不載入線索。線索獨立於答案資料,**不參與 IoU、不改動陸域及行政邊界**。不因繪出河川或湖泊而排除內陸水面計分。
- 地形:[內政部 2025 年版 20 公尺網格 DTM](https://data.gov.tw/dataset/176927)。來源 ZIP `不分幅_全台20MDEM(2025).zip`,實際 TIFF 名為 `DEM_tawiwan_V2025.tif`,10035×18852,20 m 網格,NoData -32767。
- 地形 TIFF 為 TM2/121°、中央經線比例 .9999,PixelIsPoint;檔內橢球標為 WGS84。顯示沿用公尺制座標,未做精密參考框架改正。以 5 倍間距取樣為 **100 m 顯示網格**(2007×3770),保留原本 NoData,不人工補山形;輸出的 bounds 依網格中心轉為像元外緣。
- 道路/水系:[Geofabrik 台灣 OSM 摘錄](https://download.geofabrik.de/asia/taiwan.html),本批釘選 `taiwan-261017-free.shp.zip`。由 WGS84 轉為 EPSG:3826,保留 222889 段道路、53947 段水道及 11544 個水域面。
- 道路包含高速/主要道路、次要道路與住宅街道;水系包含河流、溪流、運河及面狀水域。全島以主要道路、大河與較大水面為主,次要道路隨放大顯示,住宅街道及細支流在更近視野顯示。
- 僅匯入幾何、類別及視野索引,沒有地名、路名、POI 或行政界線。顯示線條使用約 4~10 m 的簡化,**答案資料仍無額外簡化或手繪容錯**。
- 來源網址、來源及產物 SHA-256、投影、數量與限制見 [basemap-manifest.json](basemap-manifest.json)。產物為 `basemap.json.gz`(約 15.5 MB)及 `terrain.bin.gz`(約 4.9 MB)。單人與多人均由瀏覽器按視野載入靜態分包,不一次下載全台線段。
地形依 [政府資料開放授權條款第 1 版](https://data.gov.tw/license);OSM 道路/水系衍生資料維持 [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/),署名為 **© OpenStreetMap contributors / Geofabrik**,並連到 [OSM 版權頁](https://www.openstreetmap.org/copyright)。自有程式碼的 AGPL 不取代這些資料授權。頁尾保留署名;成績分享圖只畫行政邊界/海岸與圈選,未嵌入 OSM 或地形底圖。
`npm run data:basemap` 重新產製線索,原始 ZIP/解開的 TIFF 只快取於 `.cache/basemap/`。啟動與遊玩使用已產出的本機資料,不向政府、OSM 或 Geofabrik 逐題請求圖磚。細村里地形解析度、來源更新時間差、NoData、海岸裁切與手機實機效能仍待檢查。