Importando dados do IBGE

Como converter dados em outras fontes para o formato OSM e vice-versa.
paulocarvalho

Importando dados do IBGE

Mensagem por paulocarvalho »

# 0. Create a working directory and use it
mkdir mapas_de_setores_censitarios
cd mapas_de_setores_censitarios

# 1. Download IBGE maps for Ivoti, RS
wget ftp://geoftp.ibge.gov.br/mapas_estatist ... 310801.zip" onclick="window.open(this.href);return false;

# 2. Extract all relevant maps (there are 34 sectors in Ivoti)
unzip -j 4310801.zip "*/4310801????????.pdf"

# 3. Convert maps to PNG, in reasonable resolution (200 dpi)
for f in *.pdf ; do convert -density 200 $f ${f%pdf}png ; done

# 4. Georeference 431080105000001.png, through visual inspection :-(

# Upper left corner of the actual map at pixel 164,121
-51d09'51" = -51.164167 longitude
-29d35'20" = -29.588889 latitude

# Lower right corner of the actual map at pixel 2226,2838
-51d09'23" = -51.156389 longitude
-29d35'57" = -29.599167 latitide

# 5. Apply the above values as ground control points (GCPs)
# Assuming that the undocumented datum is SIRGAS2000 = EPSG:4674
gdal_translate 431080105000001.png 431080105000001.tif \
-gcp 164 121 -51.164167 -29.588889 \
-gcp 2226 2838 -51.156389 -29.599167 \
-gcp 2226 121 -51.156389 -29.588889 \
-a_srs epsg:4674

# 6. JOSM/PicLayer only supports PNG, JPEG or GIF formats
# only EPSG:3857 is supported, world files are understood

# Warp the file to EPSG:3857 = WGS 84 / Pseudo-Mercator
gdalwarp 431080105000001.tif 431080105000001_epsg3857.tif \
-t_srs epsg:3857 -co tfw=yes

# Change image format, rename world file
convert 431080105000001_epsg3857.tif 431080105000001_epsg3857.jpg
mv 431080105000001_epsg3857.tfw 431080105000001_epsg3857.wld
Autor: Hermann Peifer, na lista talk-br.

Script python para alinhamento automático dos mapas do IBGE em PDF no JOSM proposto por Thiago Marcos P. Santos na lista lalk-br:
Os mapas estao disponíveis via web aqui:
http://tiles.tmpsantos.com.br/
E para adionar no JOSM como layer TMS:
http://tiles.tmpsantos.com.br/v2/" onclick="window.open(this.href);return false;[CODIGO]/{zoom}/{x}/{y}.png

Exemplo (Belém):
http://tiles.tmpsantos.com.br/v2/1501402/" onclick="window.open(this.href);return false;{zoom}/{x}/{y}.png


2305803 - Ipu - CE
2305001 - Guaraciaba do Norte - CE
2500601 - Alhandra - PB
2905404 - Cairu - BA
3164472 - Sao Sebastiao do Anta - MG
4203303 - Campo Alegre - SC
4209102 - Joinville - SC

Estas duas eu gerei para testar o script com cidades maiores (IIRC
alguém comentou sobre Belém faltar nomes de ruas aqui na lista):

1501402 - Belem - PA
5103403 - Cuiaba - MT
Relação de códigos de cidades disponíveis: http://tiles.tmpsantos.com.br/cities.txt

Link mais conveniente, pois não precisa criar uma layer no JSOM para cada cidade:
Autor: Thiago Marcos P. Santos na lista lalk-br

Tutorial de como fazer tudo isso no JOSM e no ID:
Autor: Vitor George, da lista talk-br.
Responder