{"id":109,"date":"2026-09-16T09:00:00","date_gmt":"2026-09-16T12:00:00","guid":{"rendered":"https:\/\/dcoder.io\/blog\/de-2565-para-17442-empresas-no-mapa\/"},"modified":"2026-09-20T20:44:20","modified_gmt":"2026-09-20T23:44:20","slug":"de-2565-para-17442-empresas-no-mapa","status":"publish","type":"post","link":"https:\/\/dcoder.io\/blog\/de-2565-para-17442-empresas-no-mapa\/","title":{"rendered":"De 2.565 para 17.442 empresas no mapa, sem ningu\u00e9m digitar nenhuma"},"content":{"rendered":"<p>Um mapa de empresas de uma cidade tinha 2.565 registros, todos digitados \u00e0 m\u00e3o. Depois de duas cargas de dados p\u00fablicos, tem <strong>17.442<\/strong>, e 15.360 deles aparecem no mapa com um ponto de verdade.<\/p>\n<p>Ningu\u00e9m digitou nada. Os dois arquivos s\u00e3o p\u00fablicos e gratuitos.<\/p>\n<h2>O primeiro arquivo diz quem existe<\/h2>\n<p>A Receita Federal publica a base de CNPJ. Da publica\u00e7\u00e3o de agosto de 2026 vieram <strong>16.679 estabelecimentos ativos<\/strong> na cidade, sendo 14.876 novos e 1.803 que j\u00e1 existiam e foram atualizados, com regime tribut\u00e1rio, porte e s\u00f3cios.<\/p>\n<p>Isso responde quem existe. N\u00e3o responde onde fica, porque o endere\u00e7o vem em texto e texto n\u00e3o desenha ponto em mapa.<\/p>\n<h2>O segundo arquivo diz onde fica<\/h2>\n<p>O IBGE publica o CNEFE, o cadastro de endere\u00e7os do Censo de 2022, com coordenada por endere\u00e7o. Cruzando os dois, <strong>11.749 empresas foram movidas para o ponto real do endere\u00e7o<\/strong>. Antes do cruzamento, 11.177 apareciam no mapa. Depois, 15.360.<\/p>\n<h2>A parte que ningu\u00e9m conta<\/h2>\n<p>O interessante n\u00e3o est\u00e1 no que casou, e sim no que ficou de fora e na regra que voc\u00ea aplica a isso.<\/p>\n<table>\n<tr>\n<th>Como a coordenada foi achada<\/th>\n<th>Empresas<\/th>\n<\/tr>\n<tr>\n<td>CEP e n\u00famero, com o nome da rua conferido<\/td>\n<td>9.667<\/td>\n<\/tr>\n<tr>\n<td>Rua e n\u00famero<\/td>\n<td>2.634<\/td>\n<\/tr>\n<tr>\n<td>Manuais mantidas onde estavam<\/td>\n<td>526<\/td>\n<\/tr>\n<tr>\n<td>S\u00f3 existe n\u00famero vizinho na mesma rua<\/td>\n<td>1.456<\/td>\n<\/tr>\n<tr>\n<td>Sem ponto no cadastro do IBGE<\/td>\n<td>3.685<\/td>\n<\/tr>\n<\/table>\n<p>As 1.456 da quarta linha s\u00e3o a decis\u00e3o que importa. O cadastro tem o n\u00famero 340 da rua e a empresa fica no 342. Dava para colocar o ponto no vizinho. Ningu\u00e9m notaria, e o mapa ficaria mais cheio.<\/p>\n<p>N\u00e3o gravamos. A regra aqui \u00e9 coordenada s\u00f3 real. Um ponto aproximado tem exatamente a apar\u00eancia de um ponto correto, fica indistingu\u00edvel depois, e algu\u00e9m vai dirigir at\u00e9 ele. Prefiro uma empresa fora do mapa e dentro da lista a uma empresa no lugar errado.<\/p>\n<p>As 526 manuais tamb\u00e9m ficaram onde estavam, e elas serviram de aferi\u00e7\u00e3o. A dist\u00e2ncia mediana entre o ponto que uma pessoa marcou e o ponto do IBGE ficou em <strong>17 metros<\/strong>, o que mostra que o cruzamento autom\u00e1tico n\u00e3o est\u00e1 pior que a m\u00e3o humana.<\/p>\n<h2>Se voc\u00ea for fazer isso<\/h2>\n<p>Os dados s\u00e3o p\u00fablicos, grandes e mal-humorados. O trabalho est\u00e1 no tratamento, n\u00e3o no download.<\/p>\n<p>Decida a regra do &#8220;quase casou&#8221; antes de rodar a carga, e deixe por escrito. Depois, com o mapa cheio na sua frente, a tenta\u00e7\u00e3o de arredondar cresce.<\/p>\n<p>Guarde por que cada ponto foi gravado. Sem isso voc\u00ea n\u00e3o audita nada nem melhora a carga seguinte.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dois arquivos p\u00fablicos do governo brasileiro resolvem um cadastro que levaria anos para montar \u00e0 m\u00e3o. O trabalho n\u00e3o est\u00e1 no download, est\u00e1 em decidir o que fazer quando o endere\u00e7o n\u00e3o fecha.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-109","post","type-post","status-publish","format-standard","hentry","category-sem-categoria"],"_links":{"self":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts\/109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/comments?post=109"}],"version-history":[{"count":1,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts\/109\/revisions"}],"predecessor-version":[{"id":119,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts\/109\/revisions\/119"}],"wp:attachment":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/media?parent=109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/categories?post=109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/tags?post=109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}