{"id":2769,"date":"2012-05-19T23:04:27","date_gmt":"2012-05-20T02:04:27","guid":{"rendered":"http:\/\/meiradarocha.jor.br\/news\/?p=2769"},"modified":"2023-09-03T14:56:00","modified_gmt":"2023-09-03T17:56:00","slug":"limites-geograficos-de-todos-os-5566-municipios-brasileiros-no-google-earth","status":"publish","type":"post","link":"https:\/\/meiradarocha.jor.br\/news\/2012\/05\/19\/limites-geograficos-de-todos-os-5566-municipios-brasileiros-no-google-earth\/","title":{"rendered":"Limites geogr\u00e1ficos de todos os 5566 munic\u00edpios brasileiros no Google Earth"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright\"><a href=\"http:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/05\/municipios_do_brasil.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"153\" src=\"http:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/05\/municipios_do_brasil-300x153.jpg\" alt=\"\" class=\"wp-image-2770\" title=\"Munic\u00edpios do Brasil\" srcset=\"https:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/05\/municipios_do_brasil-300x153.jpg 300w, https:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/05\/municipios_do_brasil-150x77.jpg 150w, https:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/05\/municipios_do_brasil-768x392.jpg 768w, https:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/05\/municipios_do_brasil-1024x523.jpg 1024w, https:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/05\/municipios_do_brasil.jpg 1916w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>[<strong>Obsoleto<\/strong>. A atualiza\u00e7\u00e3o est\u00e1 em no artigo <a href=\"https:\/\/meiradarocha.jor.br\/news\/2018\/03\/01\/como-gerei-mapas-dos-5570-municipios-brasileiros-no-google-earth\/\" data-type=\"post\" data-id=\"4433\">Como gerei mapas dos 5570 munic\u00edpios brasileiros no Google Earth<\/a>]<br \/>Existem ilustra\u00e7\u00f5es vetoriais de limites geogr\u00e1ficos pol\u00edtico-administrativos e mapas de todos os 5566 munic\u00edpios brasileiros na Wikipedia [em 2017, j\u00e1 s\u00e3o 5570], gra\u00e7as ao trabalho de um usu\u00e1rio que converteu ilustra\u00e7\u00f5es do <strong>IBGE<\/strong> em formato CorelDraw (CDR) para Scalable Vector Graphics (SVG).<\/p>\n\n\n\n<p>Mas eu queria tamb\u00e9m arquivos vetoriais no formato KML do <strong>Google Earth (GE)<\/strong>, para evitar ter que gerar e posicionar manualmente <em>overlays<\/em> de imagens PNG convertidos dos SVG, que ficam com resolu\u00e7\u00e3o ruim vistos de perto. Pesquisando no site do IBGE, descobri arquivos de &#8220;malha digital&#8221; em formato <em><strong>ESRI shapefile<\/strong><\/em>, que \u00e9 um padr\u00e3o <em>de facto<\/em> de dados geogr\u00e1ficos. Cavando mais na internet, descobri programas para&nbsp; converter dados geogr\u00e1ficos com suporte para formato KML do GE. Ent\u00e3o, gerei um KML com os limites geogr\u00e1ficos de 5566 (j\u00e1 s\u00e3o 5570, mas n\u00e3o h\u00e1 ainda o mapa dos novos) munic\u00edpios brasileiros com <a href=\"ftp:\/\/geoftp.ibge.gov.br\/organizacao_do_territorio\/malhas_territoriais\/malhas_municipais\/\" target=\"_blank\" rel=\"noopener\">dados de 2007 do IBGE<\/a>. O arquivo ficou com 10.8 MB, mas, apesar de grande, carrega relativamente r\u00e1pido no Google Earth.<\/p>\n\n\n\n<p>[<strong>Atualiza\u00e7\u00e3o: <\/strong>O&nbsp;<strong> Google Earth Professional, <\/strong>agora distribu\u00eddo gratuitamente, abre diretamente <em>shapefiles<\/em>. \u00c9 para Windows, mas roda bem no GNU\/Linux sobre a camada de compatibilidade Wine. Ele importa os SHP, mas o nome dos munic\u00edpios n\u00e3o fica no lugar certo do arquivo. Ainda \u00e9 necess\u00e1rio colocar o nome pela procura-e-troca no Notepad++, conforme descrito abaixo].<\/p>\n\n\n\n<p>Para obter o KML de um \u00fanico munic\u00edpio, procurei-o pela caixa de procura dos &#8220;Lugares&#8221; do GE, copiei e colei na pr\u00f3pria janela de <em>placemarks<\/em> do Google Earth. Com a receita abaixo e com outros conjuntos de <a href=\"ftp:\/\/geoftp.ibge.gov.br\/organizacao_do_territorio\/malhas_territoriais\/malhas_municipais\/\">dados do IBGE<\/a>, \u00e9 poss\u00edvel se gerar o KML por regi\u00e3o, por estado, por mesorregi\u00e3o e por microrregi\u00e3o. Os dados de 2005 t\u00eam melhor resolu\u00e7\u00e3o, de 50 metros. Os outros, resolu\u00e7\u00e3o de 250 metros. As linhas s\u00e3o simplificadas, pois os arquivos ficariam gigantescos se a resolu\u00e7\u00e3o fosse maior.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Making of<\/h3>\n\n\n\n<p>Arquivo original em formato <strong>ESRI shapefile<\/strong> convertido para KML pelo Linux, pacote <strong>gdal-bin<\/strong>, programa <strong>ogr2ogr<\/strong>. Linha de comando:<\/p>\n\n\n\n<p><code>export OGR_FORCE_ASCII=NO<br \/>\nogr2ogr -f \"KML\" -t_srs EPSG:4326 municipios.kml 55mu2500gsr.shp<\/code><\/p>\n\n\n\n<p>Para os dados de 2005, o comando \u00e9 este:<\/p>\n\n\n\n<p><code>ogr2ogr -f \"KML\" -s_srs EPSG:4326&nbsp; -t_srs EPSG:4326 brasil.kml 55mu500gc.sh<\/code><\/p>\n\n\n\n<p>Os <em>placemarks<\/em> s\u00e3o gerados sem nome pelo ogr2ogr.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Colocando nomes nos <em>placemarks<\/em><\/h4>\n\n\n\n<p>Para colocar os nomes, usei a procura e troca do <a href=\"http:\/\/notepad-plus-plus.org\"><strong>Notepad++<\/strong><\/a> atrav\u00e9s de <a href=\"http:\/\/pt.wikipedia.org\/wiki\/Express%C3%A3o_Regular\">express\u00f5es regulares<\/a> (<strong>regexp<\/strong>). Usei o recurso de <em>regexp<\/em> em que a gente agrupa um padr\u00e3o de busca entre par\u00eantesis e recoloca este padr\u00e3o no texto substitu\u00eddo, com <code>\\1, \\2<\/code> etc. Assim, peguei cada nome dentro do campo <code>&lt;SimpleData name=\"NOME\"&gt;Acegu\u00e1&lt;\/SimpleData&gt;<\/code> e inseri o campo <code>&lt;name&gt;Acegu\u00e1&lt;\/name&gt;<\/code> dentro de cada <em>placemark<\/em>.<\/p>\n\n\n\n<p>Para os dados de 2005 e 2007, procurei por:<\/p>\n\n\n\n<p><code>&lt;Placemark&gt;<span style=\"color: #339966;\"><strong>(\\n.*?\\n.*?\\n.*?\\n.*?.*?NOME\"&gt;)<\/strong><\/span><span style=\"color: #ff0000;\"><strong>(.*)<\/strong><\/span>&lt;\/SimpleData&gt;<\/code><\/p>\n\n\n\n<p>Os dados de 2010 precisam desta regexp:<\/p>\n\n\n\n<p><code>&lt;Placemark&gt;<span style=\"color: #339966;\"><strong>(\\n.*?\\n.*?\\n.*?\\n.*?\\n.*?\\n.*?.*?MUNIC\"&gt;)<\/strong><\/span><span style=\"color: #ff0000;\"><strong>(.*)<\/strong><\/span>&lt;\/SimpleData&gt;<\/code><\/p>\n\n\n\n<p>E os dados de 2013 precisam desta regexp:<\/p>\n\n\n\n<p><code>&lt;Placemark&gt;<strong><span style=\"color: #339966;\">(.*\\n?.*\\n?.*?\\n.*\\n?.*\\n?.*MUNICIP\"&gt;)<\/span><\/strong><\/code><code><span style=\"color: #ff0000;\"><strong>(.*)<\/strong><\/span>&lt;\/SimpleData&gt;<\/code><\/p>\n\n\n\n<p>Troquei por:<\/p>\n\n\n\n<p><code>&lt;Placemark&gt;<span style=\"color: #3366ff;\"><strong>\\n\\t&lt;name&gt;<\/strong><\/span><span style=\"color: #ff0000;\"><strong>\\2<\/strong><\/span><strong><span style=\"color: #3366ff;\">&lt;\/name&gt;<\/span><span style=\"color: #339966;\">\\1<\/span><span style=\"color: #ff0000;\">\\2<\/span><\/strong>&lt;\/SimpleData&gt; <\/code><\/p>\n\n\n\n<p>Repare que o comando&nbsp;<code><strong>\\2<\/strong><\/code> \u00e9 uma esp\u00e9cie de vari\u00e1vel que insere o nome do munic\u00edpio guardado pelo segundo grupo de par\u00eantesis <code><strong>(.*)<\/strong><\/code>. O comando&nbsp;<code><strong>\\1<\/strong><\/code> simplesmente repete o padr\u00e3o encontrado no primeiro grupo de par\u00eantesis, o comando <code><strong>\\2<\/strong><\/code>, repete o segundo grupo de &#8220;(&#8230;)&#8221;, etc.<\/p>\n\n\n\n<p>Mas o arquivo gerado pelo <strong>ogr2ogr<\/strong> tem acentua\u00e7\u00e3o em formato ANSI ou ISO-8859-1 (por isso a configura\u00e7\u00e3o <code>OGR_FORCE_ASCII=NO<\/code>, para conservar a codifica\u00e7\u00e3o dos acentos). No Notepad++, precisei converter para ANSI e &#8212; sem salvar o arquivo &#8212; recarreg\u00e1-lo e convert\u00ea-lo para UTF-8, que \u00e9 a codifica\u00e7\u00e3o do KML (padr\u00e3o XML). \u00c9 um comportamento estranho, converter e recarregar sem salvar, talvez porque o Notepad++ esteja rodando em <a href=\"http:\/\/pt.wikipedia.org\/wiki\/Wine\">Wine<\/a>. Tenho que testar a convers\u00e3o no Windows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Download<\/h3>\n\n\n\n<p>Aqui est\u00e1 o KMZ com <a href=\"https:\/\/www.dropbox.com\/s\/ipbczg7fimxdnpa\/Munic%C3%ADpios%20do%20Brasil%2C%202007.kmz?dl=0\">todos os per\u00edmetros municipais brasileiros em 2007<\/a> em resolu\u00e7\u00e3o de 250 metros. Arquivo com 10.8 MB. Tamb\u00e9m tem os <a href=\"https:\/\/www.dropbox.com\/s\/ujwwbabikmieufg\/Munic%C3%ADpos%20do%20Brasil%2C%202005.kmz?dl=0\">per\u00edmetros municipais brasileiros em 2005<\/a>, com melhor resolu\u00e7\u00e3o, de 50 metros. Arquivo com 15 MB.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Preparando uma tabela Google Fusion<\/h3>\n\n\n\n<p>Para preparar uma tabela para o Google Fusion, preciso apenas do nome da cidade e do pol\u00edgono relacionado a ela, separados por tabula\u00e7\u00e3o, num arquivo tipo TSV (valores separados por tabula\u00e7\u00e3o).<\/p>\n\n\n\n<p>A express\u00e3o regular para os dados de 2013, ent\u00e3o, \u00e9:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><code>&lt;Placemark&gt;(.*\\n?.*\\n?.*\\n?.*?\\n.*\\n?.*\\n?.*?MUNICIP\"&gt;)(.*)&lt;\/SimpleData&gt;.*?\\n.*?\\n<\/code><\/pre>\n\n\n\n<p>Que substituo por <strong>\\2\\t<\/strong> (o que foi encontrado mais uma tabula\u00e7\u00e3o). Depois limpo as marca\u00e7\u00f5es que sobraram, como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><code>\\n.*?&lt;\/Placemark&gt;<\/code><\/pre>\n\n\n\n<p>E, \u00e0 m\u00e3o, limpo o in\u00edcio e fim do arquivo KML.<\/p>\n\n\n\n<p>[2023-04-25 Nota do editor] Atualiza\u00e7\u00e3o deste post: <\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">Refer\u00eancias<\/h3>\n<\/div><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fun with shapefile<\/strong>. &lt;<a href=\"http:\/\/levien.zonnetjes.net\/?q=shapefiles\" target=\"_blank\" rel=\"noopener\">http:\/\/levien.zonnetjes.net\/?<wbr \/>q=shapefiles<\/a>&gt;<\/li>\n\n\n\n<li><strong>GDAL configuration options<\/strong>. &lt;<a href=\"http:\/\/trac.osgeo.org\/gdal\/wiki\/ConfigOptions\" target=\"_blank\" rel=\"noopener\">http:\/\/trac.osgeo.org\/gdal\/<wbr \/>wiki\/ConfigOptions<\/a>&gt;<\/li>\n\n\n\n<li><strong>How to use regular expressions in Notepad++<\/strong> (tutorial). &lt;<a href=\"http:\/\/sourceforge.net\/apps\/mediawiki\/notepad-plus\/index.php?title=Regular_Expressions\">http:\/\/sourceforge.net\/apps\/mediawiki\/notepad-plus\/index.php?title=Regular_Expressions<\/a>&gt;<\/li>\n\n\n\n<li><strong>KML Documentation.<\/strong> &lt;<a href=\"https:\/\/developers.google.com\/kml\/documentation\/\">https:\/\/developers.google.com\/kml\/documentation\/<\/a>&gt;<\/li>\n\n\n\n<li><strong>Shapescape<\/strong>. Site para converter diretamente shapefiles para tabelas do Google fusion tables. &lt;<a href=\"http:\/\/www.shpescape.com\/\">http:\/\/www.shpescape.com\/<\/a>&gt; [ 2023-04-27 nota do editor]Obsoleto. Google Fusion Tables foi descontinuado.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Mapa vetorial no formato KML<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,43,7,31,42],"tags":[],"class_list":["post-2769","post","type-post","status-publish","format-standard","hentry","category-database","category-google-earth","category-jornalismo-online","category-mapas","category-sistemas-geograficos"],"_links":{"self":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/2769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/comments?post=2769"}],"version-history":[{"count":10,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/2769\/revisions"}],"predecessor-version":[{"id":5966,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/2769\/revisions\/5966"}],"wp:attachment":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/media?parent=2769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/categories?post=2769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/tags?post=2769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}