December 15 2006
Ortofoto de Barcelona a resolución 22K x 20K pixeles (Versión Bash)
Hace unos días mi compañero de trabajo Xavi publico un HOWTO de como hacer una orto foto con PHP y como le prometí después de ver que la gente publicaba versión para VB he hecho el proceso en Bash.
#!/bin/sh
########################
# DEFINICION VARIABLES #
########################
X1=415867;
X2=436155;
Y1=4592290;
Y2=4572066;
ZOOM=1 #1 més petit, 8 més gran
WIDTH=1200; #max 1200
HEIGHT=1000;#max 1000
URL="http://shagrat.icc.es/lizardtech/iserv/getimage? \
cat=orto5m&item=iserv-catalog-index&oif=jpg&geo=true \
&lev=${ZOOM}&wid=${WIDTH}&hei=${HEIGHT}&cp=";
SLEEP_TIME=2;
LOGO_ICC_WIDTH=60;
OFFSET_X=$[$WIDTH-$LOGO_ICC_WIDTH];
OFFSET_Y=$HEIGHT;
CONT=0;
MAX_Y=$[$[$Y1-$Y2]/$OFFSET_Y];
MAX_X=$[$[$X2-$X1]/$OFFSET_X];
echo "total filas: ${MAX_Y}";
echo "total columnas: ${MAX_X}";
for y in `seq 1 $MAX_Y`;
do
coord_y=$[$Y1-$[$y*$OFFSET_Y]];
#Bucle Columnas
for x in `seq 1 $MAX_X`;
do
coord_x=$[$X1-$[$x*$OFFSET_X]];
FILE="ortobarna_col_${x}_fila_${y}.jpg";
echo "Descargando fichero[${CONT}]: ${FILE} - ${URL}${coord_x},${coord_y}";
wget -q -O $FILE "${URL}${coord_x},${coord_y}";
CONT=$[$CONT+1];
#sleep $SLEEP_TIME;
done
done
#LAS RECORTAMOS
mkdir -p out;
for i in `ls *.jpg`;
do
convert $i -crop ${OFFSET_X}x${OFFSET_Y}+0+0 +repage out/$i;
done;
#LAS PEGAMOS
cd out;
for y in `seq 1 $MAX_Y`;
do
convert -append ortobarna_col_${y}_fila_`seq -s, 1 $MAX_X`.jpg col_${y}.jpg
done
#Y LAS RE-PEGAMOS
convert -limit memory 200 +append col_`seq -s, 1 $MAX_Y`.jpg barcelona.jpg