From 03fa396ce65df6a623c1667132c22b232e35d1e1 Mon Sep 17 00:00:00 2001 From: Santiago Crespo Date: Sun, 30 Oct 2022 21:03:00 +0000 Subject: [PATCH] Upload files to 'src/pipelines/fuentes' --- .../fuentes/fuentesaguapotablemadrid.sh | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 src/pipelines/fuentes/fuentesaguapotablemadrid.sh diff --git a/src/pipelines/fuentes/fuentesaguapotablemadrid.sh b/src/pipelines/fuentes/fuentesaguapotablemadrid.sh new file mode 100644 index 0000000..d4cfe7b --- /dev/null +++ b/src/pipelines/fuentes/fuentesaguapotablemadrid.sh @@ -0,0 +1,145 @@ +#!/bin/bash + +# Descarga y transforma fuentes de agua potable +# de los datos abiertos del Ayto de Madrid a +# formato OSM + +# Santiago Crespo 2022 + +date + +# Descarga del rdf con fecha de última actualización +wget -nv https://datos.madrid.es/egob/catalogo/300051-0-fuentes.dcat -O /tmp/fuentes.dcat +MODIFIED=`grep "dct:modified" /tmp/fuentes.dcat | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'` +LASTMODIFIED=`cat lastmodified` + +if [ -z "$LASTMODIFIED" ] ; then + LASTMODIFIED="1900" +fi + +if [ $MODIFIED = $LASTMODIFIED ] ; then + echo "Sin cambios desde la última vez: $LASTMODIFIED" +# exit 1 +fi + +echo $MODIFIED > lastmodified + +URLCSV=`grep csv /tmp/fuentes.dcat | head -n1 | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'` + +DIA=`date +%Y-%m-%d` +HORA=`date +%H-%M-%S` +DIR="$DIA-$HORA" +mkdir $DIR +rm -f current +ln -s $DIR current +cd $DIR + + +echo "Hay actualización, descargando datos..." +wget -nv "$URLCSV" -O fuentes.csv + +echo "Procesando..." +iconv -f ISO-8859-1 -t utf8 fuentes.csv > fuentes-utf8.csv + +# Arreglar coordenadas 4326, parece que la reproyección es correcta, tanto en vías públicas como zonas verdes. filtra 61 fuentes (sin coordenadas?)!!!!!!!!!! +# OLD: CODIGO;COMPLEMENTO DE DIRECCIÓN ;ESTADO;OBSERVACIONES;FECHA DATOS;Longitud;Latitud +# 202209: CODIGO;"ZONA VERDE /VIA PUBLICA";DISTRITO;DIRECCION;COMPLEMENTO DE DIRECCIÓN ;COORD, X;COORD, Y;SISTEMA DE COORDENADAS;FECHA DATOS;Longitud;Latitud + +#perl -pe 's/\.//g' fuentes-utf8.csv | perl -pe 's/;-3/;-3\./g' | perl -pe 's/;40/;40\./g' | awk -F ';' '{print $1";"$5";"$9";"$10";"$11";"$12";"$13}' | grep 40 | grep '\-3' | dos2unix | perl -pe 's/Ð/Ñ/'g > fuentes-4326fix.csv + + +perl -pe 's/\.//g' fuentes-utf8.csv | perl -pe 's/;-3/;-3\./g' | perl -pe 's/;40/;40\./g' | awk -F ';' '{print $1";"$9";"$10";"$11}' | grep 40 | grep '\-3' | dos2unix | perl -pe 's/Ð/Ñ/'g > fuentes-4326fix.csv + +# Separa las que están funcionando y fuera de servicio # 20220914: han quitado esta información :( +grep -v ';FUERA DE SERVICIO;' fuentes-4326fix.csv > fuentes-funcionando.csv +grep ';FUERA DE SERVICIO;' fuentes-4326fix.csv > fuentes-fueradeservicio.csv + +echo '' > fuentes-madrid.osm + +ID="100000001" + +## FUENTES FUNCIONANDO +while IFS='' read -r linea || [[ -n "$linea" ]]; do + REF=`echo $linea | awk -F ';' '{print $1}'` +# COMPLEMENTO=`echo $linea | awk -F ';' '{print $2}'` +# OBSERVACIONES=`echo $linea | awk -F ';' '{print $4}'` + FECHA=`echo $linea | awk -F ';' '{print $2}'` + LONGITUD=`echo $linea | awk -F ';' '{print $3}'` + LATITUD=`echo $linea | awk -F ';' '{print $4}'` + + if [ ! -z "$REF" ] && [ ! -z "$LONGITUD" ] && [ ! -z "$LATITUD" ] ; then + +####### PENDIENTE! Convertir del formato del Ayto + if [[ $FECHA == "1-may-18" ]]; then + FECHA="2018-05-01" + fi + + echo '' >> fuentes-madrid.osm + +# if [[ $COMPLEMENTO == FUENTE* ]]; then +# NOMBRE=$COMPLEMENTO +# echo '' >> fuentes-madrid.osm +# fi + + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo ' ' >> fuentes-madrid.osm + + let "ID++" + fi +done < fuentes-funcionando.csv + + +## FUENTES FUERA DE SERVICIO +# OBSERVACIONES: +#DEFICIENCIA ESTRUCTURAL +#NO APTA CONSUMO +#SIN SUMINISTRO CYII +#VANDALISMO REITERADO +while IFS='' read -r linea || [[ -n "$linea" ]]; do + REF=`echo $linea | awk -F ';' '{print $1}'` + COMPLEMENTO=`echo $linea | awk -F ';' '{print $2}'` + OBSERVACIONES=`echo $linea | awk -F ';' '{print $4}'` + FECHA=`echo $linea | awk -F ';' '{print $5}'` + LONGITUD=`echo $linea | awk -F ';' '{print $6}'` + LATITUD=`echo $linea | awk -F ';' '{print $7}'` + + if [ ! -z "$REF" ] && [ ! -z "$LONGITUD" ] && [ ! -z "$LATITUD" ] ; then + +####### PENDIENTE! Convertir del formato del Ayto + if [[ $FECHA == "1-may-18" ]]; then + FECHA="2018-05-01" + fi + + echo '' >> fuentes-madrid.osm + + if [[ $COMPLEMENTO == FUENTE* ]]; then + NOMBRE=$COMPLEMENTO + echo '' >> fuentes-madrid.osm + fi + + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo '' >> fuentes-madrid.osm + echo ' ' >> fuentes-madrid.osm + + let "ID++" + fi +done < fuentes-fueradeservicio.csv + +#perl -pe 's/visible/version/g' fuentes-madrid.osm | perl -pe 's/true/1/g' > f ; mv f fuentes-madrid.osm # Si no, falla por no tener versión + +echo "" >> fuentes-madrid.osm + +echo "fuentes-madrid.osm generado :)" +exit 0 +