Created
July 11, 2014 13:22
-
-
Save george-silva/2dae52f78f4f5dc5489f to your computer and use it in GitHub Desktop.
exportação em lote postgis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# forma de uso ./exportar <host> <porta> <nome_do_banco_de_dados> <usuario> <senha> <caminho> <formato> | |
# este script depende de: lib32z1 lib32ncurses5 lib32bz2-1.0 e filegdbapi | |
export SHAPE_ENCODING="ISO-8859-1" | |
SERVIDOR=$1 | |
PORTA=$2 | |
BANCO_DADOS=$3 | |
USUARIO=$4 | |
SENHA=$5 | |
CAMINHO_SAIDA=$6 | |
FORMATO=$7 | |
SEPARADOR="--------------------------------------------------" | |
echo "configurando postgresql" | |
set PGPASSWORD=$5 | |
set PGCLIENTENCODING=latin1 | |
echo "listando camadas de interesse" | |
psql -h $SERVIDOR -p $PORTA -U $USUARIO -d $BANCO_DADOS -P 'format=unaligned' --field-separator=";" -t -c "SELECT nome_tabela, nome_view, gc.type FROM camada, geometry_columns gc WHERE exportar IS TRUE AND nome_view IS NOT NULL AND nome_tabela = f_table_name" > exportar.temp | |
IFS=$'\n' | |
echo $SEPARADOR | |
echo "iniciando processamento" | |
echo $SEPARADOR | |
for linha in `cat ./exportar.temp` | |
do | |
IFS=\; | |
read -a CAMPOS <<< "$linha" | |
NOME_TABELA=${CAMPOS[0]} | |
NOME_VIEW=${CAMPOS[1]} | |
LAYER_TYPE=${CAMPOS[2]} | |
IFS=$'\n' | |
echo "processando "$NOME_TABELA | |
CONTADOR_FEICOES=$(psql -h $SERVIDOR -p $PORTA -d $BANCO_DADOS -U $USUARIO -t -c "SELECT count(*) FROM $NOME_VIEW;") | |
if [ ! $CONTADOR_FEICOES -eq 0 ]; then | |
echo "existem $CONTADOR_FEICOES feicoes na view $NOME_TABELA. exportando..." | |
if [ "$FORMATO" = "fgdb" ]; then | |
sh ex_fgdb.sh $SERVIDOR $PORTA $BANCO_DADOS $USUARIO $SENHA $CAMINHO_SAIDA $NOME_TABELA $NOME_VIEW $LAYER_TYPE | |
else | |
sh ex_shp.sh $SERVIDOR $PORTA $BANCO_DADOS $USUARIO $SENHA $CAMINHO_SAIDA $NOME_TABELA $NOME_VIEW | |
fi | |
else | |
echo "nao existem feicoes para $NOME_VIEW" | |
fi | |
echo $SEPARADOR | |
done | |
echo "exportacao concluida. limpando arquivos temporarios" | |
rm -rf exportar.temp | |
unset IFS | |
unset PGPASSWORD | |
echo "exportacao finalizada" | |
echo $SEPARADOR | |
echo $SEPARADOR |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment