#!/bin/bash # Reconstructor Maestro del Catálogo SNC (268 municipios) # Uso: ./reconstruct_map.sh < snc_distritos.json 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 # Procesar JSON extraído del SNC grep -o '{"type":"Feature","id":"ly_dist.[0-9]*","geometry":{[^}]*},"geometry_name":"geom","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 # Generar ID administrativo si no hay match MATCH_ID="99${DPTO}${DIST}" fi echo "('$MATCH_ID', '$DPTO', $DIST)," >> $OUTPUT done # Corregir la última coma y cerrar el SQL sed -i '$ s/,$//' $OUTPUT echo ";" >> $OUTPUT echo "Reconstrucción terminada en $OUTPUT"