ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Metabase 世界地图国家代码对照表:ISO 3166-1 alpha-2 与区域地图匹配机制

Metabase 世界地图国家代码对照表:ISO 3166-1 alpha-2 与区域地图匹配机制 Metabase 世界地图国家代码对照表ISO 3166-1 alpha-2 与区域地图匹配机制【免费下载链接】metabaseThe easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart:项目地址: https://gitcode.com/GitHub_Trending/me/metabase本指南完整列出 Metabase 默认世界地图可视化所支持的 250 个国家、地区与行政区域的 ISO 3166-1 alpha-2 国家代码及对应英文名称并结合开源仓库源码剖析这些代码从数据行到地图区域的匹配链路。读者读完可掌握区域地图Region Map的字段配置方法、数据准备规范以及国家代码列为何无法正确着色这类问题的排查思路。国家代码在 Metabase 可视化中的角色Metabase 的地图可视化Map分为三种类型区域地图Region map、针点地图Pin map和网格地图Grid map。其中区域地图是把数据按行政区域边界聚合渲染的图表而区域边界来自 GeoJSON 文件。当你在可视化设置中选择world_countries世界地图作为区域时Metabase 将加载内置的世界地图 GeoJSON并以每条数据的维度列取值作为钥匙去匹配地图上的每一个国家/地区边界。因此国家代码Country code是连接业务数据与地图边界的核心键值。本文档参考表收录的正是 Metabase 内置世界地图文件中实际使用的 250 个国家代码而非泛泛的 ISO 标准全集——这意味着表格里的每一行都对应仓库中 world.json 内真实存在的多边形区域。从数据到地图的匹配链路源码级解析内置世界地图数据源Metabase 的默认世界地图存放在 resources/frontend_client/app/assets/geojson/world.json。这是一个标准的 GeoJSONFeatureCollection每个Feature的properties携带两个关键属性{type: Feature, geometry: {type: Polygon, ...}, properties: {NAME: Israel, ISO_A2: IL}}其中ISO_A2即本文档表中的国家代码如ILNAME是国家/地区的英文名称如Israel。在 ChoroplethMap.unit.spec.tsx 的测试用例中可以确认内置世界地图的注册配置为world_countries: { name: World, url: app/assets/geojson/world.json, region_key: ISO_A2, region_name: NAME, builtin: true, }也就是说匹配数据使用的键是ISO_A2国家代码显示名称使用的字段是NAME。代码是如何被用作匹配键的在 ChoroplethMap.tsx 的渲染实现中getFeatureKey读取每个地图边界的keyProperty即region_key此处为ISO_A2并在默认情况下转为小写key.toLowerCase()数据行则按map.dimension指定的维度列取值通过getCanonicalRowKey(row[dimensionIndex], region)归一化后分组_.groupBy渲染时以valuesMap[getFeatureKey(feature)]查得每个国家对应的数值并映射为颜色。这意味着你的数据列中只要含有本文表中的任意代码如CN、US、FR即可正确着色。由于键值匹配时会做小写归一化cn、Cn、CN均可命中同一区域。区域字段的自动识别Metabase 会通过字段语义类型自动判断是否使用世界地图。在 Map/definition.tsx 中map.region的默认值逻辑为若问题显示类型为country或数据列中存在语义类型为type/Country的字段由metabase-lib/v1/types/utils/isa中的isCountry判定则默认选择world_countries若为state或存在type/State字段则默认选择us_states美国各州。因此只要将国家列标记为Country语义类型Metabase 就会自动切换到世界地图无需手工指定区域。世界地图的投影与渲染在 ChoroplethMap.tsx 的getMapProjection中world_countries使用d3.geoMercator()墨卡托投影投影范围框定为经度 [-170, 180]、纬度 [-60, 78]而us_states则使用d3.geoAlbersUsa()。两类内置地图都走LegacyChoropleth渲染路径自定义 GeoJSON 地图则走LeafletChoropleth路径。如何在 Metabase 中配置基于国家代码的区域地图1. 准备数据确保你的查询结果包含两列维度列国家代码ISO 3166-1 alpha-2如US、DE、JP或国家名称度量列数值如销售额、用户数、事件数。在数据模型中把国家代码列的语义类型设置为Countrytype/Country这样 Metabase 能自动识别。若无法设置语义类型可在图表设置中手动选择区域字段。2. 选择地图可视化在查询结果的可视化菜单中选择Map地图。若维度列被识别为国家Metabase 会直接以区域地图 世界地图的形式呈现。3. 配置关键设置项打开可视化设置齿轮图标在 Data 面板确认以下配置对应 Map/definition.tsx 中的设置定义设置项作用默认值/说明map.type地图类型region区域地图、pin针点地图、grid网格地图国家数据下自动选regionmap.region区域地图默认world_countries当检测到type/Country列时可选内置us_states或管理员配置的自定义 GeoJSONmap.dimension区域字段Region field自动选择国家/地区列该列取值用于匹配ISO_A2代码map.metric度量字段Metric field自动选择首个数值度量列用于决定区域着色深浅map.colors颜色范围基于主题色自动生成的分档色阶支持量化quantile着色其中map.region的候选项来自MetabaseSettings.get(custom-geojson)——即管理员在Admin settings Maps中配置的内置与自定义地图集合。4. 渲染前的校验Map/definition.tsx 的checkRenderable会在渲染前校验区域地图必须同时具备map.region、map.dimension与map.metric否则抛出ChartSettingsError并提示Please select region and metric columns in the chart settings。若地图文件加载失败如自定义地图被删除页面会显示自定义地图不可用的提示并引导管理员前往 Admin settings Maps 重新配置。完整的国家代码参考表250 个国家/地区以下代码与名称直接取自 Metabase 内置世界地图数据与 world.json 中的ISO_A2/NAME属性一一对应可用于数据清洗、维度列命名与匹配校验Country codeCountry nameADAndorraAEUnited Arab EmiratesAFAfghanistanAGAntigua and BarbudaAIAnguillaALAlbaniaAMArmeniaAOAngolaAQAntarcticaARArgentinaASAmerican SamoaATAustriaAUAustraliaAWArubaAXÅlandAZAzerbaijanBABosnia and HerzegovinaBBBarbadosBDBangladeshBEBelgiumBFBurkina FasoBGBulgariaBHBahrainBIBurundiBJBeninBLSt-BarthélemyBMBermudaBNBruneiBOBoliviaBQCaribbean NetherlandsBRBrazilBSBahamasBTBhutanBVBouvet I.BWBotswanaBYBelarusBZBelizeCACanadaCCCocos Is.CDDem. Rep. CongoCFCentral African Rep.CGCongoCHSwitzerlandCICôte dIvoireCKCook Is.CLChileCMCameroonCNChinaCOColombiaCRCosta RicaCUCubaCVCabo VerdeCWCuraçaoCXChristmas I.CYCyprusCZCzechiaDEGermanyDJDjiboutiDKDenmarkDMDominicaDODominican Rep.DZAlgeriaECEcuadorEEEstoniaEGEgyptEHW. SaharaEREritreaESSpainETEthiopiaFIFinlandFJFijiFKFalkland Is.FMMicronesiaFOFaeroe Is.FRFranceGAGabonGBUnited KingdomGDGrenadaGEGeorgiaGFFrench GuianaGGGuernseyGHGhanaGIGibraltarGLGreenlandGMGambiaGNGuineaGPGuadeloupeGQEq. GuineaGRGreeceGSS. Geo. and the Is.GTGuatemalaGUGuamGWGuinea-BissauGYGuyanaHKHong KongHMHeard I. and McDonald Is.HNHondurasHRCroatiaHTHaitiHUHungaryIDIndonesiaIEIrelandILIsraelIMIsle of ManINIndiaIOBr. Indian Ocean Ter.IQIraqIRIranISIcelandITItalyJEJerseyJMJamaicaJOJordanJPJapanKEKenyaKGKyrgyzstanKHCambodiaKIKiribatiKMComorosKNSt. Kitts and NevisKPNorth KoreaKRSouth KoreaKWKuwaitKYCayman Is.KZKazakhstanLALaosLBLebanonLCSaint LuciaLILiechtensteinLKSri LankaLRLiberiaLSLesothoLTLithuaniaLULuxembourgLVLatviaLYLibyaMAMoroccoMCMonacoMDMoldovaMEMontenegroMFSt-MartinMGMadagascarMHMarshall Is.MKMacedoniaMLMaliMMMyanmarMNMongoliaMOMacaoMPN. Mariana Is.MQMartiniqueMRMauritaniaMSMontserratMTMaltaMUMauritiusMVMaldivesMWMalawiMXMexicoMYMalaysiaMZMozambiqueNANamibiaNCNew CaledoniaNENigerNFNorfolk IslandNGNigeriaNINicaraguaNLNetherlandsNONorwayNPNepalNRNauruNUNiueNZNew ZealandOMOmanPAPanamaPEPeruPFFr. PolynesiaPGPapua New GuineaPHPhilippinesPKPakistanPLPolandPMSt. Pierre and MiquelonPNPitcairn Is.PRPuerto RicoPSPalestinePTPortugalPWPalauPYParaguayQAQatarRERéunionRORomaniaRSSerbiaRURussiaRWRwandaSASaudi ArabiaSBSolomon Is.SCSeychellesSDSudanSESwedenSGSingaporeSHSaint HelenaSISloveniaSJSvalbard and Jan MayenSKSlovakiaSLSierra LeoneSMSan MarinoSNSenegalSOSomaliaSRSurinameSSS. SudanSTSão Tomé and PrincipeSVEl SalvadorSXSint MaartenSYSyriaSZeSwatiniTCTurks and Caicos Is.TDChadTFFr. S. Antarctic LandsTGTogoTHThailandTJTajikistanTKTokelauTLTimor-LesteTMTurkmenistanTNTunisiaTOTongaTRTurkeyTTTrinidad and TobagoTVTuvaluTWTaiwanTZTanzaniaUAUkraineUGUgandaUMUnited States Minor Outlying IslandsUSUnited States of AmericaUYUruguayUZUzbekistanVAVaticanVCSt. Vin. and Gren.VEVenezuelaVGBritish Virgin Is.VIU.S. Virgin Is.VNVietnamVUVanuatuWFWallis and Futuna Is.WSSamoaXKKosovoYEYemenYTMayotteZASouth AfricaZMZambiaZWZimbabwe常见问题与使用提示代码大小写匹配时默认做了小写归一化数据列中的us、US、Us均能命中US区域但建议统一为大写保持数据整洁。用名称还是用代码维度列既可以存代码如CN也可以存名称如China。因为region_key指向ISO_A2代码是精确匹配的推荐选择若使用名称需与NAME字段完全一致含大小写与缩写风格如Dem. Rep. Congo否则该行将无对应区域、不会被着色。未匹配数据的表现无匹配的行不会报错但对应国家区域会显示为空白/未着色可以结合map.dimension列检查是否存在拼写差异或表中未收录的代码。非 ISO 标准特殊情况表内包含部分非 ISO 官方分配但地图中实际存在的代码例如XKKosovo、BQCaribbean Netherlands、SXSint Maarten以及大量缩写风格的地区名如Fr. S. Antarctic Lands请以本表为准进行数据清洗。行政区划而非国家表中还包含属地与特殊政区如HKHong Kong、MOMacao、PSPalestine、AQAntarctica 等共 250 项覆盖了内置世界地图的全部可着色区域。扩展自定义地图如需美国州级或更细粒度的地图可使用内置的us_states对应美国各州或在 Admin settings Maps 中上传自定义 GeoJSON其region_key/region_name需在配置中声明参考内置world_countries的ISO_A2/NAME模式。延伸阅读地图可视化概览地图类型区域/针点/网格的选择与适用场景区域地图渲染实现GeoJSON 加载、投影与颜色映射源码地图可视化定义与设置项全部map.*设置项定义与默认值世界地图 GeoJSON 数据250 个区域边界的原始数据区域地图单元测试内置地图注册配置与匹配逻辑的测试用例字段语义类型说明如何将列标记为type/Country以启用自动识别【免费下载链接】metabaseThe easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart:项目地址: https://gitcode.com/GitHub_Trending/me/metabase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表