quarta-feira, 30 de janeiro de 2013

Quantos municípios existem no Brasil?

Hoje temos 5.570. A melhor maneira de descobrir isso é indo no IBGE (http://www.ibge.gov.br), clico no link "Geociências", "Cartografia", "Divisão Territorial Brasileira" e depois "Divisão Territorial".
Ou clicando logo aqui: ftp://geoftp.ibge.gov.br/organizacao_territorial/divisao_territorial e depois clico no ano correspondente. Em 2012 haviam 5.565.

segunda-feira, 28 de janeiro de 2013

Lidando com "TopologyException: side location conflict"

O erro "TopologyException: side location conflict" ocorria comigo quando usava a função st_intersection do PostGIS e uma das geometrias tinha intersecção com ela mesma (um segmento da geometria cruzava um outro segmento dessa mesma geometria (uma geometria em forma de "8" seria um exemplo).

Pra descobrir se o erro que estou tendo é esse mesmo uso a função st_isvalidreason(geometry), que deve retornar "Self-intersection[lon lat]".

Daí acessei o endereço http://www.sogis1.so.ch/sogis/dl/postgis/cleanGeometry.sql, copiei o código gerado e executei no banco onde estavam as geometrias com problemas.

Agora, em vez de executar st_intersection(the_geom1, the_geom2), executo st_intersection(cleanGeometry(the_geom1), the_geom2), e o erro não ocorre mais.

É uma solução muito rápida e funcional! Peguei essa dica em http://linfiniti.com/2010/07/cleaning-geometries-inside-postgis/

Thanks a lot to Tim Sutton and his friend Horst Duester!

quinta-feira, 24 de janeiro de 2013

Em qual zona UTM está um determinado ponto?

Se a coordenada desse ponto está na projeção WGS84, mais conhecido como lat long, a fórmula é bem simples:
select trunc((long + 186) / 6)

Ou use esta página: http://whatutmzoneamiin.blogspot.com.br/