├── .gitignore ├── data ├── json │ ├── municipios │ │ ├── df_municipios.json │ │ ├── rr_municipios.json │ │ ├── ap_municipios.json │ │ ├── ac_municipios.json │ │ ├── ro_municipios.json │ │ ├── am_municipios.json │ │ ├── se_municipios.json │ │ ├── ms_municipios.json │ │ ├── es_municipios.json │ │ ├── rj_municipios.json │ │ └── al_municipios.json │ ├── microrregioes │ │ ├── df_microrregioes.json │ │ ├── ap_microrregioes.json │ │ ├── rr_microrregioes.json │ │ ├── ac_microrregioes.json │ │ ├── ro_microrregioes.json │ │ ├── to_microrregioes.json │ │ ├── ms_microrregioes.json │ │ ├── am_microrregioes.json │ │ ├── es_microrregioes.json │ │ ├── se_microrregioes.json │ │ ├── al_microrregioes.json │ │ ├── pi_microrregioes.json │ │ ├── go_microrregioes.json │ │ ├── rj_microrregioes.json │ │ ├── rn_microrregioes.json │ │ ├── sc_microrregioes.json │ │ ├── pe_microrregioes.json │ │ ├── pa_microrregioes.json │ │ ├── mt_microrregioes.json │ │ ├── ma_microrregioes.json │ │ ├── pb_microrregioes.json │ │ ├── ba_microrregioes.json │ │ ├── ce_microrregioes.json │ │ ├── rs_microrregioes.json │ │ ├── pr_microrregioes.json │ │ ├── sp_microrregioes.json │ │ └── mg_microrregioes.json │ ├── mesorregioes │ │ ├── df_mesorregioes.json │ │ ├── ac_mesorregioes.json │ │ ├── ap_mesorregioes.json │ │ ├── rr_mesorregioes.json │ │ ├── ro_mesorregioes.json │ │ ├── to_mesorregioes.json │ │ ├── al_mesorregioes.json │ │ ├── se_mesorregioes.json │ │ ├── pb_mesorregioes.json │ │ ├── rn_mesorregioes.json │ │ ├── am_mesorregioes.json │ │ ├── pi_mesorregioes.json │ │ ├── go_mesorregioes.json │ │ ├── es_mesorregioes.json │ │ ├── ma_mesorregioes.json │ │ ├── ms_mesorregioes.json │ │ ├── pe_mesorregioes.json │ │ ├── mt_mesorregioes.json │ │ ├── sc_mesorregioes.json │ │ ├── pa_mesorregioes.json │ │ ├── rj_mesorregioes.json │ │ ├── ce_mesorregioes.json │ │ ├── ba_mesorregioes.json │ │ ├── rs_mesorregioes.json │ │ ├── pr_mesorregioes.json │ │ ├── mg_mesorregioes.json │ │ └── sp_mesorregioes.json │ └── federacao │ │ └── br_unidades_da_federacao.json └── svg │ └── low │ ├── municipios │ ├── df_municipios.svg │ ├── rr_municipios.svg │ └── ap_municipios.svg │ ├── mesorregioes │ ├── df_mesorregioes.svg │ ├── ap_mesorregioes.svg │ ├── ro_mesorregioes.svg │ ├── pb_mesorregioes.svg │ ├── rr_mesorregioes.svg │ ├── to_mesorregioes.svg │ ├── rn_mesorregioes.svg │ ├── se_mesorregioes.svg │ ├── pi_mesorregioes.svg │ ├── ac_mesorregioes.svg │ ├── al_mesorregioes.svg │ ├── ce_mesorregioes.svg │ ├── pe_mesorregioes.svg │ ├── pa_mesorregioes.svg │ ├── ma_mesorregioes.svg │ ├── ms_mesorregioes.svg │ ├── go_mesorregioes.svg │ ├── es_mesorregioes.svg │ ├── am_mesorregioes.svg │ ├── mt_mesorregioes.svg │ ├── pr_mesorregioes.svg │ └── rs_mesorregioes.svg │ └── microrregioes │ ├── df_microrregioes.svg │ ├── rr_microrregioes.svg │ ├── ap_microrregioes.svg │ ├── ro_microrregioes.svg │ ├── ac_microrregioes.svg │ ├── to_microrregioes.svg │ ├── se_microrregioes.svg │ ├── pi_microrregioes.svg │ ├── al_microrregioes.svg │ ├── rn_microrregioes.svg │ ├── pb_microrregioes.svg │ ├── pe_microrregioes.svg │ ├── ms_microrregioes.svg │ ├── ma_microrregioes.svg │ ├── pa_microrregioes.svg │ ├── go_microrregioes.svg │ ├── es_microrregioes.svg │ └── ce_microrregioes.svg ├── .editorconfig ├── exemplos ├── exemplo_001.png └── exemplo_002.png ├── webpack.prod.js ├── .npmignore ├── webpack.common.js ├── src ├── mapa-brasil.d.ts ├── core │ ├── mapa-io.js │ ├── mapa-ui.js │ ├── constantes.js │ ├── validate-options.js │ └── interactable.js └── mapa-brasil.js ├── webpack.dev.js ├── .github └── workflows │ └── nodejs.yml ├── test ├── mapa-brasil.test.js ├── validate-options.test.js └── data.test.js ├── LICENSE ├── package.json ├── README.md └── index.html /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | /dist 4 | /coverage 5 | /.nyc_output 6 | -------------------------------------------------------------------------------- /data/json/municipios/df_municipios.json: -------------------------------------------------------------------------------- 1 | [{"NM_MUNICIP":"BRASÍLIA","CD_GEOCMU":"5300108"}] -------------------------------------------------------------------------------- /data/json/microrregioes/df_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"BRASÍLIA","CD_GEOCMI":"53001"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/df_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"DISTRITO FEDERAL","CD_GEOCME":"5301"}] -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [{*.js, *.ts, *.md}] 4 | indent_style = space 5 | indent_size = 2 6 | -------------------------------------------------------------------------------- /exemplos/exemplo_001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clagomess/mapa-brasil/HEAD/exemplos/exemplo_001.png -------------------------------------------------------------------------------- /exemplos/exemplo_002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clagomess/mapa-brasil/HEAD/exemplos/exemplo_002.png -------------------------------------------------------------------------------- /data/json/mesorregioes/ac_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"VALE DO ACRE","CD_GEOCME":"1202"},{"NM_MESO":"VALE DO JURUÁ","CD_GEOCME":"1201"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/ap_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"NORTE DO AMAPÁ","CD_GEOCME":"1601"},{"NM_MESO":"SUL DO AMAPÁ","CD_GEOCME":"1602"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/rr_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"NORTE DE RORAIMA","CD_GEOCME":"1401"},{"NM_MESO":"SUL DE RORAIMA","CD_GEOCME":"1402"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/ro_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"LESTE RONDONIENSE","CD_GEOCME":"1102"},{"NM_MESO":"MADEIRA-GUAPORÉ","CD_GEOCME":"1101"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/to_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"OCIDENTAL DO TOCANTINS","CD_GEOCME":"1701"},{"NM_MESO":"ORIENTAL DO TOCANTINS","CD_GEOCME":"1702"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/al_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"LESTE ALAGOANO","CD_GEOCME":"2703"},{"NM_MESO":"SERTÃO ALAGOANO","CD_GEOCME":"2701"},{"NM_MESO":"AGRESTE ALAGOANO","CD_GEOCME":"2702"}] -------------------------------------------------------------------------------- /webpack.prod.js: -------------------------------------------------------------------------------- 1 | const { merge } = require('webpack-merge'); 2 | const common = require('./webpack.common.js'); 3 | 4 | module.exports = merge(common, { 5 | mode: "production", 6 | }); 7 | -------------------------------------------------------------------------------- /data/json/mesorregioes/se_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"LESTE SERGIPANO","CD_GEOCME":"2803"},{"NM_MESO":"AGRESTE SERGIPANO","CD_GEOCME":"2802"},{"NM_MESO":"SERTÃO SERGIPANO","CD_GEOCME":"2801"}] -------------------------------------------------------------------------------- /data/json/microrregioes/ap_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"MAZAGÃO","CD_GEOCMI":"16004"},{"NM_MICRO":"MACAPÁ","CD_GEOCMI":"16003"},{"NM_MICRO":"AMAPÁ","CD_GEOCMI":"16002"},{"NM_MICRO":"OIAPOQUE","CD_GEOCMI":"16001"}] -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # git ignore 2 | .idea 3 | node_modules 4 | /coverage 5 | /.nyc_output 6 | 7 | # only npm publish 8 | /test 9 | webpack.* 10 | index.html 11 | .editorconfig 12 | .travis.yml 13 | exemplos 14 | .github -------------------------------------------------------------------------------- /data/json/mesorregioes/pb_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"SERTÃO PARAIBANO","CD_GEOCME":"2501"},{"NM_MESO":"MATA PARAIBANA","CD_GEOCME":"2504"},{"NM_MESO":"AGRESTE PARAIBANO","CD_GEOCME":"2503"},{"NM_MESO":"BORBOREMA","CD_GEOCME":"2502"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/rn_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"OESTE POTIGUAR","CD_GEOCME":"2401"},{"NM_MESO":"AGRESTE POTIGUAR","CD_GEOCME":"2403"},{"NM_MESO":"LESTE POTIGUAR","CD_GEOCME":"2404"},{"NM_MESO":"CENTRAL POTIGUAR","CD_GEOCME":"2402"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/am_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"CENTRO AMAZONENSE","CD_GEOCME":"1303"},{"NM_MESO":"NORTE AMAZONENSE","CD_GEOCME":"1301"},{"NM_MESO":"SUDOESTE AMAZONENSE","CD_GEOCME":"1302"},{"NM_MESO":"SUL AMAZONENSE","CD_GEOCME":"1304"}] -------------------------------------------------------------------------------- /data/json/microrregioes/rr_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"BOA VISTA","CD_GEOCMI":"14001"},{"NM_MICRO":"CARACARAÍ","CD_GEOCMI":"14003"},{"NM_MICRO":"SUDESTE DE RORAIMA","CD_GEOCMI":"14004"},{"NM_MICRO":"NORDESTE DE RORAIMA","CD_GEOCMI":"14002"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/pi_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"CENTRO-NORTE PIAUIENSE","CD_GEOCME":"2202"},{"NM_MESO":"NORTE PIAUIENSE","CD_GEOCME":"2201"},{"NM_MESO":"SUDOESTE PIAUIENSE","CD_GEOCME":"2203"},{"NM_MESO":"SUDESTE PIAUIENSE","CD_GEOCME":"2204"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/go_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"CENTRO GOIANO","CD_GEOCME":"5203"},{"NM_MESO":"NORTE GOIANO","CD_GEOCME":"5202"},{"NM_MESO":"NOROESTE GOIANO","CD_GEOCME":"5201"},{"NM_MESO":"LESTE GOIANO","CD_GEOCME":"5204"},{"NM_MESO":"SUL GOIANO","CD_GEOCME":"5205"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/es_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"LITORAL NORTE ESPÍRITO-SANTENSE","CD_GEOCME":"3202"},{"NM_MESO":"CENTRAL ESPÍRITO-SANTENSE","CD_GEOCME":"3203"},{"NM_MESO":"NOROESTE ESPÍRITO-SANTENSE","CD_GEOCME":"3201"},{"NM_MESO":"SUL ESPÍRITO-SANTENSE","CD_GEOCME":"3204"}] -------------------------------------------------------------------------------- /data/json/microrregioes/ac_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"RIO BRANCO","CD_GEOCMI":"12004"},{"NM_MICRO":"SENA MADUREIRA","CD_GEOCMI":"12003"},{"NM_MICRO":"BRASILÉIA","CD_GEOCMI":"12005"},{"NM_MICRO":"TARAUACÁ","CD_GEOCMI":"12002"},{"NM_MICRO":"CRUZEIRO DO SUL","CD_GEOCMI":"12001"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/ma_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"CENTRO MARANHENSE","CD_GEOCME":"2103"},{"NM_MESO":"OESTE MARANHENSE","CD_GEOCME":"2102"},{"NM_MESO":"NORTE MARANHENSE","CD_GEOCME":"2101"},{"NM_MESO":"SUL MARANHENSE","CD_GEOCME":"2105"},{"NM_MESO":"LESTE MARANHENSE","CD_GEOCME":"2104"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/ms_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"LESTE DE MATO GROSSO DO SUL","CD_GEOCME":"5003"},{"NM_MESO":"SUDOESTE DE MATO GROSSO DO SUL","CD_GEOCME":"5004"},{"NM_MESO":"PANTANAIS SUL MATO-GROSSENSE","CD_GEOCME":"5001"},{"NM_MESO":"CENTRO NORTE DE MATO GROSSO DO SUL","CD_GEOCME":"5002"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/pe_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"AGRESTE PERNAMBUCANO","CD_GEOCME":"2603"},{"NM_MESO":"MATA PERNAMBUCANA","CD_GEOCME":"2604"},{"NM_MESO":"SÃO FRANCISCO PERNAMBUCANO","CD_GEOCME":"2602"},{"NM_MESO":"SERTÃO PERNAMBUCANO","CD_GEOCME":"2601"},{"NM_MESO":"METROPOLITANA DE RECIFE","CD_GEOCME":"2605"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/mt_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"SUDESTE MATO-GROSSENSE","CD_GEOCME":"5105"},{"NM_MESO":"CENTRO-SUL MATO-GROSSENSE","CD_GEOCME":"5104"},{"NM_MESO":"SUDOESTE MATO-GROSSENSE","CD_GEOCME":"5103"},{"NM_MESO":"NORDESTE MATO-GROSSENSE","CD_GEOCME":"5102"},{"NM_MESO":"NORTE MATO-GROSSENSE","CD_GEOCME":"5101"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/sc_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"SUL CATARINENSE","CD_GEOCME":"4206"},{"NM_MESO":"VALE DO ITAJAÍ","CD_GEOCME":"4204"},{"NM_MESO":"GRANDE FLORIANÓPOLIS","CD_GEOCME":"4205"},{"NM_MESO":"SERRANA","CD_GEOCME":"4203"},{"NM_MESO":"NORTE CATARINENSE","CD_GEOCME":"4202"},{"NM_MESO":"OESTE CATARINENSE","CD_GEOCME":"4201"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/pa_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"METROPOLITANA DE BELÉM","CD_GEOCME":"1503"},{"NM_MESO":"SUDOESTE PARAENSE","CD_GEOCME":"1505"},{"NM_MESO":"BAIXO AMAZONAS","CD_GEOCME":"1501"},{"NM_MESO":"MARAJÓ","CD_GEOCME":"1502"},{"NM_MESO":"NORDESTE PARAENSE","CD_GEOCME":"1504"},{"NM_MESO":"SUDESTE PARAENSE","CD_GEOCME":"1506"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/rj_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"NORTE FLUMINENSE","CD_GEOCME":"3302"},{"NM_MESO":"METROPOLITANA DO RIO DE JANEIRO","CD_GEOCME":"3306"},{"NM_MESO":"SUL FLUMINENSE","CD_GEOCME":"3305"},{"NM_MESO":"BAIXADAS","CD_GEOCME":"3304"},{"NM_MESO":"CENTRO FLUMINENSE","CD_GEOCME":"3303"},{"NM_MESO":"NOROESTE FLUMINENSE","CD_GEOCME":"3301"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/ce_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"NORTE CEARENSE","CD_GEOCME":"2302"},{"NM_MESO":"CENTRO-SUL CEARENSE","CD_GEOCME":"2306"},{"NM_MESO":"NOROESTE CEARENSE","CD_GEOCME":"2301"},{"NM_MESO":"SUL CEARENSE","CD_GEOCME":"2307"},{"NM_MESO":"JAGUARIBE","CD_GEOCME":"2305"},{"NM_MESO":"SERTÕES CEARENSES","CD_GEOCME":"2304"},{"NM_MESO":"METROPOLITANA DE FORTALEZA","CD_GEOCME":"2303"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/ba_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"VALE SÃO-FRANCISCANO DA BAHIA","CD_GEOCME":"2902"},{"NM_MESO":"METROPOLITANA DE SALVADOR","CD_GEOCME":"2905"},{"NM_MESO":"CENTRO SUL BAIANO","CD_GEOCME":"2906"},{"NM_MESO":"NORDESTE BAIANO","CD_GEOCME":"2904"},{"NM_MESO":"CENTRO NORTE BAIANO","CD_GEOCME":"2903"},{"NM_MESO":"EXTREMO OESTE BAIANO","CD_GEOCME":"2901"},{"NM_MESO":"SUL BAIANO","CD_GEOCME":"2907"}] -------------------------------------------------------------------------------- /data/json/microrregioes/ro_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"GUAJARÁ-MIRIM","CD_GEOCMI":"11002"},{"NM_MICRO":"CACOAL","CD_GEOCMI":"11006"},{"NM_MICRO":"JI-PARANÁ","CD_GEOCMI":"11004"},{"NM_MICRO":"ALVORADA D'OESTE","CD_GEOCMI":"11005"},{"NM_MICRO":"COLORADO DO OESTE","CD_GEOCMI":"11008"},{"NM_MICRO":"ARIQUEMES","CD_GEOCMI":"11003"},{"NM_MICRO":"PORTO VELHO","CD_GEOCMI":"11001"},{"NM_MICRO":"VILHENA","CD_GEOCMI":"11007"}] -------------------------------------------------------------------------------- /data/json/microrregioes/to_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"JALAPÃO","CD_GEOCMI":"17007"},{"NM_MICRO":"MIRACEMA DO TOCANTINS","CD_GEOCMI":"17003"},{"NM_MICRO":"ARAGUAÍNA","CD_GEOCMI":"17002"},{"NM_MICRO":"DIANÓPOLIS","CD_GEOCMI":"17008"},{"NM_MICRO":"GURUPI","CD_GEOCMI":"17005"},{"NM_MICRO":"PORTO NACIONAL","CD_GEOCMI":"17006"},{"NM_MICRO":"BICO DO PAPAGAIO","CD_GEOCMI":"17001"},{"NM_MICRO":"RIO FORMOSO","CD_GEOCMI":"17004"}] -------------------------------------------------------------------------------- /webpack.common.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | entry: { 5 | "mapa-brasil": './src/mapa-brasil.js' 6 | }, 7 | 8 | output: { 9 | path: path.resolve(__dirname, 'dist'), 10 | filename: '[name].min.js', 11 | library: 'MapaBrasil', 12 | libraryTarget: "umd" 13 | }, 14 | 15 | module: { 16 | rules: [ 17 | { 18 | test: /\.js$/, 19 | exclude: /node_modules/, 20 | loader: 'babel-loader', 21 | } 22 | ] 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /data/json/mesorregioes/rs_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"CENTRO OCIDENTAL RIO-GRANDENSE","CD_GEOCME":"4303"},{"NM_MESO":"CENTRO ORIENTAL RIO-GRANDENSE","CD_GEOCME":"4304"},{"NM_MESO":"LAGOA MIRIM","CD_GEOCME":"4377"},{"NM_MESO":"NORDESTE RIO-GRANDENSE","CD_GEOCME":"4302"},{"NM_MESO":"SUDESTE RIO-GRANDENSE","CD_GEOCME":"4307"},{"NM_MESO":"NOROESTE RIO-GRANDENSE","CD_GEOCME":"4301"},{"NM_MESO":"LAGOA DOS PATOS","CD_GEOCME":"4388"},{"NM_MESO":"METROPOLITANA DE PORTO ALEGRE","CD_GEOCME":"4305"},{"NM_MESO":"SUDOESTE RIO-GRANDENSE","CD_GEOCME":"4306"}] -------------------------------------------------------------------------------- /data/json/microrregioes/ms_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"BAIXO PANTANAL","CD_GEOCMI":"50001"},{"NM_MICRO":"PARANAÍBA","CD_GEOCMI":"50006"},{"NM_MICRO":"DOURADOS","CD_GEOCMI":"50010"},{"NM_MICRO":"ALTO TAQUARI","CD_GEOCMI":"50003"},{"NM_MICRO":"CAMPO GRANDE","CD_GEOCMI":"50004"},{"NM_MICRO":"AQUIDAUANA","CD_GEOCMI":"50002"},{"NM_MICRO":"BODOQUENA","CD_GEOCMI":"50009"},{"NM_MICRO":"CASSILÂNDIA","CD_GEOCMI":"50005"},{"NM_MICRO":"IGUATEMI","CD_GEOCMI":"50011"},{"NM_MICRO":"NOVA ANDRADINA","CD_GEOCMI":"50008"},{"NM_MICRO":"TRÊS LAGOAS","CD_GEOCMI":"50007"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/pr_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"SUDESTE PARANAENSE","CD_GEOCME":"4109"},{"NM_MESO":"NORTE PIONEIRO PARANAENSE","CD_GEOCME":"4104"},{"NM_MESO":"NORTE CENTRAL PARANAENSE","CD_GEOCME":"4103"},{"NM_MESO":"CENTRO-SUL PARANAENSE","CD_GEOCME":"4108"},{"NM_MESO":"OESTE PARANAENSE","CD_GEOCME":"4106"},{"NM_MESO":"METROPOLITANA DE CURITIBA","CD_GEOCME":"4110"},{"NM_MESO":"CENTRO OCIDENTAL PARANAENSE","CD_GEOCME":"4102"},{"NM_MESO":"SUDOESTE PARANAENSE","CD_GEOCME":"4107"},{"NM_MESO":"CENTRO ORIENTAL PARANAENSE","CD_GEOCME":"4105"},{"NM_MESO":"NOROESTE PARANAENSE","CD_GEOCME":"4101"}] -------------------------------------------------------------------------------- /data/json/microrregioes/am_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"JURUÁ","CD_GEOCMI":"13004"},{"NM_MICRO":"ITACOATIARA","CD_GEOCMI":"13009"},{"NM_MICRO":"BOCA DO ACRE","CD_GEOCMI":"13011"},{"NM_MICRO":"ALTO SOLIMÕES","CD_GEOCMI":"13003"},{"NM_MICRO":"TEFÉ","CD_GEOCMI":"13005"},{"NM_MICRO":"PARINTINS","CD_GEOCMI":"13010"},{"NM_MICRO":"PURUS","CD_GEOCMI":"13012"},{"NM_MICRO":"JAPURÁ","CD_GEOCMI":"13002"},{"NM_MICRO":"COARI","CD_GEOCMI":"13006"},{"NM_MICRO":"MANAUS","CD_GEOCMI":"13007"},{"NM_MICRO":"MADEIRA","CD_GEOCMI":"13013"},{"NM_MICRO":"RIO PRETO DA EVA","CD_GEOCMI":"13008"},{"NM_MICRO":"RIO NEGRO","CD_GEOCMI":"13001"}] -------------------------------------------------------------------------------- /data/svg/low/municipios/df_municipios.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/df_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/microrregioes/df_microrregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/es_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"ALEGRE","CD_GEOCMI":"32011"},{"NM_MICRO":"SANTA TERESA","CD_GEOCMI":"32008"},{"NM_MICRO":"VITÓRIA","CD_GEOCMI":"32009"},{"NM_MICRO":"CACHOEIRO DE ITAPEMIRIM","CD_GEOCMI":"32012"},{"NM_MICRO":"COLATINA","CD_GEOCMI":"32003"},{"NM_MICRO":"MONTANHA","CD_GEOCMI":"32004"},{"NM_MICRO":"ITAPEMIRIM","CD_GEOCMI":"32013"},{"NM_MICRO":"BARRA DE SÃO FRANCISCO","CD_GEOCMI":"32001"},{"NM_MICRO":"SÃO MATEUS","CD_GEOCMI":"32005"},{"NM_MICRO":"LINHARES","CD_GEOCMI":"32006"},{"NM_MICRO":"GUARAPARI","CD_GEOCMI":"32010"},{"NM_MICRO":"AFONSO CLÁUDIO","CD_GEOCMI":"32007"},{"NM_MICRO":"NOVA VENÉCIA","CD_GEOCMI":"32002"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/mg_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"CAMPO DAS VERTENTES","CD_GEOCME":"3111"},{"NM_MESO":"VALE DO RIO DOCE","CD_GEOCME":"3108"},{"NM_MESO":"OESTE DE MINAS","CD_GEOCME":"3109"},{"NM_MESO":"CENTRAL MINEIRA","CD_GEOCME":"3106"},{"NM_MESO":"METROPOLITANA DE BELO HORIZONTE","CD_GEOCME":"3107"},{"NM_MESO":"VALE DO MUCURI","CD_GEOCME":"3104"},{"NM_MESO":"JEQUITINHONHA","CD_GEOCME":"3103"},{"NM_MESO":"NORTE DE MINAS","CD_GEOCME":"3102"},{"NM_MESO":"TRIÂNGULO MINEIRO/ALTO PARANAÍBA","CD_GEOCME":"3105"},{"NM_MESO":"SUL/SUDOESTE DE MINAS","CD_GEOCME":"3110"},{"NM_MESO":"ZONA DA MATA","CD_GEOCME":"3112"},{"NM_MESO":"NOROESTE DE MINAS","CD_GEOCME":"3101"}] -------------------------------------------------------------------------------- /data/json/microrregioes/se_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"JAPARATUBA","CD_GEOCMI":"28009"},{"NM_MICRO":"NOSSA SENHORA DAS DORES","CD_GEOCMI":"28003"},{"NM_MICRO":"PROPRIÁ","CD_GEOCMI":"28007"},{"NM_MICRO":"AGRESTE DE LAGARTO","CD_GEOCMI":"28006"},{"NM_MICRO":"BOQUIM","CD_GEOCMI":"28012"},{"NM_MICRO":"SERGIPANA DO SERTÃO DO SÃO FRANCISCO","CD_GEOCMI":"28001"},{"NM_MICRO":"BAIXO COTINGUIBA","CD_GEOCMI":"28010"},{"NM_MICRO":"COTINGUIBA","CD_GEOCMI":"28008"},{"NM_MICRO":"CARIRA","CD_GEOCMI":"28002"},{"NM_MICRO":"ESTÂNCIA","CD_GEOCMI":"28013"},{"NM_MICRO":"ARACAJU","CD_GEOCMI":"28011"},{"NM_MICRO":"AGRESTE DE ITABAIANA","CD_GEOCMI":"28004"},{"NM_MICRO":"TOBIAS BARRETO","CD_GEOCMI":"28005"}] -------------------------------------------------------------------------------- /data/json/microrregioes/al_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"SÃO MIGUEL DOS CAMPOS","CD_GEOCMI":"27012"},{"NM_MICRO":"PALMEIRA DOS ÍNDIOS","CD_GEOCMI":"27005"},{"NM_MICRO":"MATA ALAGOANA","CD_GEOCMI":"27009"},{"NM_MICRO":"SANTANA DO IPANEMA","CD_GEOCMI":"27003"},{"NM_MICRO":"ALAGOANA DO SERTÃO DO SÃO FRANCISCO","CD_GEOCMI":"27002"},{"NM_MICRO":"ARAPIRACA","CD_GEOCMI":"27006"},{"NM_MICRO":"BATALHA","CD_GEOCMI":"27004"},{"NM_MICRO":"LITORAL NORTE ALAGOANO","CD_GEOCMI":"27010"},{"NM_MICRO":"SERRANA DO SERTÃO ALAGOANO","CD_GEOCMI":"27001"},{"NM_MICRO":"SERRANA DOS QUILOMBOS","CD_GEOCMI":"27008"},{"NM_MICRO":"PENEDO","CD_GEOCMI":"27013"},{"NM_MICRO":"MACEIÓ","CD_GEOCMI":"27011"},{"NM_MICRO":"TRAIPU","CD_GEOCMI":"27007"}] -------------------------------------------------------------------------------- /data/json/mesorregioes/sp_mesorregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MESO":"MARÍLIA","CD_GEOCME":"3509"},{"NM_MESO":"ARAÇATUBA","CD_GEOCME":"3503"},{"NM_MESO":"CAMPINAS","CD_GEOCME":"3507"},{"NM_MESO":"PRESIDENTE PRUDENTE","CD_GEOCME":"3508"},{"NM_MESO":"ASSIS","CD_GEOCME":"3510"},{"NM_MESO":"SÃO JOSÉ DO RIO PRETO","CD_GEOCME":"3501"},{"NM_MESO":"LITORAL SUL PAULISTA","CD_GEOCME":"3514"},{"NM_MESO":"ARARAQUARA","CD_GEOCME":"3505"},{"NM_MESO":"VALE DO PARAÍBA PAULISTA","CD_GEOCME":"3513"},{"NM_MESO":"MACRO METROPOLITANA PAULISTA","CD_GEOCME":"3512"},{"NM_MESO":"RIBEIRÃO PRETO","CD_GEOCME":"3502"},{"NM_MESO":"ITAPETININGA","CD_GEOCME":"3511"},{"NM_MESO":"BAURU","CD_GEOCME":"3504"},{"NM_MESO":"METROPOLITANA DE SÃO PAULO","CD_GEOCME":"3515"},{"NM_MESO":"PIRACICABA","CD_GEOCME":"3506"}] -------------------------------------------------------------------------------- /data/json/municipios/rr_municipios.json: -------------------------------------------------------------------------------- 1 | [{"NM_MUNICIP":"BONFIM","CD_GEOCMU":"1400159"},{"NM_MUNICIP":"PACARAIMA","CD_GEOCMU":"1400456"},{"NM_MUNICIP":"BOA VISTA","CD_GEOCMU":"1400100"},{"NM_MUNICIP":"NORMANDIA","CD_GEOCMU":"1400407"},{"NM_MUNICIP":"CAROEBE","CD_GEOCMU":"1400233"},{"NM_MUNICIP":"ALTO ALEGRE","CD_GEOCMU":"1400050"},{"NM_MUNICIP":"RORAINÓPOLIS","CD_GEOCMU":"1400472"},{"NM_MUNICIP":"UIRAMUTÃ","CD_GEOCMU":"1400704"},{"NM_MUNICIP":"AMAJARI","CD_GEOCMU":"1400027"},{"NM_MUNICIP":"SÃO LUIZ","CD_GEOCMU":"1400605"},{"NM_MUNICIP":"MUCAJAÍ","CD_GEOCMU":"1400308"},{"NM_MUNICIP":"CARACARAÍ","CD_GEOCMU":"1400209"},{"NM_MUNICIP":"CANTÁ","CD_GEOCMU":"1400175"},{"NM_MUNICIP":"SÃO JOÃO DA BALIZA","CD_GEOCMU":"1400506"},{"NM_MUNICIP":"IRACEMA","CD_GEOCMU":"1400282"}] -------------------------------------------------------------------------------- /src/mapa-brasil.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for MapaBrasil 2 | 3 | type Options = { 4 | dataPath?: string, 5 | unidade?: string | number, 6 | regiao?: string, 7 | qualidade?: string, 8 | defaultFillColor?: string, 9 | defaultStrokeColor?: string, 10 | unidadeData?: 11 | { 12 | codIbge: number, 13 | fillColor?: string, 14 | strokeColor?: string, 15 | strokeWidth?: number, 16 | }[] | 17 | Promise<{ 18 | codIbge: number, 19 | fillColor: string, 20 | }[]> 21 | onClick?: (data: { codIbge: number, nomUnidade: string }) => void 22 | }; 23 | 24 | declare function MapaBrasil(element: HTMLElement, options: Options): void; 25 | 26 | export default function (element: HTMLElement, options: Options): void; 27 | -------------------------------------------------------------------------------- /data/json/microrregioes/pi_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"LITORAL PIAUIENSE","CD_GEOCMI":"22002"},{"NM_MICRO":"CAMPO MAIOR","CD_GEOCMI":"22004"},{"NM_MICRO":"TERESINA","CD_GEOCMI":"22003"},{"NM_MICRO":"SÃO RAIMUNDO NONATO","CD_GEOCMI":"22011"},{"NM_MICRO":"ALTO MÉDIO CANINDÉ","CD_GEOCMI":"22015"},{"NM_MICRO":"VALENÇA DO PIAUÍ","CD_GEOCMI":"22006"},{"NM_MICRO":"ALTO PARNAÍBA PIAUIENSE","CD_GEOCMI":"22007"},{"NM_MICRO":"FLORIANO","CD_GEOCMI":"22009"},{"NM_MICRO":"ALTO MÉDIO GURGUÉIA","CD_GEOCMI":"22010"},{"NM_MICRO":"CHAPADAS DO EXTREMO SUL PIAUIENSE","CD_GEOCMI":"22012"},{"NM_MICRO":"BERTOLÍNIA","CD_GEOCMI":"22008"},{"NM_MICRO":"PIO IX","CD_GEOCMI":"22014"},{"NM_MICRO":"BAIXO PARNAÍBA PIAUIENSE","CD_GEOCMI":"22001"},{"NM_MICRO":"PICOS","CD_GEOCMI":"22013"},{"NM_MICRO":"MÉDIO PARNAÍBA PIAUIENSE","CD_GEOCMI":"22005"}] -------------------------------------------------------------------------------- /webpack.dev.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const HtmlWebpackPlugin = require('html-webpack-plugin'); 3 | const { CleanWebpackPlugin } = require('clean-webpack-plugin'); 4 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 5 | const { merge } = require('webpack-merge'); 6 | const common = require('./webpack.common.js'); 7 | 8 | module.exports = merge(common, { 9 | mode: "development", 10 | 11 | plugins: [ 12 | new CleanWebpackPlugin(), 13 | new CopyWebpackPlugin({ 14 | patterns: [{from: 'data', to: 'data'}] 15 | }), 16 | new HtmlWebpackPlugin({ 17 | template: "index.html" 18 | }), 19 | ], 20 | 21 | devServer: { 22 | static: path.join(__dirname, 'dist'), 23 | compress: true, 24 | host: '0.0.0.0', 25 | port: 3000 26 | } 27 | }); 28 | -------------------------------------------------------------------------------- /data/json/municipios/ap_municipios.json: -------------------------------------------------------------------------------- 1 | [{"NM_MUNICIP":"PRACUÚBA","CD_GEOCMU":"1600550"},{"NM_MUNICIP":"PEDRA BRANCA DO AMAPARI","CD_GEOCMU":"1600154"},{"NM_MUNICIP":"CUTIAS","CD_GEOCMU":"1600212"},{"NM_MUNICIP":"OIAPOQUE","CD_GEOCMU":"1600501"},{"NM_MUNICIP":"MAZAGÃO","CD_GEOCMU":"1600402"},{"NM_MUNICIP":"LARANJAL DO JARI","CD_GEOCMU":"1600279"},{"NM_MUNICIP":"PORTO GRANDE","CD_GEOCMU":"1600535"},{"NM_MUNICIP":"TARTARUGALZINHO","CD_GEOCMU":"1600709"},{"NM_MUNICIP":"AMAPÁ","CD_GEOCMU":"1600105"},{"NM_MUNICIP":"ITAUBAL","CD_GEOCMU":"1600253"},{"NM_MUNICIP":"FERREIRA GOMES","CD_GEOCMU":"1600238"},{"NM_MUNICIP":"VITÓRIA DO JARI","CD_GEOCMU":"1600808"},{"NM_MUNICIP":"SANTANA","CD_GEOCMU":"1600600"},{"NM_MUNICIP":"MACAPÁ","CD_GEOCMU":"1600303"},{"NM_MUNICIP":"SERRA DO NAVIO","CD_GEOCMU":"1600055"},{"NM_MUNICIP":"CALÇOENE","CD_GEOCMU":"1600204"}] -------------------------------------------------------------------------------- /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- 1 | name: Node CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | timeout-minutes: 10 8 | runs-on: ubuntu-latest 9 | 10 | strategy: 11 | matrix: 12 | node-version: [14.x, 16.x, 18.x] 13 | 14 | steps: 15 | - uses: actions/checkout@v3 16 | - name: Use Node.js ${{ matrix.node-version }} 17 | uses: actions/setup-node@v3 18 | with: 19 | node-version: ${{ matrix.node-version }} 20 | 21 | - uses: actions/cache@v3 22 | with: 23 | path: ~/.npm 24 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} 25 | restore-keys: | 26 | ${{ runner.os }}-node- 27 | - name: npm install, build, and test 28 | run: | 29 | npm ci 30 | npm run test 31 | npm run build 32 | env: 33 | CI: true -------------------------------------------------------------------------------- /data/json/microrregioes/go_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"ANÁPOLIS","CD_GEOCMI":"52007"},{"NM_MICRO":"VÃO DO PARANÃ","CD_GEOCMI":"52011"},{"NM_MICRO":"RIO VERMELHO","CD_GEOCMI":"52002"},{"NM_MICRO":"CERES","CD_GEOCMI":"52006"},{"NM_MICRO":"CHAPADA DOS VEADEIROS","CD_GEOCMI":"52005"},{"NM_MICRO":"ANICUNS","CD_GEOCMI":"52009"},{"NM_MICRO":"MEIA PONTE","CD_GEOCMI":"52015"},{"NM_MICRO":"PIRES DO RIO","CD_GEOCMI":"52016"},{"NM_MICRO":"ENTORNO DE BRASÍLIA","CD_GEOCMI":"52012"},{"NM_MICRO":"SÃO MIGUEL DO ARAGUAIA","CD_GEOCMI":"52001"},{"NM_MICRO":"CATALÃO","CD_GEOCMI":"52017"},{"NM_MICRO":"SUDOESTE DE GOIÁS","CD_GEOCMI":"52013"},{"NM_MICRO":"ARAGARÇAS","CD_GEOCMI":"52003"},{"NM_MICRO":"PORANGATU","CD_GEOCMI":"52004"},{"NM_MICRO":"GOIÂNIA","CD_GEOCMI":"52010"},{"NM_MICRO":"IPORÁ","CD_GEOCMI":"52008"},{"NM_MICRO":"VALE DO RIO DOS BOIS","CD_GEOCMI":"52014"},{"NM_MICRO":"QUIRINÓPOLIS","CD_GEOCMI":"52018"}] -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/ap_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/rj_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"CAMPOS DOS GOYTACAZES","CD_GEOCMI":"33003"},{"NM_MICRO":"ITAPERUNA","CD_GEOCMI":"33001"},{"NM_MICRO":"RIO DE JANEIRO","CD_GEOCMI":"33018"},{"NM_MICRO":"BAÍA DA ILHA GRANDE","CD_GEOCMI":"33013"},{"NM_MICRO":"SANTO ANTÔNIO DE PÁDUA","CD_GEOCMI":"33002"},{"NM_MICRO":"ITAGUAÍ","CD_GEOCMI":"33017"},{"NM_MICRO":"BARRA DO PIRAÍ","CD_GEOCMI":"33012"},{"NM_MICRO":"NOVA FRIBURGO","CD_GEOCMI":"33007"},{"NM_MICRO":"MACACU-CACERIBU","CD_GEOCMI":"33016"},{"NM_MICRO":"BACIA DE SÃO JOÃO","CD_GEOCMI":"33009"},{"NM_MICRO":"SANTA MARIA MADALENA","CD_GEOCMI":"33008"},{"NM_MICRO":"CANTAGALO-CORDEIRO","CD_GEOCMI":"33006"},{"NM_MICRO":"SERRANA","CD_GEOCMI":"33015"},{"NM_MICRO":"LAGOS","CD_GEOCMI":"33010"},{"NM_MICRO":"VALE DO PARAÍBA FLUMINENSE","CD_GEOCMI":"33011"},{"NM_MICRO":"TRÊS RIOS","CD_GEOCMI":"33005"},{"NM_MICRO":"MACAÉ","CD_GEOCMI":"33004"},{"NM_MICRO":"VASSOURAS","CD_GEOCMI":"33014"}] -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/ro_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/rn_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"MACAU","CD_GEOCMI":"24008"},{"NM_MICRO":"SERRA DE SANTANA","CD_GEOCMI":"24010"},{"NM_MICRO":"SERIDÓ OCIDENTAL","CD_GEOCMI":"24011"},{"NM_MICRO":"NATAL","CD_GEOCMI":"24018"},{"NM_MICRO":"CHAPADA DO APODI","CD_GEOCMI":"24002"},{"NM_MICRO":"MOSSORÓ","CD_GEOCMI":"24001"},{"NM_MICRO":"ANGICOS","CD_GEOCMI":"24009"},{"NM_MICRO":"LITORAL SUL","CD_GEOCMI":"24019"},{"NM_MICRO":"MACAÍBA","CD_GEOCMI":"24017"},{"NM_MICRO":"MÉDIO OESTE","CD_GEOCMI":"24003"},{"NM_MICRO":"LITORAL NORDESTE","CD_GEOCMI":"24016"},{"NM_MICRO":"AGRESTE POTIGUAR","CD_GEOCMI":"24015"},{"NM_MICRO":"BAIXA VERDE","CD_GEOCMI":"24013"},{"NM_MICRO":"SERIDÓ ORIENTAL","CD_GEOCMI":"24012"},{"NM_MICRO":"PAU DOS FERROS","CD_GEOCMI":"24006"},{"NM_MICRO":"BORBOREMA POTIGUAR","CD_GEOCMI":"24014"},{"NM_MICRO":"SERRA DE SÃO MIGUEL","CD_GEOCMI":"24005"},{"NM_MICRO":"VALE DO AÇU","CD_GEOCMI":"24004"},{"NM_MICRO":"UMARIZAL","CD_GEOCMI":"24007"}] -------------------------------------------------------------------------------- /data/json/microrregioes/sc_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"JOAÇABA","CD_GEOCMI":"42004"},{"NM_MICRO":"SÃO MIGUEL DO OESTE","CD_GEOCMI":"42001"},{"NM_MICRO":"CRICIÚMA","CD_GEOCMI":"42019"},{"NM_MICRO":"CANOINHAS","CD_GEOCMI":"42006"},{"NM_MICRO":"ITAJAÍ","CD_GEOCMI":"42013"},{"NM_MICRO":"TUBARÃO","CD_GEOCMI":"42018"},{"NM_MICRO":"XANXERÊ","CD_GEOCMI":"42003"},{"NM_MICRO":"ARARANGUÁ","CD_GEOCMI":"42020"},{"NM_MICRO":"ITUPORANGA","CD_GEOCMI":"42014"},{"NM_MICRO":"FLORIANÓPOLIS","CD_GEOCMI":"42016"},{"NM_MICRO":"CAMPOS DE LAGES","CD_GEOCMI":"42010"},{"NM_MICRO":"JOINVILLE","CD_GEOCMI":"42008"},{"NM_MICRO":"RIO DO SUL","CD_GEOCMI":"42011"},{"NM_MICRO":"CURITIBANOS","CD_GEOCMI":"42009"},{"NM_MICRO":"TIJUCAS","CD_GEOCMI":"42015"},{"NM_MICRO":"TABULEIRO","CD_GEOCMI":"42017"},{"NM_MICRO":"BLUMENAU","CD_GEOCMI":"42012"},{"NM_MICRO":"CHAPECÓ","CD_GEOCMI":"42002"},{"NM_MICRO":"CONCÓRDIA","CD_GEOCMI":"42005"},{"NM_MICRO":"SÃO BENTO DO SUL","CD_GEOCMI":"42007"}] -------------------------------------------------------------------------------- /test/mapa-brasil.test.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const fs = require('fs'); 4 | const assert = require('assert'); 5 | const path = require('path'); 6 | const jsdom = require("jsdom"); 7 | const mapaBrasil = require('../src/mapa-brasil'); 8 | 9 | const { JSDOM } = jsdom; 10 | const dom = new JSDOM(`
`); 11 | 12 | describe('MapaBrasil', () => { 13 | it('draw', () => { 14 | mapaBrasil(dom.window.document.getElementById('mapa'), { 15 | dataPath: path.resolve(__dirname, '../data'), 16 | dataFileLoader: (isJson, path) => { 17 | return new Promise((resolve, reject) => { 18 | const content = fs.readFileSync(path).toString(); 19 | resolve(isJson ? JSON.stringify(content) : content); 20 | }); 21 | }, 22 | onDrawComplete: (el, data) => { 23 | assert.ok(data.length > 0); 24 | assert.ok(el.innerHTML.length > 0); 25 | } 26 | }); 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/pb_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/pe_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"PETROLINA","CD_GEOCMI":"26005"},{"NM_MICRO":"GARANHUNS","CD_GEOCMI":"26011"},{"NM_MICRO":"FERNANDO DE NORONHA","CD_GEOCMI":"26019"},{"NM_MICRO":"ALTO CAPIBARIBE","CD_GEOCMI":"26009"},{"NM_MICRO":"SALGUEIRO","CD_GEOCMI":"26002"},{"NM_MICRO":"ITAPARICA","CD_GEOCMI":"26006"},{"NM_MICRO":"ITAMARACÁ","CD_GEOCMI":"26016"},{"NM_MICRO":"SERTÃO DO MOXOTÓ","CD_GEOCMI":"26004"},{"NM_MICRO":"VALE DO IPOJUCA","CD_GEOCMI":"26008"},{"NM_MICRO":"SUAPE","CD_GEOCMI":"26018"},{"NM_MICRO":"MATA SETENTRIONAL PERNAMBUCANA","CD_GEOCMI":"26013"},{"NM_MICRO":"MÉDIO CAPIBARIBE","CD_GEOCMI":"26010"},{"NM_MICRO":"MATA MERIDIONAL PERNAMBUCANA","CD_GEOCMI":"26015"},{"NM_MICRO":"ARARIPINA","CD_GEOCMI":"26001"},{"NM_MICRO":"PAJEÚ","CD_GEOCMI":"26003"},{"NM_MICRO":"VITÓRIA DE SANTO ANTÃO","CD_GEOCMI":"26014"},{"NM_MICRO":"RECIFE","CD_GEOCMI":"26017"},{"NM_MICRO":"VALE DO IPANEMA","CD_GEOCMI":"26007"},{"NM_MICRO":"BREJO PERNAMBUCANO","CD_GEOCMI":"26012"}] -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/rr_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/to_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/pa_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"PARAUAPEBAS","CD_GEOCMI":"15019"},{"NM_MICRO":"ALMEIRIM","CD_GEOCMI":"15003"},{"NM_MICRO":"MARABÁ","CD_GEOCMI":"15020"},{"NM_MICRO":"ARARI","CD_GEOCMI":"15006"},{"NM_MICRO":"CONCEIÇÃO DO ARAGUAIA","CD_GEOCMI":"15022"},{"NM_MICRO":"ÓBIDOS","CD_GEOCMI":"15001"},{"NM_MICRO":"SALGADO","CD_GEOCMI":"15009"},{"NM_MICRO":"FUROS DE BREVES","CD_GEOCMI":"15005"},{"NM_MICRO":"PORTEL","CD_GEOCMI":"15004"},{"NM_MICRO":"SANTARÉM","CD_GEOCMI":"15002"},{"NM_MICRO":"CAMETÁ","CD_GEOCMI":"15011"},{"NM_MICRO":"TOMÉ-AÇU","CD_GEOCMI":"15012"},{"NM_MICRO":"GUAMÁ","CD_GEOCMI":"15013"},{"NM_MICRO":"TUCURUÍ","CD_GEOCMI":"15016"},{"NM_MICRO":"CASTANHAL","CD_GEOCMI":"15008"},{"NM_MICRO":"PARAGOMINAS","CD_GEOCMI":"15017"},{"NM_MICRO":"BRAGANTINA","CD_GEOCMI":"15010"},{"NM_MICRO":"ALTAMIRA","CD_GEOCMI":"15015"},{"NM_MICRO":"REDENÇÃO","CD_GEOCMI":"15021"},{"NM_MICRO":"SÃO FÉLIX DO XINGU","CD_GEOCMI":"15018"},{"NM_MICRO":"BELÉM","CD_GEOCMI":"15007"},{"NM_MICRO":"ITAITUBA","CD_GEOCMI":"15014"}] -------------------------------------------------------------------------------- /src/core/mapa-io.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const constantes = require("./constantes"); 4 | 5 | module.exports = { 6 | getPath: (options, isJson) => { 7 | let path = options.dataPath; 8 | 9 | if(isJson) { 10 | path += `/json/${constantes.mapPath[options.regiao]}/`; 11 | }else{ 12 | path += `/svg/${options.qualidade}/${constantes.mapPath[options.regiao]}/`; 13 | } 14 | 15 | if(options.regiao === "federacao"){ 16 | path += "br_unidades_da_federacao"; 17 | }else { 18 | path += options.unidade + "_" + constantes.mapPath[options.regiao]; 19 | } 20 | 21 | path += (isJson ? ".json" : ".svg"); 22 | 23 | return path; 24 | }, 25 | 26 | loadDataFile: (isJson, path) => { 27 | return new Promise((resolve, reject) => { 28 | fetch(path).then((response) => { 29 | return isJson ? response.json() : response.text(); 30 | }).then((content) => { 31 | resolve(content); 32 | }).catch((e) => reject(e)); 33 | }); 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /data/json/microrregioes/mt_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"ALTO TELES PIRES","CD_GEOCMI":"51006"},{"NM_MICRO":"CANARANA","CD_GEOCMI":"51010"},{"NM_MICRO":"NORTE ARAGUAIA","CD_GEOCMI":"51009"},{"NM_MICRO":"ALTA FLORESTA","CD_GEOCMI":"51002"},{"NM_MICRO":"ALTO ARAGUAIA","CD_GEOCMI":"51022"},{"NM_MICRO":"COLÍDER","CD_GEOCMI":"51003"},{"NM_MICRO":"PRIMAVERA DO LESTE","CD_GEOCMI":"51019"},{"NM_MICRO":"ARINOS","CD_GEOCMI":"51005"},{"NM_MICRO":"ALTO PARAGUAI","CD_GEOCMI":"51015"},{"NM_MICRO":"JAURU","CD_GEOCMI":"51014"},{"NM_MICRO":"RONDONÓPOLIS","CD_GEOCMI":"51021"},{"NM_MICRO":"PARANATINGA","CD_GEOCMI":"51008"},{"NM_MICRO":"ALTO GUAPORÉ","CD_GEOCMI":"51012"},{"NM_MICRO":"MÉDIO ARAGUAIA","CD_GEOCMI":"51011"},{"NM_MICRO":"ARIPUANÃ","CD_GEOCMI":"51001"},{"NM_MICRO":"ALTO PANTANAL","CD_GEOCMI":"51018"},{"NM_MICRO":"SINOP","CD_GEOCMI":"51007"},{"NM_MICRO":"ROSÁRIO OESTE","CD_GEOCMI":"51016"},{"NM_MICRO":"CUIABÁ","CD_GEOCMI":"51017"},{"NM_MICRO":"PARECIS","CD_GEOCMI":"51004"},{"NM_MICRO":"TANGARÁ DA SERRA","CD_GEOCMI":"51013"},{"NM_MICRO":"TESOURO","CD_GEOCMI":"51020"}] -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/rn_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/se_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/ma_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"COELHO NETO","CD_GEOCMI":"21016"},{"NM_MICRO":"PRESIDENTE DUTRA","CD_GEOCMI":"21012"},{"NM_MICRO":"CODÓ","CD_GEOCMI":"21015"},{"NM_MICRO":"MÉDIO MEARIM","CD_GEOCMI":"21010"},{"NM_MICRO":"PORTO FRANCO","CD_GEOCMI":"21019"},{"NM_MICRO":"CHAPADAS DO ALTO ITAPECURU","CD_GEOCMI":"21018"},{"NM_MICRO":"LITORAL OCIDENTAL MARANHENSE","CD_GEOCMI":"21001"},{"NM_MICRO":"PINDARÉ","CD_GEOCMI":"21008"},{"NM_MICRO":"ITAPECURU MIRIM","CD_GEOCMI":"21006"},{"NM_MICRO":"CHAPADAS DAS MANGABEIRAS","CD_GEOCMI":"21021"},{"NM_MICRO":"ROSÁRIO","CD_GEOCMI":"21003"},{"NM_MICRO":"CAXIAS","CD_GEOCMI":"21017"},{"NM_MICRO":"LENÇÓIS MARANHENSES","CD_GEOCMI":"21004"},{"NM_MICRO":"BAIXO PARNAÍBA MARANHENSE","CD_GEOCMI":"21013"},{"NM_MICRO":"ALTO MEARIM E GRAJAÚ","CD_GEOCMI":"21011"},{"NM_MICRO":"IMPERATRIZ","CD_GEOCMI":"21009"},{"NM_MICRO":"GURUPI","CD_GEOCMI":"21007"},{"NM_MICRO":"GERAIS DE BALSAS","CD_GEOCMI":"21020"},{"NM_MICRO":"BAIXADA MARANHENSE","CD_GEOCMI":"21005"},{"NM_MICRO":"CHAPADINHA","CD_GEOCMI":"21014"},{"NM_MICRO":"AGLOMERAÇÃO URBANA DE SÃO LUÍS","CD_GEOCMI":"21002"}] -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/pi_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/pb_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"CURIMATAÚ ORIENTAL","CD_GEOCMI":"25013"},{"NM_MICRO":"SAPÉ","CD_GEOCMI":"25021"},{"NM_MICRO":"ITABAIANA","CD_GEOCMI":"25018"},{"NM_MICRO":"SERIDÓ OCIDENTAL PARAIBANO","CD_GEOCMI":"25008"},{"NM_MICRO":"SERIDÓ ORIENTAL PARAIBANO","CD_GEOCMI":"25009"},{"NM_MICRO":"LITORAL SUL","CD_GEOCMI":"25023"},{"NM_MICRO":"PIANCÓ","CD_GEOCMI":"25005"},{"NM_MICRO":"SOUSA","CD_GEOCMI":"25003"},{"NM_MICRO":"GUARABIRA","CD_GEOCMI":"25016"},{"NM_MICRO":"UMBUZEIRO","CD_GEOCMI":"25019"},{"NM_MICRO":"CAMPINA GRANDE","CD_GEOCMI":"25017"},{"NM_MICRO":"CAJAZEIRAS","CD_GEOCMI":"25002"},{"NM_MICRO":"BREJO PARAIBANO","CD_GEOCMI":"25015"},{"NM_MICRO":"CURIMATAÚ OCIDENTAL","CD_GEOCMI":"25012"},{"NM_MICRO":"JOÃO PESSOA","CD_GEOCMI":"25022"},{"NM_MICRO":"LITORAL NORTE","CD_GEOCMI":"25020"},{"NM_MICRO":"PATOS","CD_GEOCMI":"25004"},{"NM_MICRO":"SERRA DO TEIXEIRA","CD_GEOCMI":"25007"},{"NM_MICRO":"ITAPORANGA","CD_GEOCMI":"25006"},{"NM_MICRO":"ESPERANÇA","CD_GEOCMI":"25014"},{"NM_MICRO":"CARIRI ORIENTAL","CD_GEOCMI":"25011"},{"NM_MICRO":"CARIRI OCIDENTAL","CD_GEOCMI":"25010"},{"NM_MICRO":"CATOLÉ DO ROCHA","CD_GEOCMI":"25001"}] -------------------------------------------------------------------------------- /data/json/municipios/ac_municipios.json: -------------------------------------------------------------------------------- 1 | [{"NM_MUNICIP":"BRASILÉIA","CD_GEOCMU":"1200104"},{"NM_MUNICIP":"PORTO WALTER","CD_GEOCMU":"1200393"},{"NM_MUNICIP":"SENADOR GUIOMARD","CD_GEOCMU":"1200450"},{"NM_MUNICIP":"SENA MADUREIRA","CD_GEOCMU":"1200500"},{"NM_MUNICIP":"MÂNCIO LIMA","CD_GEOCMU":"1200336"},{"NM_MUNICIP":"ACRELÂNDIA","CD_GEOCMU":"1200013"},{"NM_MUNICIP":"BUJARI","CD_GEOCMU":"1200138"},{"NM_MUNICIP":"RIO BRANCO","CD_GEOCMU":"1200401"},{"NM_MUNICIP":"CRUZEIRO DO SUL","CD_GEOCMU":"1200203"},{"NM_MUNICIP":"FEIJÓ","CD_GEOCMU":"1200302"},{"NM_MUNICIP":"PLÁCIDO DE CASTRO","CD_GEOCMU":"1200385"},{"NM_MUNICIP":"XAPURI","CD_GEOCMU":"1200708"},{"NM_MUNICIP":"PORTO ACRE","CD_GEOCMU":"1200807"},{"NM_MUNICIP":"EPITACIOLÂNDIA","CD_GEOCMU":"1200252"},{"NM_MUNICIP":"TARAUACÁ","CD_GEOCMU":"1200609"},{"NM_MUNICIP":"MANOEL URBANO","CD_GEOCMU":"1200344"},{"NM_MUNICIP":"CAPIXABA","CD_GEOCMU":"1200179"},{"NM_MUNICIP":"JORDÃO","CD_GEOCMU":"1200328"},{"NM_MUNICIP":"ASSIS BRASIL","CD_GEOCMU":"1200054"},{"NM_MUNICIP":"RODRIGUES ALVES","CD_GEOCMU":"1200427"},{"NM_MUNICIP":"MARECHAL THAUMATURGO","CD_GEOCMU":"1200351"},{"NM_MUNICIP":"SANTA ROSA DO PURUS","CD_GEOCMU":"1200435"}] -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Cláudio Gomes 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/ac_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/core/mapa-ui.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const constantes = require("./constantes"); 4 | 5 | module.exports = { 6 | closeLoader: (element) => { 7 | const loader = element.getElementsByClassName("loader")[0]; 8 | const svgContainer = element.getElementsByClassName("svg-container")[0]; 9 | 10 | loader.style.display = "none"; 11 | svgContainer.style.display = "block"; 12 | }, 13 | 14 | initDom: (element) => { 15 | let createCssHeader = () => { 16 | if(document.getElementById("mapa-brasil-css")){ 17 | return; 18 | } 19 | 20 | let style = document.createElement("style"); 21 | style.setAttribute("type", "text/css"); 22 | style.setAttribute("id", "mapa-brasil-css"); 23 | style.innerHTML = constantes.css; 24 | 25 | document.head.appendChild(style); 26 | }; 27 | 28 | element.classList.add("mapa-brasil"); 29 | element.innerHTML = ''; 30 | element.style.position = "relative"; 31 | element.style.overflow = "hidden"; 32 | 33 | if(!constantes.IS_NODE) { 34 | createCssHeader(); 35 | } 36 | } 37 | }; 38 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/al_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mapa-brasil", 3 | "version": "1.0.6", 4 | "description": "Gráfico dinámico do mapa do Brasil", 5 | "main": "src/mapa-brasil.js", 6 | "keywords": [ 7 | "svg", 8 | "ibge", 9 | "mapa", 10 | "chart", 11 | "brasil" 12 | ], 13 | "scripts": { 14 | "test": "mocha", 15 | "serve": "webpack-dev-server --config webpack.dev.js", 16 | "build": "webpack --config webpack.prod.js" 17 | }, 18 | "author": "Cláudio Gomes", 19 | "homepage": "https://github.com/clagomess/mapa-brasil", 20 | "repository": { 21 | "type": "git", 22 | "url": "https://github.com/clagomess/mapa-brasil.git" 23 | }, 24 | "license": "MIT", 25 | "dependencies": { 26 | "whatwg-fetch": "^3.6.2" 27 | }, 28 | "devDependencies": { 29 | "@babel/core": "^7.20.5", 30 | "babel-loader": "^9.1.0", 31 | "clean-webpack-plugin": "^4.0.0", 32 | "copy-webpack-plugin": "^11.0.0", 33 | "html-webpack-plugin": "^5.5.0", 34 | "jsdom": "^20.0.3", 35 | "mocha": "^10.1.0", 36 | "mocha-lcov-reporter": "^1.3.0", 37 | "webpack": "^5.75.0", 38 | "webpack-cli": "^5.0.0", 39 | "webpack-dev-server": "^4.11.1", 40 | "webpack-merge": "^5.8.0", 41 | "xml-js": "^1.6.11" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /data/svg/low/microrregioes/rr_microrregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/microrregioes/ap_microrregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/ba_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"IRECÊ","CD_GEOCMI":"29009"},{"NM_MICRO":"SEABRA","CD_GEOCMI":"29023"},{"NM_MICRO":"VALENÇA","CD_GEOCMI":"29030"},{"NM_MICRO":"RIBEIRA DO POMBAL","CD_GEOCMI":"29015"},{"NM_MICRO":"JEREMOABO","CD_GEOCMI":"29013"},{"NM_MICRO":"GUANAMBI","CD_GEOCMI":"29026"},{"NM_MICRO":"ITABERABA","CD_GEOCMI":"29011"},{"NM_MICRO":"SERRINHA","CD_GEOCMI":"29016"},{"NM_MICRO":"PORTO SEGURO","CD_GEOCMI":"29032"},{"NM_MICRO":"ENTRE RIOS","CD_GEOCMI":"29018"},{"NM_MICRO":"PAULO AFONSO","CD_GEOCMI":"29005"},{"NM_MICRO":"JACOBINA","CD_GEOCMI":"29010"},{"NM_MICRO":"ILHÉUS-ITABUNA","CD_GEOCMI":"29031"},{"NM_MICRO":"JEQUIÉ","CD_GEOCMI":"29024"},{"NM_MICRO":"BARRA","CD_GEOCMI":"29006"},{"NM_MICRO":"SANTO ANTÔNIO DE JESUS","CD_GEOCMI":"29020"},{"NM_MICRO":"SENHOR DO BONFIM","CD_GEOCMI":"29008"},{"NM_MICRO":"ITAPETINGA","CD_GEOCMI":"29029"},{"NM_MICRO":"BARREIRAS","CD_GEOCMI":"29001"},{"NM_MICRO":"JUAZEIRO","CD_GEOCMI":"29004"},{"NM_MICRO":"BOQUIRA","CD_GEOCMI":"29022"},{"NM_MICRO":"VITÓRIA DA CONQUISTA","CD_GEOCMI":"29028"},{"NM_MICRO":"BOM JESUS DA LAPA","CD_GEOCMI":"29007"},{"NM_MICRO":"COTEGIPE","CD_GEOCMI":"29002"},{"NM_MICRO":"LIVRAMENTO DO BRUMADO","CD_GEOCMI":"29025"},{"NM_MICRO":"BRUMADO","CD_GEOCMI":"29027"},{"NM_MICRO":"CATU","CD_GEOCMI":"29019"},{"NM_MICRO":"FEIRA DE SANTANA","CD_GEOCMI":"29012"},{"NM_MICRO":"EUCLIDES DA CUNHA","CD_GEOCMI":"29014"},{"NM_MICRO":"SALVADOR","CD_GEOCMI":"29021"},{"NM_MICRO":"ALAGOINHAS","CD_GEOCMI":"29017"},{"NM_MICRO":"SANTA MARIA DA VITÓRIA","CD_GEOCMI":"29003"}] -------------------------------------------------------------------------------- /data/json/microrregioes/ce_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"SERRA DO PEREIRO","CD_GEOCMI":"23025"},{"NM_MICRO":"BAIXO CURU","CD_GEOCMI":"23009"},{"NM_MICRO":"BATURITÉ","CD_GEOCMI":"23013"},{"NM_MICRO":"MERUOCA","CD_GEOCMI":"23004"},{"NM_MICRO":"SANTA QUITÉRIA","CD_GEOCMI":"23007"},{"NM_MICRO":"PACAJUS","CD_GEOCMI":"23017"},{"NM_MICRO":"MÉDIO CURU","CD_GEOCMI":"23011"},{"NM_MICRO":"MÉDIO JAGUARIBE","CD_GEOCMI":"23024"},{"NM_MICRO":"LITORAL DE ARACATI","CD_GEOCMI":"23022"},{"NM_MICRO":"LITORAL DE CAMOCIM E ACARAÚ","CD_GEOCMI":"23001"},{"NM_MICRO":"CARIRI","CD_GEOCMI":"23032"},{"NM_MICRO":"CANINDÉ","CD_GEOCMI":"23012"},{"NM_MICRO":"CHAPADA DO ARARIPE","CD_GEOCMI":"23029"},{"NM_MICRO":"CHOROZINHO","CD_GEOCMI":"23014"},{"NM_MICRO":"CARIRIAÇU","CD_GEOCMI":"23030"},{"NM_MICRO":"BARRO","CD_GEOCMI":"23031"},{"NM_MICRO":"SOBRAL","CD_GEOCMI":"23005"},{"NM_MICRO":"LAVRAS DA MANGABEIRA","CD_GEOCMI":"23028"},{"NM_MICRO":"BAIXO JAGUARIBE","CD_GEOCMI":"23023"},{"NM_MICRO":"SERTÃO DE INHAMUNS","CD_GEOCMI":"23020"},{"NM_MICRO":"IPU","CD_GEOCMI":"23006"},{"NM_MICRO":"ITAPIPOCA","CD_GEOCMI":"23008"},{"NM_MICRO":"COREAÚ","CD_GEOCMI":"23003"},{"NM_MICRO":"SERTÃO DE QUIXERAMOBIM","CD_GEOCMI":"23019"},{"NM_MICRO":"BREJO SANTO","CD_GEOCMI":"23033"},{"NM_MICRO":"SERTÃO DE SENADOR POMPEU","CD_GEOCMI":"23021"},{"NM_MICRO":"SERTÃO DE CRATÉUS","CD_GEOCMI":"23018"},{"NM_MICRO":"IGUATU","CD_GEOCMI":"23026"},{"NM_MICRO":"VÁRZEA ALEGRE","CD_GEOCMI":"23027"},{"NM_MICRO":"URUBURETAMA","CD_GEOCMI":"23010"},{"NM_MICRO":"IBIAPABA","CD_GEOCMI":"23002"},{"NM_MICRO":"FORTALEZA","CD_GEOCMI":"23016"},{"NM_MICRO":"CASCAVEL","CD_GEOCMI":"23015"}] -------------------------------------------------------------------------------- /data/json/microrregioes/rs_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"OSÓRIO","CD_GEOCMI":"43027"},{"NM_MICRO":"PORTO ALEGRE","CD_GEOCMI":"43026"},{"NM_MICRO":"ERECHIM","CD_GEOCMI":"43004"},{"NM_MICRO":"SANTIAGO","CD_GEOCMI":"43017"},{"NM_MICRO":"CRUZ ALTA","CD_GEOCMI":"43011"},{"NM_MICRO":"SANTO ÂNGELO","CD_GEOCMI":"43007"},{"NM_MICRO":"MONTENEGRO","CD_GEOCMI":"43023"},{"NM_MICRO":"TRÊS PASSOS","CD_GEOCMI":"43002"},{"NM_MICRO":"CARAZINHO","CD_GEOCMI":"43009"},{"NM_MICRO":"PELOTAS","CD_GEOCMI":"43033"},{"NM_MICRO":"SERRAS DE SUDESTE","CD_GEOCMI":"43032"},{"NM_MICRO":"LAGOA MIRIM","CD_GEOCMI":"43777"},{"NM_MICRO":"CAMPANHA MERIDIONAL","CD_GEOCMI":"43031"},{"NM_MICRO":"SANTA MARIA","CD_GEOCMI":"43018"},{"NM_MICRO":"LITORAL LAGUNAR","CD_GEOCMI":"43035"},{"NM_MICRO":"CAMAQUÃ","CD_GEOCMI":"43028"},{"NM_MICRO":"CAMPANHA OCIDENTAL","CD_GEOCMI":"43029"},{"NM_MICRO":"LAGOA DOS PATOS","CD_GEOCMI":"43888"},{"NM_MICRO":"CAMPANHA CENTRAL","CD_GEOCMI":"43030"},{"NM_MICRO":"VACARIA","CD_GEOCMI":"43015"},{"NM_MICRO":"SANTA ROSA","CD_GEOCMI":"43001"},{"NM_MICRO":"IJUÍ","CD_GEOCMI":"43008"},{"NM_MICRO":"SANTA CRUZ DO SUL","CD_GEOCMI":"43020"},{"NM_MICRO":"LAJEADO-ESTRELA","CD_GEOCMI":"43021"},{"NM_MICRO":"SOLEDADE","CD_GEOCMI":"43013"},{"NM_MICRO":"SÃO JERÔNIMO","CD_GEOCMI":"43025"},{"NM_MICRO":"GUAPORÉ","CD_GEOCMI":"43014"},{"NM_MICRO":"JAGUARÃO","CD_GEOCMI":"43034"},{"NM_MICRO":"GRAMADO-CANELA","CD_GEOCMI":"43024"},{"NM_MICRO":"RESTINGA SECA","CD_GEOCMI":"43019"},{"NM_MICRO":"CACHOEIRA DO SUL","CD_GEOCMI":"43022"},{"NM_MICRO":"CAXIAS DO SUL","CD_GEOCMI":"43016"},{"NM_MICRO":"FREDERICO WESTPHALEN","CD_GEOCMI":"43003"},{"NM_MICRO":"NÃO-ME-TOQUE","CD_GEOCMI":"43012"},{"NM_MICRO":"CERRO LARGO","CD_GEOCMI":"43006"},{"NM_MICRO":"SANANDUVA","CD_GEOCMI":"43005"},{"NM_MICRO":"PASSO FUNDO","CD_GEOCMI":"43010"}] -------------------------------------------------------------------------------- /data/json/federacao/br_unidades_da_federacao.json: -------------------------------------------------------------------------------- 1 | [{"NM_ESTADO":"SERGIPE","NM_REGIAO":"NORDESTE","CD_GEOCUF":"28"},{"NM_ESTADO":"MARANHÃO","NM_REGIAO":"NORDESTE","CD_GEOCUF":"21"},{"NM_ESTADO":"ESPÍRITO SANTO","NM_REGIAO":"SUDESTE","CD_GEOCUF":"32"},{"NM_ESTADO":"AMAZONAS","NM_REGIAO":"NORTE","CD_GEOCUF":"13"},{"NM_ESTADO":"RORAIMA","NM_REGIAO":"NORTE","CD_GEOCUF":"14"},{"NM_ESTADO":"GOIÁS","NM_REGIAO":"CENTRO-OESTE","CD_GEOCUF":"52"},{"NM_ESTADO":"AMAPÁ","NM_REGIAO":"NORTE","CD_GEOCUF":"16"},{"NM_ESTADO":"RIO GRANDE DO SUL","NM_REGIAO":"SUL","CD_GEOCUF":"43"},{"NM_ESTADO":"PARAÍBA","NM_REGIAO":"NORDESTE","CD_GEOCUF":"25"},{"NM_ESTADO":"PIAUÍ","NM_REGIAO":"NORDESTE","CD_GEOCUF":"22"},{"NM_ESTADO":"SÃO PAULO","NM_REGIAO":"SUDESTE","CD_GEOCUF":"35"},{"NM_ESTADO":"SANTA CATARINA","NM_REGIAO":"SUL","CD_GEOCUF":"42"},{"NM_ESTADO":"PERNAMBUCO","NM_REGIAO":"NORDESTE","CD_GEOCUF":"26"},{"NM_ESTADO":"RIO DE JANEIRO","NM_REGIAO":"SUDESTE","CD_GEOCUF":"33"},{"NM_ESTADO":"MATO GROSSO DO SUL","NM_REGIAO":"CENTRO-OESTE","CD_GEOCUF":"50"},{"NM_ESTADO":"MATO GROSSO","NM_REGIAO":"CENTRO-OESTE","CD_GEOCUF":"51"},{"NM_ESTADO":"BAHIA","NM_REGIAO":"NORDESTE","CD_GEOCUF":"29"},{"NM_ESTADO":"MINAS GERAIS","NM_REGIAO":"SUDESTE","CD_GEOCUF":"31"},{"NM_ESTADO":"ALAGOAS","NM_REGIAO":"NORDESTE","CD_GEOCUF":"27"},{"NM_ESTADO":"CEARÁ","NM_REGIAO":"NORDESTE","CD_GEOCUF":"23"},{"NM_ESTADO":"RIO GRANDE DO NORTE","NM_REGIAO":"NORDESTE","CD_GEOCUF":"24"},{"NM_ESTADO":"PARANÁ","NM_REGIAO":"SUL","CD_GEOCUF":"41"},{"NM_ESTADO":"RONDÔNIA","NM_REGIAO":"NORTE","CD_GEOCUF":"11"},{"NM_ESTADO":"DISTRITO FEDERAL","NM_REGIAO":"CENTRO-OESTE","CD_GEOCUF":"53"},{"NM_ESTADO":"ACRE","NM_REGIAO":"NORTE","CD_GEOCUF":"12"},{"NM_ESTADO":"PARÁ","NM_REGIAO":"NORTE","CD_GEOCUF":"15"},{"NM_ESTADO":"TOCANTINS","NM_REGIAO":"NORTE","CD_GEOCUF":"17"}] -------------------------------------------------------------------------------- /data/json/microrregioes/pr_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"CAMPO MOURÃO","CD_GEOCMI":"41005"},{"NM_MICRO":"IVAIPORÃ","CD_GEOCMI":"41013"},{"NM_MICRO":"ASTORGA","CD_GEOCMI":"41006"},{"NM_MICRO":"FLORAÍ","CD_GEOCMI":"41008"},{"NM_MICRO":"CORNÉLIO PROCÓPIO","CD_GEOCMI":"41015"},{"NM_MICRO":"FAXINAL","CD_GEOCMI":"41012"},{"NM_MICRO":"CERRO AZUL","CD_GEOCMI":"41035"},{"NM_MICRO":"WENCESLAU BRAZ","CD_GEOCMI":"41018"},{"NM_MICRO":"PALMAS","CD_GEOCMI":"41030"},{"NM_MICRO":"LONDRINA","CD_GEOCMI":"41011"},{"NM_MICRO":"UNIÃO DA VITÓRIA","CD_GEOCMI":"41033"},{"NM_MICRO":"JAGUARIAÍVA","CD_GEOCMI":"41020"},{"NM_MICRO":"APUCARANA","CD_GEOCMI":"41010"},{"NM_MICRO":"PARANAGUÁ","CD_GEOCMI":"41038"},{"NM_MICRO":"ASSAÍ","CD_GEOCMI":"41014"},{"NM_MICRO":"CASCAVEL","CD_GEOCMI":"41023"},{"NM_MICRO":"TELÊMACO BORBA","CD_GEOCMI":"41019"},{"NM_MICRO":"PRUDENTÓPOLIS","CD_GEOCMI":"41031"},{"NM_MICRO":"GOIOERÊ","CD_GEOCMI":"41004"},{"NM_MICRO":"CIANORTE","CD_GEOCMI":"41003"},{"NM_MICRO":"IBAITI","CD_GEOCMI":"41017"},{"NM_MICRO":"IRATI","CD_GEOCMI":"41032"},{"NM_MICRO":"RIO NEGRO","CD_GEOCMI":"41039"},{"NM_MICRO":"TOLEDO","CD_GEOCMI":"41022"},{"NM_MICRO":"GUARAPUAVA","CD_GEOCMI":"41029"},{"NM_MICRO":"FOZ DO IGUAÇU","CD_GEOCMI":"41024"},{"NM_MICRO":"PONTA GROSSA","CD_GEOCMI":"41021"},{"NM_MICRO":"PARANAVAÍ","CD_GEOCMI":"41001"},{"NM_MICRO":"LAPA","CD_GEOCMI":"41036"},{"NM_MICRO":"FRANCISCO BELTRÃO","CD_GEOCMI":"41026"},{"NM_MICRO":"CAPANEMA","CD_GEOCMI":"41025"},{"NM_MICRO":"PATO BRANCO","CD_GEOCMI":"41027"},{"NM_MICRO":"PITANGA","CD_GEOCMI":"41028"},{"NM_MICRO":"UMUARAMA","CD_GEOCMI":"41002"},{"NM_MICRO":"CURITIBA","CD_GEOCMI":"41037"},{"NM_MICRO":"PORECATU","CD_GEOCMI":"41007"},{"NM_MICRO":"JACAREZINHO","CD_GEOCMI":"41016"},{"NM_MICRO":"MARINGÁ","CD_GEOCMI":"41009"},{"NM_MICRO":"SÃO MATEUS DO SUL","CD_GEOCMI":"41034"}] -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/ce_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/pe_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/microrregioes/ro_microrregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/microrregioes/ac_microrregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/validate-options.test.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const validateOptions = require('../src/core/validate-options'); 4 | const assert = require('assert'); 5 | 6 | describe('ValidateOptions', () => { 7 | const listThrowsObjects = [1234, 'ceilandia', [], null, undefined, new Promise((resolve) => resolve(true))]; 8 | const listThrowsObjectsB = [1234, 'ceilandia', null, undefined]; 9 | 10 | it('validateUnidade', () => { 11 | assert.strictEqual(validateOptions({}).unidade, 'br'); 12 | assert.strictEqual(validateOptions({unidade: 'df'}).unidade, 'df'); 13 | assert.strictEqual(validateOptions({unidade: 31}).unidade, 'mg'); 14 | assert.strictEqual(validateOptions({unidade: 'BA'}).unidade, 'ba'); 15 | 16 | listThrowsObjects.forEach(item => { 17 | assert.throws(() => validateOptions({unidade: item}).unidade); 18 | }); 19 | }); 20 | 21 | it('validateRegiao', () => { 22 | assert.strictEqual(validateOptions({}).regiao, 'federacao'); 23 | assert.strictEqual(validateOptions({regiao: 'municipio'}).regiao, 'municipio'); 24 | 25 | listThrowsObjects.forEach(item => { 26 | assert.throws(() => validateOptions({regiao: item}).unidade); 27 | }); 28 | }); 29 | 30 | it('validateQualidade', () => { 31 | assert.strictEqual(validateOptions({}).qualidade, 'low'); 32 | assert.strictEqual(validateOptions({qualidade: 'low'}).qualidade, 'low'); 33 | 34 | listThrowsObjects.forEach(item => { 35 | assert.throws(() => validateOptions({qualidade: item}).qualidade); 36 | }); 37 | }); 38 | 39 | it('validateUnidadeData', () => { 40 | assert.ok(validateOptions({}).unidadeData instanceof Promise); 41 | assert.ok(validateOptions({unidadeData: []}).unidadeData instanceof Promise); 42 | assert.ok(validateOptions({unidadeData: new Promise(() => null)}).unidadeData instanceof Promise); 43 | 44 | listThrowsObjectsB.forEach(item => { 45 | assert.throws(() => validateOptions({unidadeData: item}).unidadeData); 46 | }); 47 | }); 48 | 49 | }); 50 | -------------------------------------------------------------------------------- /data/svg/low/microrregioes/to_microrregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/pa_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/ma_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/svg/low/mesorregioes/ms_mesorregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/municipios/ro_municipios.json: -------------------------------------------------------------------------------- 1 | [{"NM_MUNICIP":"URUPÁ","CD_GEOCMU":"1101708"},{"NM_MUNICIP":"OURO PRETO DO OESTE","CD_GEOCMU":"1100155"},{"NM_MUNICIP":"GOVERNADOR JORGE TEIXEIRA","CD_GEOCMU":"1101005"},{"NM_MUNICIP":"ROLIM DE MOURA","CD_GEOCMU":"1100288"},{"NM_MUNICIP":"CAMPO NOVO DE RONDÔNIA","CD_GEOCMU":"1100700"},{"NM_MUNICIP":"ESPIGÃO D'OESTE","CD_GEOCMU":"1100098"},{"NM_MUNICIP":"SÃO FRANCISCO DO GUAPORÉ","CD_GEOCMU":"1101492"},{"NM_MUNICIP":"RIO CRESPO","CD_GEOCMU":"1100262"},{"NM_MUNICIP":"NOVO HORIZONTE DO OESTE","CD_GEOCMU":"1100502"},{"NM_MUNICIP":"PARECIS","CD_GEOCMU":"1101450"},{"NM_MUNICIP":"SERINGUEIRAS","CD_GEOCMU":"1101500"},{"NM_MUNICIP":"CEREJEIRAS","CD_GEOCMU":"1100056"},{"NM_MUNICIP":"CABIXI","CD_GEOCMU":"1100031"},{"NM_MUNICIP":"JI-PARANÁ","CD_GEOCMU":"1100122"},{"NM_MUNICIP":"MIRANTE DA SERRA","CD_GEOCMU":"1101302"},{"NM_MUNICIP":"CANDEIAS DO JAMARI","CD_GEOCMU":"1100809"},{"NM_MUNICIP":"SÃO MIGUEL DO GUAPORÉ","CD_GEOCMU":"1100320"},{"NM_MUNICIP":"THEOBROMA","CD_GEOCMU":"1101609"},{"NM_MUNICIP":"CORUMBIARA","CD_GEOCMU":"1100072"},{"NM_MUNICIP":"CUJUBIM","CD_GEOCMU":"1100940"},{"NM_MUNICIP":"MINISTRO ANDREAZZA","CD_GEOCMU":"1101203"},{"NM_MUNICIP":"ALTA FLORESTA D'OESTE","CD_GEOCMU":"1100015"},{"NM_MUNICIP":"MONTE NEGRO","CD_GEOCMU":"1101401"},{"NM_MUNICIP":"ALVORADA D'OESTE","CD_GEOCMU":"1100346"},{"NM_MUNICIP":"ITAPUÃ DO OESTE","CD_GEOCMU":"1101104"},{"NM_MUNICIP":"ALTO PARAÍSO","CD_GEOCMU":"1100403"},{"NM_MUNICIP":"TEIXEIRÓPOLIS","CD_GEOCMU":"1101559"},{"NM_MUNICIP":"VALE DO ANARI","CD_GEOCMU":"1101757"},{"NM_MUNICIP":"PIMENTA BUENO","CD_GEOCMU":"1100189"},{"NM_MUNICIP":"NOVA MAMORÉ","CD_GEOCMU":"1100338"},{"NM_MUNICIP":"PIMENTEIRAS DO OESTE","CD_GEOCMU":"1101468"},{"NM_MUNICIP":"NOVA UNIÃO","CD_GEOCMU":"1101435"},{"NM_MUNICIP":"PRIMAVERA DE RONDÔNIA","CD_GEOCMU":"1101476"},{"NM_MUNICIP":"COSTA MARQUES","CD_GEOCMU":"1100080"},{"NM_MUNICIP":"ARIQUEMES","CD_GEOCMU":"1100023"},{"NM_MUNICIP":"VILHENA","CD_GEOCMU":"1100304"},{"NM_MUNICIP":"ALTO ALEGRE DOS PARECIS","CD_GEOCMU":"1100379"},{"NM_MUNICIP":"BURITIS","CD_GEOCMU":"1100452"},{"NM_MUNICIP":"PORTO VELHO","CD_GEOCMU":"1100205"},{"NM_MUNICIP":"JARU","CD_GEOCMU":"1100114"},{"NM_MUNICIP":"NOVA BRASILÂNDIA D'OESTE","CD_GEOCMU":"1100148"},{"NM_MUNICIP":"VALE DO PARAÍSO","CD_GEOCMU":"1101807"},{"NM_MUNICIP":"CHUPINGUAIA","CD_GEOCMU":"1100924"},{"NM_MUNICIP":"PRESIDENTE MÉDICI","CD_GEOCMU":"1100254"},{"NM_MUNICIP":"SANTA LUZIA D'OESTE","CD_GEOCMU":"1100296"},{"NM_MUNICIP":"COLORADO DO OESTE","CD_GEOCMU":"1100064"},{"NM_MUNICIP":"CASTANHEIRAS","CD_GEOCMU":"1100908"},{"NM_MUNICIP":"MACHADINHO D'OESTE","CD_GEOCMU":"1100130"},{"NM_MUNICIP":"GUAJARÁ-MIRIM","CD_GEOCMU":"1100106"},{"NM_MUNICIP":"SÃO FELIPE D'OESTE","CD_GEOCMU":"1101484"},{"NM_MUNICIP":"CACAULÂNDIA","CD_GEOCMU":"1100601"},{"NM_MUNICIP":"CACOAL","CD_GEOCMU":"1100049"}] -------------------------------------------------------------------------------- /data/svg/low/microrregioes/se_microrregioes.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/json/microrregioes/sp_microrregioes.json: -------------------------------------------------------------------------------- 1 | [{"NM_MICRO":"FRANCO DA ROCHA","CD_GEOCMI":"35058"},{"NM_MICRO":"RIBEIRÃO PRETO","CD_GEOCMI":"35014"},{"NM_MICRO":"TUPÃ","CD_GEOCMI":"35037"},{"NM_MICRO":"SÃO JOAQUIM DA BARRA","CD_GEOCMI":"35010"},{"NM_MICRO":"PIEDADE","CD_GEOCMI":"35045"},{"NM_MICRO":"BOTUCATU","CD_GEOCMI":"35023"},{"NM_MICRO":"AURIFLAMA","CD_GEOCMI":"35006"},{"NM_MICRO":"GUARULHOS","CD_GEOCMI":"35059"},{"NM_MICRO":"CATANDUVA","CD_GEOCMI":"35005"},{"NM_MICRO":"PIRACICABA","CD_GEOCMI":"35028"},{"NM_MICRO":"JALES","CD_GEOCMI":"35001"},{"NM_MICRO":"SÃO PAULO","CD_GEOCMI":"35061"},{"NM_MICRO":"BAURU","CD_GEOCMI":"35020"},{"NM_MICRO":"LIMEIRA","CD_GEOCMI":"35027"},{"NM_MICRO":"MOGI MIRIM","CD_GEOCMI":"35031"},{"NM_MICRO":"CAMPOS DO JORDÃO","CD_GEOCMI":"35049"},{"NM_MICRO":"CAMPINAS","CD_GEOCMI":"35032"},{"NM_MICRO":"SOROCABA","CD_GEOCMI":"35046"},{"NM_MICRO":"AMPARO","CD_GEOCMI":"35033"},{"NM_MICRO":"BARRETOS","CD_GEOCMI":"35009"},{"NM_MICRO":"ANDRADINA","CD_GEOCMI":"35016"},{"NM_MICRO":"ADAMANTINA","CD_GEOCMI":"35035"},{"NM_MICRO":"BRAGANÇA PAULISTA","CD_GEOCMI":"35048"},{"NM_MICRO":"LINS","CD_GEOCMI":"35019"},{"NM_MICRO":"RIO CLARO","CD_GEOCMI":"35026"},{"NM_MICRO":"SÃO JOSÉ DO RIO PRETO","CD_GEOCMI":"35004"},{"NM_MICRO":"BANANAL","CD_GEOCMI":"35052"},{"NM_MICRO":"ITAPEVA","CD_GEOCMI":"35041"},{"NM_MICRO":"PIRASSUNUNGA","CD_GEOCMI":"35029"},{"NM_MICRO":"CARAGUATATUBA","CD_GEOCMI":"35054"},{"NM_MICRO":"REGISTRO","CD_GEOCMI":"35055"},{"NM_MICRO":"AVARÉ","CD_GEOCMI":"35022"},{"NM_MICRO":"ITANHAÉM","CD_GEOCMI":"35056"},{"NM_MICRO":"SÃO JOSÉ DOS CAMPOS","CD_GEOCMI":"35050"},{"NM_MICRO":"MOGI DAS CRUZES","CD_GEOCMI":"35062"},{"NM_MICRO":"SÃO JOÃO DA BOA VISTA","CD_GEOCMI":"35030"},{"NM_MICRO":"JAÚ","CD_GEOCMI":"35021"},{"NM_MICRO":"PARAIBUNA/PARAITINGA","CD_GEOCMI":"35053"},{"NM_MICRO":"PRESIDENTE PRUDENTE","CD_GEOCMI":"35036"},{"NM_MICRO":"BIRIGUI","CD_GEOCMI":"35018"},{"NM_MICRO":"FRANCA","CD_GEOCMI":"35012"},{"NM_MICRO":"ITAPECERICA DA SERRA","CD_GEOCMI":"35060"},{"NM_MICRO":"ARAÇATUBA","CD_GEOCMI":"35017"},{"NM_MICRO":"ARARAQUARA","CD_GEOCMI":"35024"},{"NM_MICRO":"NOVO HORIZONTE","CD_GEOCMI":"35008"},{"NM_MICRO":"SANTOS","CD_GEOCMI":"35063"},{"NM_MICRO":"NHANDEARA","CD_GEOCMI":"35007"},{"NM_MICRO":"JABOTICABAL","CD_GEOCMI":"35013"},{"NM_MICRO":"VOTUPORANGA","CD_GEOCMI":"35003"},{"NM_MICRO":"ITAPETININGA","CD_GEOCMI":"35042"},{"NM_MICRO":"TATUÍ","CD_GEOCMI":"35043"},{"NM_MICRO":"ASSIS","CD_GEOCMI":"35039"},{"NM_MICRO":"OSASCO","CD_GEOCMI":"35057"},{"NM_MICRO":"SÃO CARLOS","CD_GEOCMI":"35025"},{"NM_MICRO":"ITUVERAVA","CD_GEOCMI":"35011"},{"NM_MICRO":"BATATAIS","CD_GEOCMI":"35015"},{"NM_MICRO":"GUARATINGUETÁ","CD_GEOCMI":"35051"},{"NM_MICRO":"MARÍLIA","CD_GEOCMI":"35038"},{"NM_MICRO":"FERNANDÓPOLIS","CD_GEOCMI":"35002"},{"NM_MICRO":"OURINHOS","CD_GEOCMI":"35040"},{"NM_MICRO":"DRACENA","CD_GEOCMI":"35034"},{"NM_MICRO":"JUNDIAÍ","CD_GEOCMI":"35047"},{"NM_MICRO":"CAPÃO BONITO","CD_GEOCMI":"35044"}] -------------------------------------------------------------------------------- /src/mapa-brasil.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const validateOptions = require("./core/validate-options"); 4 | const constantes = require("./core/constantes"); 5 | const interactable = require("./core/interactable"); 6 | const mapaUi = require("./core/mapa-ui"); 7 | const mapaIo = require("./core/mapa-io"); 8 | 9 | if(!constantes.IS_NODE) { // not Node 10 | require("whatwg-fetch"); 11 | } 12 | 13 | let draw = (element, options) => { 14 | options = validateOptions(options); 15 | mapaUi.initDom(element); 16 | 17 | const pathJson = mapaIo.getPath(options, false); 18 | const pathSvg = mapaIo.getPath(options, true); 19 | 20 | Promise.all([ 21 | options.hasOwnProperty("dataFileLoader") ? options.dataFileLoader(false, pathJson) : mapaIo.loadDataFile(false, pathJson), 22 | options.hasOwnProperty("dataFileLoader") ? options.dataFileLoader(true, pathSvg) : mapaIo.loadDataFile(true, pathSvg), 23 | options.unidadeData 24 | ]).then(result => { 25 | // container 26 | element.getElementsByClassName("svg-container")[0].innerHTML = result[0]; 27 | 28 | // interactable 29 | interactable(element); 30 | 31 | // SVG 32 | let svgEl = element.getElementsByClassName("svg-container")[0].getElementsByTagName("svg")[0]; 33 | 34 | // paths 35 | let listPath = svgEl.getElementsByTagName("g")[0].getElementsByTagName("path"); 36 | for (let i = 0; i < listPath.length; i++) { 37 | const codIbge = parseInt(result[1][i][constantes.codIbgeAttr[options.regiao]]); 38 | const nomUnidade = result[1][i][constantes.nomeUnidadeAttr[options.regiao]]; 39 | 40 | let unidadeData = result[2].filter(item => item.codIbge == codIbge || (codIbge + "").substr(0, 6) == item.codIbge); 41 | unidadeData = unidadeData.length > 0 ? unidadeData[0] : {}; 42 | 43 | listPath[i].style.fill = (unidadeData.hasOwnProperty("fillColor") ? unidadeData.fillColor : options.defaultFillColor); 44 | listPath[i].style.stroke = (unidadeData.hasOwnProperty("strokeColor") ? unidadeData.strokeColor : options.defaultStrokeColor); 45 | listPath[i].style.strokeWidth = (unidadeData.hasOwnProperty("strokeWidth") ? unidadeData.strokeWidth : 1); 46 | listPath[i].innerHTML = `