From 2faf722f0324fc158170a30e3b0cec0f6377c3d0 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Sat, 29 Nov 2025 17:42:21 -0600 Subject: [PATCH] Add 2025 Texas Trahan Thanksgiving trip --- layers/trips/index.js | 5 ++++ .../get_data.sh | 9 +++++++ .../trahan-texas-thanksgiving-2025/layer.js | 26 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100755 layers/trips/trahan-texas-thanksgiving-2025/get_data.sh create mode 100644 layers/trips/trahan-texas-thanksgiving-2025/layer.js diff --git a/layers/trips/index.js b/layers/trips/index.js index a03a3ba..a072c81 100644 --- a/layers/trips/index.js +++ b/layers/trips/index.js @@ -1,4 +1,5 @@ import ncAug2023 from './trahan-north-carolina-august-2023/layer.js' +import texas2025 from './trahan-texas-thanksgiving-2025/layer.js'; const trips = { name: "Trips", @@ -7,6 +8,10 @@ const trips = { name: "North Carolina 2023-08 with Trahans", layer: ncAug2023, }, + { + name: "Texas Thanksgiving 2025 with Trahans", + layer: texas2025, + }, ], }; diff --git a/layers/trips/trahan-texas-thanksgiving-2025/get_data.sh b/layers/trips/trahan-texas-thanksgiving-2025/get_data.sh new file mode 100755 index 0000000..d615762 --- /dev/null +++ b/layers/trips/trahan-texas-thanksgiving-2025/get_data.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FROM="2025-11-22T13:00:00.000Z" +TO="2025-11-28T19:30:00.000Z" +URL="https://whereis.chandlerswift.com/api/0/locations?from=$FROM&to=$TO&format=geojson&user=chandler&device=oneplus9" + +curl --silent "$URL" \ + | python "$(dirname $0)/../../../util/process_owntracks_geojson_to_line.py" \ + > data.geojson diff --git a/layers/trips/trahan-texas-thanksgiving-2025/layer.js b/layers/trips/trahan-texas-thanksgiving-2025/layer.js new file mode 100644 index 0000000..ae41654 --- /dev/null +++ b/layers/trips/trahan-texas-thanksgiving-2025/layer.js @@ -0,0 +1,26 @@ +import VectorLayer from 'ol/layer/Vector'; +import {Vector as VectorSource} from 'ol/source.js'; +import GeoJSON from 'ol/format/GeoJSON.js'; + +import {Style, Stroke} from 'ol/style.js'; + +import url from './data.geojson?url'; // TODO: remove `?url`? + +const colors = '204, 85, 0'; // Käthe says burnt orange + +const vectorLayer = new VectorLayer({ + source: new VectorSource({ + url: url, + format: new GeoJSON, + }), + style: function(feature, resolution){ + return new Style({ + stroke: new Stroke({ + color: `rgba(${colors},${Math.min(1, Math.pow(resolution/10, 1/4))})`, + width: 10/Math.pow(resolution, 1/4), + }) + }); + }, +}); + +export default vectorLayer;