rebuild_catalog_v3.sh 1.35 KB
#!/bin/bash
# Reconstructor Maestro del Catálogo SNC (268 municipios) - VERSIÓN ULTRA-ROBUSTA
ENTIDADES="/yvyape/proyectos/sigem-gis/sigem_entidades.txt"
JSON="/yvyape/proyectos/sigem-gis/snc_distritos.json"
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

# Fragmentar el JSON y extraer Códigos y Nombres
# Buscamos "properties":{"nom_dist":"...","cod_dist":...,"cod_dpto":"..."}
grep -o '"nom_dist":"[^"]*","cod_dist":[0-9]*,"cod_dpto":"[^"]*"' $JSON | while read line; do
    NOMBRE=$(echo $line | cut -d'"' -f4 | tr '[:lower:]' '[:upper:]')
    DIST=$(echo $line | grep -o '"cod_dist":[0-9]*' | cut -d':' -f2)
    DPTO=$(echo $line | grep -o '"cod_dpto":"[^"]*"' | cut -d'"' -f4)
    
    # Buscar match en el archivo de Entidades SIGEM
    SEARCH_NAME=$(echo $NOMBRE | sed 's/A/./g;s/E/./g;s/I/./g;s/O/./g;s/U/./g')
    MATCH_ID=$(grep -i "$SEARCH_NAME" $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
echo "Proceso terminado."
GitLab Appliance - Powered by TurnKey Linux