convert-geojson-names.cjs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const fs = require('fs');
  2. const path = require('path');
  3. // 英文-中文对照表(可补充)
  4. const nameMap = {
  5. "China": "中国",
  6. "United States": "美国",
  7. "Japan": "日本",
  8. "South Korea": "韩国",
  9. "Australia": "澳大利亚",
  10. "Canada": "加拿大",
  11. "Russia": "俄罗斯",
  12. "India": "印度",
  13. "Brazil": "巴西",
  14. "United Kingdom": "英国",
  15. "France": "法国",
  16. "Germany": "德国",
  17. "Italy": "意大利",
  18. "New Zealand": "新西兰",
  19. "Papua New Guinea": "巴布亚新几内亚",
  20. "Fiji": "斐济",
  21. "Samoa": "萨摩亚",
  22. "Tonga": "汤加",
  23. "Vanuatu": "瓦努阿图",
  24. "Solomon Islands": "所罗门群岛",
  25. "Micronesia": "密克罗尼西亚",
  26. "Palau": "帕劳",
  27. "Nauru": "瑙鲁",
  28. "Tuvalu": "图瓦卢",
  29. // ...可继续补充
  30. };
  31. function convertGeoJson(filePath) {
  32. const geojson = JSON.parse(fs.readFileSync(filePath, 'utf8'));
  33. geojson.features.forEach(f => {
  34. const en = f.properties.name;
  35. if (nameMap[en]) {
  36. f.properties.name = nameMap[en];
  37. }
  38. });
  39. fs.writeFileSync(filePath, JSON.stringify(geojson, null, 2), 'utf8');
  40. console.log(`已处理: ${filePath}`);
  41. }
  42. convertGeoJson(path.join(__dirname, 'public/map/custom.geo.json'));
  43. convertGeoJson(path.join(__dirname, 'public/map/oceania.geo.json'));