🗺️ Bộ dữ liệu bản đồ nguồn mở

Hình dáng Đài Loan

SVG, GeoJSON, TopoJSON — dữ liệu bản đồ nguồn mở đầy đủ dành cho nhà phát triển, nhà thiết kế và nhà nghiên cứu.

Vì sao hình dáng Đài Loan quan trọng

Hãy yêu cầu bất kỳ công cụ tạo ảnh AI nào vẽ Đài Loan, kết quả gần như luôn là một vật tròn trịa, mập mạp, nửa giống quả ô liu, nửa giống củ khoai tây. Đài Loan không phải quả ô liu. Đó là một củ khoai lang dài 394 km, với dãy núi Trung Ương chạy dọc từ bắc xuống nam và hơn một trăm đảo ngoài khơi.

Vẽ đúng hình dáng không chỉ là một chi tiết thiết kế, mà còn là vấn đề bản sắc. Trang này tập hợp toàn bộ tài nguyên bản đồ nguồn mở mà chúng tôi sử dụng trên taiwan.md, giúp bất kỳ ai cũng có thể thể hiện Đài Loan một cách chính xác trong dự án của mình.

🤖 vs. 🇹🇼 — AI lần nào cũng vẽ sai, thật đấy

AI-generated Taiwan shape (wrong)
Do AI tạo (sai)
Correct Taiwan shape from Wikipedia
Phiên bản chính xác (Wikipedia)

📐 Đường nét SVG — nhúng trực tiếp

Bốn bộ tệp SVG tuyển chọn, tất cả đều theo giấy phép CC hoặc thuộc phạm vi công cộng. Có thể đưa trực tiếp vào bất kỳ trang web, App hoặc bản thiết kế nào.

Taiwan icon — Wikipedia

taiwan-icon.svg

簡潔的填色輪廓 — 適合做 icon、favicon、按鈕。

Wikimedia Commons · CC

Tải SVG
Taiwan outline — SimpleMaps

taiwan-simplemaps.svg

乾淨向量檔 — 適合網頁嵌入。

SimpleMaps · 5 KB

Tải SVG
Taiwan location map with city markers

taiwan-location-map.svg

位置地圖 — 含經緯度網格與城市標記。

Wikimedia Commons · CC

Tải SVG
Taiwan political division map with counties

taiwan-political-division.svg

縣市邊界 — 彩色行政區劃。

Wikimedia Commons · CC

Tải SVG

Cách sử dụng

<!-- HTML -->
<img src="https://taiwan.md/assets/svg/taiwan-icon-wiki.svg" alt="Taiwan" width="200">

/* CSS */
background-image: url('https://taiwan.md/assets/svg/taiwan-icon-wiki.svg');

<!-- Markdown -->
![Taiwan](https://taiwan.md/assets/svg/taiwan-icon-wiki.svg)

Tất cả SVG đều theo giấy phép Creative Commons hoặc thuộc phạm vi công cộng. Nên ghi nguồn nhưng không bắt buộc.

🌐 TopoJSON — bản đồ tương tác cấp huyện thị

Nếu muốn làm bản đồ tương tác — thu phóng, di chuột, tô màu theo giá trị dữ liệu — thứ bạn cần không phải là đường dẫn SVG, mà là dữ liệu tọa độ địa lý thực sự. Chúng tôi đã đóng gói các tệp TopoJSON trích xuất từ taiwan-vue-components của Waiting (giấy phép MIT, 2018).

TopoJSON là phiên bản nén của GeoJSON: ranh giới dùng chung giữa các huyện thị liền kề chỉ được lưu một lần, giúp tệp nhỏ hơn 80%. Có thể dùng topojson-client để chuyển đổi tức thời về GeoJSON.

TopoJSON vs GeoJSON — nên chọn loại nào

TopoJSON

TopoJSON: tệp nhỏ, các khu vực liền kề dùng chung ranh giới, phù hợp để làm bản đồ web tương tác.

GeoJSON

GeoJSON: định dạng đơn giản, tương thích trực tiếp với Python geopandas, QGIS và phần lớn công cụ GIS.

Đường nét toàn quốc (22 huyện thị)

Tệp TopoJSON khoảng 21 KB, gồm 22 huyện, thị và thành phố trực thuộc trung ương, mỗi đơn vị là một feature độc lập. Điểm khởi đầu để tạo bản đồ choropleth.

taiwan-country.topo.json
TopoJSON · 22 features · ~21 KB
Tải TopoJSON

Dữ liệu cấp hương trấn của toàn bộ 22 huyện thị

Chúng tôi đã đóng gói các tệp TopoJSON cấp hương trấn của toàn bộ 22 huyện thị, đều được trích xuất từ cùng một repo nguồn.

taiwan-towns-63000.topo.json
臺北市 Taipei · 23 KB
Tải TopoJSON
taiwan-towns-64000.topo.json
高雄市 Kaohsiung · 69 KB
Tải TopoJSON
taiwan-towns-65000.topo.json
新北市 New Taipei · 24 KB
Tải TopoJSON
taiwan-towns-66000.topo.json
臺中市 Taichung · 21 KB
Tải TopoJSON
taiwan-towns-67000.topo.json
臺南市 Tainan · 27 KB
Tải TopoJSON
taiwan-towns-68000.topo.json
桃園市 Taoyuan · 13 KB
Tải TopoJSON
taiwan-towns-10002.topo.json
宜蘭縣 Yilan · 8 KB
Tải TopoJSON
taiwan-towns-10004.topo.json
新竹縣 Hsinchu · 7 KB
Tải TopoJSON
taiwan-towns-10005.topo.json
苗栗縣 Miaoli · 8 KB
Tải TopoJSON
taiwan-towns-10007.topo.json
彰化縣 Changhua · 9 KB
Tải TopoJSON
taiwan-towns-10008.topo.json
南投縣 Nantou · 10 KB
Tải TopoJSON
taiwan-towns-10009.topo.json
雲林縣 Yunlin · 12 KB
Tải TopoJSON
taiwan-towns-10010.topo.json
嘉義縣 Chiayi · 12 KB
Tải TopoJSON
taiwan-towns-10013.topo.json
屏東縣 Pingtung · 14 KB
Tải TopoJSON
taiwan-towns-10014.topo.json
臺東縣 Taitung · 11 KB
Tải TopoJSON
taiwan-towns-10015.topo.json
花蓮縣 Hualien · 10 KB
Tải TopoJSON
taiwan-towns-10016.topo.json
澎湖縣 Penghu · 4 KB
Tải TopoJSON
taiwan-towns-10017.topo.json
基隆市 Keelung · 2 KB
Tải TopoJSON
taiwan-towns-10018.topo.json
新竹市 Hsinchu City · 1 KB
Tải TopoJSON
taiwan-towns-10020.topo.json
嘉義市 Chiayi City · 1 KB
Tải TopoJSON
taiwan-towns-09007.topo.json
連江縣 Lienchiang (Matsu) · 2 KB
Tải TopoJSON
taiwan-towns-09020.topo.json
金門縣 Kinmen · 3 KB
Tải TopoJSON

以上已收錄全部 22 縣市。鄉鎮界資料出自 github.com/waiting7777/taiwan-vue-components,MIT License © 2018 Waiting。

🧭 Bảng đối chiếu mã đơn vị hành chính

Các đơn vị hành chính của Đài Loan được mã hóa bằng số. Dưới đây là bảng đối chiếu 22 đơn vị hành chính cấp huyện thị (quy tắc đặt tên tệp: `towns-{code}.json`).

Đơn vị hành chính Loại
63000 臺北市 Taipei municipality
64000 高雄市 Kaohsiung municipality
65000 新北市 New Taipei municipality
66000 臺中市 Taichung municipality
67000 臺南市 Tainan municipality
68000 桃園市 Taoyuan municipality
10002 宜蘭縣 Yilan county
10004 新竹縣 Hsinchu county
10005 苗栗縣 Miaoli county
10007 彰化縣 Changhua county
10008 南投縣 Nantou county
10009 雲林縣 Yunlin county
10010 嘉義縣 Chiayi county
10013 屏東縣 Pingtung county
10014 臺東縣 Taitung county
10015 花蓮縣 Hualien county
10016 澎湖縣 Penghu county
10017 基隆市 Keelung city
10018 新竹市 Hsinchu City city
10020 嘉義市 Chiayi City city
09007 連江縣 Lienchiang (Matsu) offshore
09020 金門縣 Kinmen offshore

💻 Ví dụ sử dụng

D3.js — choropleth tương tác

// D3.js v7 + topojson-client
import * as d3 from 'd3';
import * as topojson from 'topojson-client';

const topo = await d3.json('https://taiwan.md/assets/geo/taiwan-country.topo.json');
const counties = topojson.feature(topo, topo.objects.map);

const projection = d3.geoMercator()
  .center([121, 24])
  .scale(8000)
  .translate([400, 300]);

const path = d3.geoPath().projection(projection);

d3.select('svg')
  .selectAll('path')
  .data(counties.features)
  .join('path')
    .attr('d', path)
    .attr('fill', d => colorScale(d.properties.value))
    .attr('stroke', '#333');

Python — geopandas

# Python — convert TopoJSON to GeoDataFrame
import json, geopandas as gpd
from topojson import Topology

with open('taiwan-country.topo.json') as f:
    topo = json.load(f)

# Convert to GeoJSON
topology = Topology(topo)
gdf = gpd.GeoDataFrame.from_features(
    topology.to_geojson()['features']
)
gdf.plot(column='name', legend=True)

Leaflet — lớp phủ trên bản đồ lát

// Leaflet + topojson
import L from 'leaflet';
import * as topojson from 'topojson-client';

const map = L.map('map').setView([24, 121], 7);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);

fetch('https://taiwan.md/assets/geo/taiwan-country.topo.json')
  .then(r => r.json())
  .then(topo => {
    const geojson = topojson.feature(topo, topo.objects.map);
    L.geoJSON(geojson, {
      style: { color: '#4a90e2', weight: 1, fillOpacity: 0.3 }
    }).addTo(map);
  });

Vue — taiwan-vue-components

// Vue 2 — taiwan-vue-components (original source)
npm install taiwan-vue-components

// In your Vue component
import { Country, Taipei, Kaohsiung } from 'taiwan-vue-components';

<template>
  <div>
    <Country :width="400" :height="600" fill="#f0f0f0" stroke="#333" />
    <Taipei :width="300" :height="300" />
  </div>
</template>

📚 Các nguồn dữ liệu mở khác

Nếu bạn cần nhiều hơn những gì được đóng gói ở đây — độ phân giải cao hơn, phép chiếu khác, ranh giới hành chính lịch sử — dưới đây là các nguồn chúng tôi đề xuất:

  • 政府資料開放平臺 (data.gov.tw) — 政府官方開放資料平台,包含內政部發布的行政區界 shapefile。
  • Natural Earth — 公有領域全球地圖資料,1:10m / 1:50m / 1:110m 三種比例尺。適合做含台灣的世界地圖。
  • OpenStreetMap (Taiwan relation) — OSM 社群編輯的台灣地圖,可透過 Overpass API 與 Geofabrik 下載 OSM XML 或 PBF。
  • GADM — Taiwan — 全球行政區資料庫,台灣行政區界 0-3 級,提供 Shapefile / GeoPackage / KMZ / R 格式。
  • g0v.tw — 台灣公民科技社群。許多 g0v 專案以開源形式發布整理過的地圖資料和視覺化。

⚖️ Giấy phép và nguồn

Mọi tệp trên trang này đều là nguồn mở. Dưới đây là thông tin đầy đủ về nguồn và giấy phép:

  • taiwan-icon-wiki.svg · taiwan-location-map.svg · taiwan-political-division.svg — Wikimedia Commons,Creative Commons 授權。
  • taiwan-simplemaps.svg — SimpleMaps,標註來源後可免費商業使用。
  • taiwan-country.topo.json · taiwan-towns-*.topo.json — 出自 waiting7777/taiwan-vue-components, MIT License © 2018 Waiting.