Skip to content

Instantly share code, notes, and snippets.

@Nullreff
Last active February 2, 2022 05:57
Show Gist options
  • Save Nullreff/58450117136d55a55f5b61db967dcab9 to your computer and use it in GitHub Desktop.
Save Nullreff/58450117136d55a55f5b61db967dcab9 to your computer and use it in GitHub Desktop.
Generates a skybox image from the space needle panorama
#!/bin/bash -e
# Install dependencies
# sudo apt install -y curl jq imagemagick rclone
# Set up crontab
# 0 * * * * /home/nullreff/spaceneedle/spaceneedle.sh > /home/nullreff/spaceneedle/crontab.log
mkdir -p ~/spaceneedle/
cd ~/spaceneedle/
DAY=$(date -d "$D" '+%d')
MONTH=$(date -d "$D" '+%m')
YEAR=$(date -d "$D" '+%Y')
echo 'Fetching metadata...'
curl 'https://spaceneedledev.com/panocam/data.json' > spaceneedle.json
CHUNK=`jq ".\"$YEAR\".\"$MONTH\".\"$DAY\".times[-1]" spaceneedle.json | sed -e 's/"//g'`
URL="https://www.spaceneedledev.com/panocam/assets/$YEAR/$MONTH/$DAY/$CHUNK"
for i in {0..16}; do
SLICE="$URL/slice$i.jpg"
echo "Downloading $SLICE"
curl $SLICE -o "spaceneedle_slice$i.jpg"
done
echo 'Combining images...'
convert +append \
spaceneedle_slice0.jpg\
spaceneedle_slice1.jpg\
spaceneedle_slice2.jpg\
spaceneedle_slice3.jpg\
spaceneedle_slice4.jpg\
spaceneedle_slice5.jpg\
spaceneedle_slice6.jpg\
spaceneedle_slice7.jpg\
spaceneedle_slice8.jpg\
spaceneedle_slice9.jpg\
spaceneedle_slice10.jpg\
spaceneedle_slice11.jpg\
spaceneedle_slice12.jpg\
spaceneedle_slice13.jpg\
spaceneedle_slice14.jpg\
spaceneedle_slice15.jpg\
spaceneedle_slice16.jpg\
spaceneedle_view.jpg
convert spaceneedle_view.jpg spaceneedle.png
echo 'Copying to web...'
rclone mkdir hosting:/htdocs/files
rclone copy spaceneedle.png hosting:/htdocs/files/
echo 'Done!'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment