123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- // convert-geojson-names.cjs
- // 该脚本用于将 GeoJSON 文件中的国家/地区名称从英文转换为中文
- const fs = require('fs');
- const path = require('path');
- // 英文-中文对照表(可补充)
- const nameMap = {
- China: '中国',
- 'United States of America': '美国',
- Japan: '日本',
- 'South Korea': '韩国',
- Australia: '澳大利亚',
- Canada: '加拿大',
- Russia: '俄罗斯',
- India: '印度',
- Brazil: '巴西',
- 'United Kingdom': '英国',
- France: '法国',
- Germany: '德国',
- Italy: '意大利',
- 'New Zealand': '新西兰',
- 'Papua New Guinea': '巴布亚新几内亚',
- Fiji: '斐济',
- Samoa: '萨摩亚',
- Tonga: '汤加',
- Vanuatu: '瓦努阿图',
- 'Solomon Islands': '所罗门群岛',
- Micronesia: '密克罗尼西亚',
- Palau: '帕劳',
- Nauru: '瑙鲁',
- Tuvalu: '图瓦卢',
- Kiribati: '基里巴斯',
- Maldives: '马尔代夫',
- 'Sri Lanka': '斯里兰卡',
- Cambodia: '柬埔寨',
- Vietnam: '越南',
- Thailand: '泰国',
- Philippines: '菲律宾',
- Indonesia: '印度尼西亚',
- Myanmar: '缅甸',
- Pakistan: '巴基斯坦',
- Nepal: '尼泊尔',
- Bangladesh: '孟加拉国',
- Mongolia: '蒙古',
- Tajikistan: '塔吉克斯坦',
- Uzbekistan: '乌兹别克斯坦',
- Kazakhstan: '哈萨克斯坦',
- Chile: '智利',
- Argentina: '阿根廷',
- Colombia: '哥伦比亚',
- Peru: '秘鲁',
- Bolivia: '玻利维亚',
- Ecuador: '厄瓜多尔',
- Paraguay: '巴拉圭',
- Uruguay: '乌拉圭',
- 'Hong Kong': '中国香港',
- Macau: '中国澳门',
- Taiwan: '中国台湾',
- 'South Africa': '南非',
- Nigeria: '尼日利亚',
- Kenya: '肯尼亚',
- Egypt: '埃及',
- Morocco: '摩洛哥',
- Ghana: '加纳',
- Senegal: '塞内加尔',
- Tanzania: '坦桑尼亚',
- Uganda: '乌干达',
- Zimbabwe: '津巴布韦',
- Algeria: '阿尔及利亚',
- Mali: '马里',
- Cameroon: '喀麦隆',
- Gabon: '加蓬',
- Congo: '刚果',
- Angola: '安哥拉',
- Mozambique: '莫桑比克',
- Zambia: '赞比亚',
- Botswana: '博茨瓦纳',
- Zambia: '赞比亚',
- Madagascar: '马达加斯加',
- Rwanda: '卢旺达',
- Burundi: '布隆迪',
- Togo: '多哥',
- Benin: '贝宁',
- Niger: '尼日',
- Chad: '乍得',
- Cameroon: '喀麦隆',
- 'South Sudan': '南苏丹',
- Sudan: '苏丹',
- Libya: '利比亚',
- Ethiopia: '埃塞俄比亚',
- Djibouti: '吉布提',
- Somalia: '索马里',
- Eritrea: '厄立特里亚',
- Seychelles: '塞舌尔',
- Comoros: '科摩罗',
- Mayotte: '马约特',
- Reunion: '留尼旺',
- Mauritius: '毛里求斯',
- 'Saint Helena': '圣赫勒拿',
- 'Saint Kitts and Nevis': '圣基茨和尼维斯',
- 'Saint Lucia': '圣卢西亚',
- 'Saint Pierre and Miquelon': '圣皮埃尔和密克隆',
- 'Saint Vincent and the Grenadines': '圣文森特和格林纳丁斯',
- 'Saint Martin': '圣马丁',
- 'Saint Barthelemy': '圣巴泰勒米',
- 'Saint Martin': '圣马丁',
- 'Saint Barthelemy': '圣巴泰勒米',
- 'Antigua and Barbuda': '安提瓜和巴布达',
- Dominica: '多米尼克',
- Grenada: '格林纳达',
- 'Trinidad and Tobago': '特立尼达和多巴哥',
- Bahamas: '巴哈马',
- Cuba: '古巴',
- 'Dominican Republic': '多米尼加共和国',
- Haiti: '海地',
- Jamaica: '牙买加',
- Barbados: '巴巴多斯',
- Suriname: '苏里南',
- 'French Guiana': '法属圭亚那',
- Mexico: '墨西哥',
- 'Cayman Islands': '开曼群岛',
- Bermuda: '百慕大',
- 'Puerto Rico': '波多黎各',
- 'Costa Rica': '哥斯达黎加',
- Nicaragua: '尼加拉瓜',
- 'El Salvador': '萨尔瓦多',
- Honduras: '洪都拉斯',
- Guatemala: '危地马拉',
- Belize: '伯利兹',
- Panama: '巴拿马',
- Aruba: '阿鲁巴',
- Antarctica: '南极洲',
- Malaysia: '马来西亚',
- Singapore: '新加坡',
- Laos: '老挝',
- Brunei: '文莱',
- // ...可继续补充
- };
- function convertGeoJson(filePath) {
- const geojson = JSON.parse(fs.readFileSync(filePath, 'utf8'));
- geojson.features.forEach((f) => {
- const en = f.properties.name;
- if (nameMap[en]) {
- f.properties.name = nameMap[en];
- }
- });
- fs.writeFileSync(filePath, JSON.stringify(geojson, null, 2), 'utf8');
- console.log(`已处理: ${filePath}`);
- }
- convertGeoJson(path.join(__dirname, 'public/map/custom.geo.json'));
- convertGeoJson(path.join(__dirname, 'public/map/oceania.geo.json'));
- convertGeoJson(path.join(__dirname, 'public/map/africa.geo.json'));
- convertGeoJson(path.join(__dirname, 'public/map/asia.geo.json'));
- convertGeoJson(path.join(__dirname, 'public/map/europe.geo.json'));
- convertGeoJson(path.join(__dirname, 'public/map/northAmerica.geo.json'));
- convertGeoJson(path.join(__dirname, 'public/map/southAmerica.geo.json'));
|