🗺️ Archivo cartográfico abierto

La forma de Taiwán

SVG, GeoJSON, TopoJSON — un conjunto completo de datos de mapas de código abierto para desarrolladores, diseñadores e investigadores.

Por qué importa la forma de Taiwán

Pide a cualquier generador de imágenes con IA que dibuje Taiwán y observa lo que pasa. Normalmente escupe una mancha gorda y redondeada, a medio camino entre una aceituna y una patata. Taiwán no es una aceituna. Es una batata de 394 kilómetros de largo con una cordillera central y más de 100 islas costeras.

Representar bien la forma no es un capricho de diseño — es un problema de identidad. Esta página reúne todos los recursos de código abierto que usamos en taiwan.md para que cualquiera pueda renderizar Taiwán con precisión en su propio proyecto.

🤖 vs. 🇹🇼 — La IA siempre se equivoca.

AI-generated Taiwan shape (wrong)
Generado por IA (incorrecto)
Correct Taiwan shape from Wikipedia
Correcto (Wikipedia)

📐 Contornos SVG — listos para usar

Cuatro archivos SVG seleccionados a mano, todos bajo CC o dominio público. Insértalos directamente en cualquier web, app o archivo de diseño.

Taiwan icon — Wikipedia

taiwan-icon.svg

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

Wikimedia Commons · CC

Descargar SVG
Taiwan outline — SimpleMaps

taiwan-simplemaps.svg

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

SimpleMaps · 5 KB

Descargar SVG
Taiwan location map with city markers

taiwan-location-map.svg

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

Wikimedia Commons · CC

Descargar SVG
Taiwan political division map with counties

taiwan-political-division.svg

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

Wikimedia Commons · CC

Descargar SVG

Ejemplos de uso

<!-- 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)

Todos los SVGs están bajo Creative Commons o dominio público. Se agradece la atribución pero no es obligatoria.

🌐 TopoJSON — mapas interactivos a nivel de condado

Para mapas interactivos — zoom, hover, relleno por valor de datos — necesitas coordenadas geográficas reales, no solo rutas SVG. Incluimos archivos TopoJSON extraídos de taiwan-vue-components de Waiting (Licencia MIT, 2018).

TopoJSON es GeoJSON comprimido: las fronteras compartidas entre condados se almacenan una sola vez, lo que reduce el tamaño de los archivos en un 80%. Se puede convertir a GeoJSON al vuelo con topojson-client.

TopoJSON vs GeoJSON — ¿cuál elegir?

TopoJSON

TopoJSON: menor tamaño de archivo, topología compartida entre regiones adyacentes, la opción correcta para mapas web.

GeoJSON

GeoJSON: formato más sencillo, compatibilidad directa con Python geopandas, QGIS y la mayoría de herramientas GIS.

Contorno a nivel de país (22 condados)

Archivo TopoJSON de ~21 KB con los 22 condados y municipios especiales como entidades separadas. Perfecto para mapas coropléticos.

taiwan-country.topo.json
TopoJSON · 22 features · ~21 KB
Descargar TopoJSON

Nivel de municipio (6 municipios especiales)

Incluimos los archivos a nivel de municipio de los 6 municipios especiales. Para los otros 16 condados, consulta el repositorio de origen en GitHub.

taiwan-towns-63000.topo.json
臺北市 Taipei · 11 KB
Descargar TopoJSON
taiwan-towns-64000.topo.json
高雄市 Kaohsiung · 35 KB
Descargar TopoJSON
taiwan-towns-65000.topo.json
新北市 New Taipei · 13 KB
Descargar TopoJSON
taiwan-towns-66000.topo.json
臺中市 Taichung · 11 KB
Descargar TopoJSON
taiwan-towns-67000.topo.json
臺南市 Tainan · 15 KB
Descargar TopoJSON
taiwan-towns-68000.topo.json
桃園市 Taoyuan · 7 KB
Descargar TopoJSON

完整 22 縣市鄉鎮檔案請見 github.com/waiting7777/taiwan-vue-components.

🧭 Códigos de divisiones administrativas

Las divisiones administrativas de Taiwán usan códigos numéricos. Aquí tienes la tabla de referencia para las 22 divisiones a nivel de condado (la nomenclatura de archivos sigue el formato `towns-{código}.json`).

Código División Tipo
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

💻 Ejemplos de uso

D3.js — coroplético interactivo

// 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 — superposición de mapa basada en teselas

// 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>

📚 Otras fuentes de datos abiertos

Si necesitas más de lo que ofrecemos aquí — mayor resolución, diferentes proyecciones, límites administrativos históricos — estas son las fuentes que recomendamos:

  • 政府資料開放平臺 (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 專案以開源形式發布整理過的地圖資料和視覺化。

⚖️ Licencia y atribución

Todos los archivos de esta página son de código abierto. Aquí están los orígenes exactos y las licencias:

  • 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.