Skip to content

LengthUnit.polyfield_geometry

Field-level detail page. Use the search bar to jump straight to it.

At a glance

  • Model: LengthUnit (MongoDB)
  • App: reference
  • Table/Collection: unit
  • Type: DictField
  • Column/Key: polyfield_geometry
  • Nullable: yes
  • Default: {}

Purpose

What it is. polyfield_geometry is a free-form dictionary on the unit for geometry as the PolyField client supplies it. It is a DictField with no schema: whatever the client sends is stored unchanged, key for key, and read back unchanged.

What reads it. Nothing, today. The Throws map takes its circle radius and sector angle from polyfield_config (or the event code) against the kit's built-in IMPLEMENTS table (static/polyfield/polyfield-throws-map.js:89), so the plot does not consult this field at all. It exists so the client's own geometry survives the round trip to OpenTrack instead of being discarded, and so a later plot could use a non-standard sector — an unusual circle size, or a facility whose measurements differ from the standard — without the client having to resend it.

Why not derive it. Storing the client's numbers rather than recomputing them means a value recorded at the meeting is still there later, even if the rendering rules change. The trade-off is that the field can disagree with what is drawn: if a unit has polyfield_geometry saying one thing and polyfield_config naming another implement, the map follows polyfield_config.

Where it is not. Not a SQL column, not in the unit API payload (the unit serializers neither return nor accept it), and not used by scoring or results. It sits on the mongo unit document alongside polyfield_config and is written, if at all, with the measuring client's unit data rather than through the DR API.

Help text (shown in the admin)

Geometry for the landing plot, as supplied by the measuring client, stored as a free-form dict — no schema is imposed on it. The current throws map does not read it: the circle radius and sector angle come from polyfield_config, or the event code. Kept so the client's own geometry is not lost.

Where is this field used?

References found by scanning the codebase for `polyfield_geometry` (as a whole word):

  • reference/mongo/length.py — lines 154

Where it is defined

  • reference/mongo/length.py, line 154

Generated by docs_models management command — extend the Purpose section by hand if you need to write more detail for this field.