Time Sync Plus (TS+) is a web-based application for visualizing and attributing vector data using satellite imagery and spectral time series. It is designed to support image interpretation workflows used in monitoring landscape change detection, and quality assurance.
-
Interactive plot-based interpretation of Landsat time series
-
Side-by-side comparison with high-resolution NAIP imagery
-
Custom attribution using dropdowns, sliders (Dial), proportional inputs (Prop), and comment fields
-
Local or remote storage and retrieval of plot-level attribution using SQLite
-
User session tracking based on IP address and user name
-
Support for re-evaluation workflows (QA/QC and training)
-
Frontend: HTML, CSS (Bootstrap), JavaScript (jQuery, D3, Leaflet)
-
Backend: PHP
-
Database: SQLite
-
Data Processing: Python (with GDAL and Earth Engine API)
TSPO/
├── data/ # SQLite databases (created from polygons)
├── db/ # SQLite databases (created from polygons)
├── json/ # GeoJSON vector data exported from GEE
├── tms/ # Tile Mapping Service (TMS) output from Landsat/NAIP imagery
├── fromGEE/ # Landing point for data from Goolge Earth Engine
├── index.html # Main TS+ web interface
├── js/ # Client-side JavaScript scripts
├── php/ # Backend logic (session, DB I/O)
└── ... `
Use the tspo_expo/ folder as a template for your own project. It includes subfolders for data, a sample config file, and placeholder imagery.
Use the GEE Download Guide to:
-
Export vector plots (GeoJSON)
-
Export multi-band annual Landsat composites (RGB654, RGB543, RGB432, RGBTC)
In the GEE download guide above, you'll get instructions to set up:
-
Earth Engine API
-
ltgee package
-
A working Python environment (conda create -n tspo_env python=3.10)
Generate a local SQLite database using your GeoJSON and a config.json file.
python 01_geojsonToDB.py <path/to/project_directory> <project_name>
See the Database Setup Guide for detailed instructions.
Generate web tiles for Landsat or high-resolution imagery:
python genTMS.py <start_year> <end_year> <zoom_min> <zoom_max>
Example:
python genTMS.py /full/path/to/data/tspo_expo/tms/ 1995 2024 9 16 "EPSG:4326"
See the TMS Setup Guide for details.
Once data and tiles are ready, launch the application by opening index.html in a browser, or configure it to run on a local server with PHP support.
For advanced configuration, attribution logic, and developer notes, see the docs/ folder or explore the Application Usage Guide.