Commit d05d7f94 authored by Elmer Mendoza's avatar Elmer Mendoza

Merge

parents 2ee7bb85 73f3f2c2
......@@ -103,9 +103,21 @@ psql -d geoelectoral -h localhost -U geoelectoral -W < /tmp/uni.sql
```
## Datos municipios 2009
Para añadir los resultados del 2009 para municipios ejecutar
Para añadir los resultados del 2009 para municipios ejecutar
```
psql -d geoelectoral -h localhost -U geoelectoral -W < scripts/upgrade_0.10_hacia_0.11.sql
```
## Plurinominales de municipios 2002
Para añadir los resultados plurinominales de municipios del 2002 ejecutar
```
psql -d geoelectoral -h localhost -U geoelectoral -W < scripts/upgrade_0.11_hacia_0.12.sql
```
> _Nota:_
> Para obtener el archivo `scripts/upgrade_0.11_hacia_0.12.sql` se utiliza el script `scripts/import_municipios_2002_desde_shapefile.sh`. El script necesita ciertos requisitos descritos en el mismo archivo (revisar el script). El script se debe ejecutar desde la ubicación del archivo shapefile, generando al final el archivo `/tmp/muni2002.sql` el cual corresponde a `scripts/upgrade_0.11_hacia_0.12.sql`
#!/bin/bash
# El scrip requiere de una base de datos temporal en éste caso "muni2002"
# con soporte para postgis, también requiere del nombre de base de datos de
# Geoelectoral en éste caso es "geoelectoral".
PGUSER=postgres # Usuario de la base de datos
PGPASSWORD=postgres # Password del usuario de base de datos
BASE_DATOS=muni2002 # Base de datos temporal con soporte para PostGIS
BD_GEOELECTORAL=geoelectoral # Base de datos de GeoElectoral
SHAPEFILE=bolivia_SimplifyPolygon.shp # Archivo shapefile
TABLA_ORIGEN=bolivia_simplifypolygon # Tabla origen del archivo shapefile
TABLA=muni2002 # Nombre de tabla temporal
# Exportación del Shapefile a PostGIS
shp2pgsql -s 4326 -I -W LATIN1 $SHAPEFILE > /tmp/$TABLA.sql
# Eliminando la tabla existente
psql -U $PGUSER -d $BASE_DATOS -c "DROP TABLE IF EXISTS $TABLA; DROP TABLE IF EXISTS $TABLA_ORIGEN;"
psql -U $PGUSER -d $BASE_DATOS -f /tmp/$TABLA.sql
psql -U $PGUSER -d $BASE_DATOS -c "ALTER TABLE $TABLA_ORIGEN RENAME TO $TABLA;"
psql -U $PGUSER -d $BASE_DATOS -c "ALTER TABLE $TABLA DROP COLUMN geom;"
pg_dump -U $PGUSER $BASE_DATOS -t $TABLA > /tmp/$TABLA.sql
# Eliminar la tabla de la base de datos temporal
psql -U $PGUSER -d $BASE_DATOS -c "DROP TABLE IF EXISTS $TABLA;"
# Cargar la tabla en geoelectoral
psql -U $PGUSER -d $BD_GEOELECTORAL -c "DROP TABLE IF EXISTS $TABLA;"
psql -U $PGUSER -d $BD_GEOELECTORAL -f /tmp/$TABLA.sql
#********************************************************
# Proceso para aquellos DPA con duplicación de codseccion en este caso 021702
# La verificación se realizó de manera manual con consultas sobre la tabla
# $TABLA y se obtuvo el código duplicado
psql -U $PGUSER -d $BD_GEOELECTORAL -c "DELETE FROM $TABLA WHERE codseccion='021702';"
#********************************************************
rm /tmp/$TABLA.sql
# Creación del encabezado para el archivo sql
psql -E -U $PGUSER -q -t -o /tmp/$TABLA.sql -d $BD_GEOELECTORAL << EOF
SELECT 'INSERT INTO resultados(id_eleccion, id_candidato, id_partido, id_tipo_partido, id_dpa, id_tipo_dpa, id_tipo_resultado, resultado) VALUES ';
EOF
# Lista de parámetros:
# $1 id_eleccion
# $2 id_partido
# $3 id_tipo_partido
# $4 id_tipo_resultado
# $5 campo con el nombre del partido
# $6 fecha de la elección
function resultados_muni {
psql -E -U $PGUSER -q -t -o /tmp/$TABLA.tmp.sql -d $BD_GEOELECTORAL << EOF
SELECT DISTINCT
'(' || $1 || ', ' || -- id_eleccion
(SELECT id_candidato FROM candidatos WHERE id_partido=$2 AND id_eleccion=$1 LIMIT 1) || ', ' || -- id_candidato
$2 || ', ' || -- id_partido
$3 || ', ' || -- id_tipo_partido
d.id_dpa || ', ' || -- id_dpa
d.id_tipo_dpa || ', ' || -- id_tipo_dpa
$4 || ', ' || -- id_tipo_resultado
"$5" || '),' -- resultado
FROM "$TABLA" m LEFT JOIN dpa d ON m.codseccion=d.codigo
WHERE fecha_creacion_corte <= '$6' AND '$6' <= d.fecha_supresion_corte;
EOF
cat /tmp/$TABLA.tmp.sql >> /tmp/$TABLA.sql
rm /tmp/$TABLA.tmp.sql
}
# Datos para plurinominales 2002 con id_eleccion = 3
# CONDEPA 46
resultados_muni 3 46 1 1 "condepa" "2002-06-30"
# UCS 67
resultados_muni 3 67 1 1 "ucs" "2002-06-30"
# NFR 11
resultados_muni 3 11 1 1 "nfr" "2002-06-30"
# MCC 9
resultados_muni 3 9 1 1 "mcc" "2002-06-30"
# ADN 26
resultados_muni 3 26 1 1 "adn" "2002-06-30"
# MIR 37
resultados_muni 3 37 1 1 "mir" "2002-06-30"
# MAS 25
resultados_muni 3 25 1 1 "mas" "2002-06-30"
# MIP 60
resultados_muni 3 60 1 1 "mip" "2002-06-30"
# MNR 78
resultados_muni 3 78 1 1 "mnr" "2002-06-30"
# PS 61
resultados_muni 3 61 1 1 "ps" "2002-06-30"
# LJ 8
resultados_muni 3 8 1 1 "lj" "2002-06-30"
# Eliminación de la tabla temporal $TABLA
psql -U $PGUSER -d $BD_GEOELECTORAL -c "DROP TABLE IF EXISTS $TABLA;"
# Eliminando líneas blancas en el archivo y cambiando la última coma por ";"
sed -i '/^$/d' /tmp/$TABLA.sql
sed -i '$s/,$/;/' /tmp/$TABLA.sql
echo
echo "*** Se generó un archivo /tmp/$TABLA.sql con las sentencias SQL. ***"
echo
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment