rebuild_catalog_v2.sh
1.2 KB
#!/bin/bash
# Reconstructor Maestro del Catálogo SNC (268 municipios) - VERSIÓN ROBUSTA
ENTIDADES="/yvyape/proyectos/sigem-gis/sigem_entidades.txt"
OUTPUT="/yvyape/proyectos/sigem-gis/reconstruccion_maestra_268.sql"
echo "DELETE FROM public.snc_catalog_mapping;" > $OUTPUT
echo "INSERT INTO public.snc_catalog_mapping (entidad_id, dpto_snc, dist_snc) VALUES " >> $OUTPUT
# Extraer solo el bloque de propiedades de cada distrito
grep -o '"properties":{[^}]*}' /yvyape/proyectos/sigem-gis/snc_distritos.json | while read line; do
DPTO=$(echo $line | sed -n 's/.*"cod_dpto":"\([^"]*\)".*/\1/p')
DIST=$(echo $line | sed -n 's/.*"cod_dist":\([0-9]*\).*/\1/p')
NOMBRE=$(echo $line | sed -n 's/.*"nom_dist":"\([^"]*\)".*/\1/p' | tr '[:lower:]' '[:upper:]')
# Buscar match en el archivo de Entidades SIGEM
MATCH_ID=$(grep -i "$(echo $NOMBRE | sed 's/A/./g;s/E/./g;s/I/./g;s/O/./g;s/U/./g')" $ENTIDADES | head -n 1 | cut -d'|' -f1)
if [ -z "$MATCH_ID" ]; then
MATCH_ID="99${DPTO}${DIST}"
fi
if [ ! -z "$DPTO" ] && [ ! -z "$DIST" ]; then
echo "('$MATCH_ID', '$DPTO', $DIST)," >> $OUTPUT
fi
done
# Corregir la última coma
sed -i '$ s/,$//' $OUTPUT
echo ";" >> $OUTPUT