系列 6/10 資料視覺化演算法 競爭排名 vs 密集排名 vs 百分位:地圖標籤的 ranking 設計 7,748 個村里,最大排名居然不是 7,748?做 TaxMap-TW 排名功能才發現「排名」有 5 種演算法,差別都在同分怎麼處理。比較 Competition、Dense、Standard 等的適用情境,說明地圖標籤為什麼選 Comp... 技術 2026-05-27 2min
系列 1/10 資料視覺化地圖 資料地圖該用哪種色階?viridis、YlGnBu 與 ColorBrewer 實戰指南 資料地圖(Choropleth)該用哪種色階?做台灣所得稅 TaxMap 時原本想用 viridis,最後換成 ColorBrewer 的 YlGnBu + Jenks 自然斷點。整理 7 種主流連續色階比較、為什麼紅綠對比是地雷、長尾分布... 技術 2026-05-27 3min
系列 10/12 系統設計成本優化 延遲、可靠性、成本:AI agent 系統設計的鐵三角 LLM app 還是個 distributed system,延遲、可靠性、成本這三件事會互相打架,你不可能三個都要到極致。談 streaming 降感知延遲、retry/timeout/circuit breaker、prompt 與結果... 技術 2026-05-27 2min
系列 2/10 WebGIS地圖 OpenFreeMap vs MapTiler vs Mapbox:6 個 Web 地圖底圖服務怎麼選? 做台灣所得稅地圖選底圖時,發現業界標準 Mapbox 免費額度只有 5 萬次/月。整理 OpenFreeMap、MapTiler、Mapbox、NLSC 等 6 種主流服務的免費額度、token、style 比較,以及為什麼公民科技專案選了... 技術 2026-05-27 3min
系列 8/10 資料視覺化地圖 為什麼我把所得地圖色階從 viridis 換成 OrRd:把「一個決策」拆成「兩個獨立軸」 做 TaxMap-TW 色階換三次,最後選 OrRd 不是因為好看,而是把「色階」拆成用色 (hue) + 分桶 (binning) 兩個獨立決策重新組裝。對數絕對門檻(30/50/80/130/200/350 萬)+ OrRd 7 級 =... 技術 2026-05-27 3min
系列 4/10 WebGIS地圖 PMTiles 取代傳統 tile server:HTTP Range Request 的單檔魔術 PMTiles 把上千萬個 tile 打包成單一檔案,靠 HTTP Range Request 讓瀏覽器只讀需要的部分,沒有 tile server、丟到 S3 就能用。整理它的設計、跟 MBTiles 的差異、何時不該用,以及在 TaxM... 技術 2026-05-27 4min
系列 7/10 Postmortem專案總結 打造 TaxMap-TW 完整心得:6 個技術決策、踩了 4 個坑 TaxMap-TW(台灣所得稅地圖)月成本 $0、4-5 天從零上線的完整復盤:底圖、色階、PMTiles、Astro 6 SSG、FIA 直拓、Competition Ranking 共 6 個技術決策,與 macOS unzip Big... 技術 2026-05-27 2min
系列 5/10 資料工程ETL 從 PDF / CSV 到 JSON:政府開放資料的 ETL 實戰 做 TaxMap-TW 時清理財政部所得稅 CSV 踩到 6 個坑:民國年 vs 西元年命名陷阱、schema 跨年漂移、BOM / 引號變化、「合計」與「其他」過濾、村里名罕用字 mojibake、早期年度只有 PDF 沒 CSV。記錄這... 技術 2026-05-27 3min
系列 3/10 WebGIS地圖 Web 地圖底圖是什麼?vector vs raster、tile pyramid、style spec 一次搞懂 Web 地圖底圖到底是什麼?這篇用最白話的方式把 vector tile vs raster tile、tile pyramid(z/x/y 金字塔)怎麼設計、style spec 為什麼存在一次講清楚,順便聊 raster 和 vecto... 技術 2026-05-27 3min