Observation log: record the full optical train (telescope, filter, amplifier), local time, location name and SQM in the log and TSV

Aperta
#669 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python, raspberry-pi

Direzione di ricerca

Start with ui/log.py to see how observation metadata is assembled, then inspect db/observations_db.py for TSV export and schema-version handling. Trace Equipment and the shared SQM state served by /api/sqm before changing storage or UI fields. Done means equipment, session/time, location, SQM, and magnification are recorded and exported as usable TSV columns, with schema version 3 preserving older rows.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

A rev4 owner who plans sessions with custom observing lists, logs each object on the PiFinder, and then imports the observations TSV into their own viewing log sent a set of requests. The goal is a log that only needs the moon phase and their own notes added by hand. There are two parts: log the full optical train (telescope, filter, amplifier, eyepiece), and add a few session and time fields to the log screen and the TSV.

What a logged observation stores today (local checkout, 7eaf058c):

  • ui/log.py builds notes JSON (schema_ver 2) with transparency, seeing, eyepiece ("<focal_length>mm <name>"), observability and appeal. The active telescope is not recorded, even though Equipment has one.
  • observations_as_tsv() (db/observations_db.py) writes these columns: Session_ID, Session_Start_Time, Session_Time_Zone, Session_Lat, Session_Lon, Observation_Time, Catalog, Sequence, Notes. The conditions and eyepiece reach the TSV only inside the Notes JSON.

Requested, for the log screen and the TSV:

Equipment:

  • Filter as a new equipment category, managed like eyepieces (web UI and on-device selection).
  • Amplifier as a new equipment category (Barlows, extenders, correctors, for example Powermate and Paracorr), with its factor.
  • Record the active telescope, filter and amplifier with each observation, next to the eyepiece.
  • Magnification for each observation, calculated from telescope focal length, amplifier factor and eyepiece focal length.

Session and time:

  • Location name for the session (the lat/lon is already recorded).
  • Session start time in both UTC and local time.
  • Observation time in both UTC and local time.
  • A numeric local time offset (for example -04:00) next to the IANA time zone. The user's import runs on Windows, which can't use America/New_York directly and needs Eastern Standard Time, so a plain offset is the portable field.

Sky:

  • The SQM value at the time of each observation (the shared state already has an SQM reading, served at /api/sqm).

Already recorded, keep as is: lat/lon, session start time, observation time, eyepiece, seeing, transparency, observability, appeal.

Notes for whoever picks this up:

  • Giving the optical-train fields and the conditions their own TSV columns, instead of leaving them in the Notes JSON, would make the export usable in a spreadsheet without parsing. A notes schema bump (schema_ver 3) keeps older rows readable.
  • Check which time the existing Observation_Time column holds before adding the UTC and local pair. The DB column is obs_time_local, but the value is a Unix timestamp rendered with datetime(..., "unixepoch").
Lingua principale
Jupyter Notebook
Stelle
253
Fork
63
Merge medio
11h 55m
PR unite (30g)
8

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di brickbots/PiFinder

Tutte le issue di brickbots/PiFinder

Issue simili

Altre issue su Databases

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.