devkit_f2c_planner.f2c_planner
f2c_planner.py ────────────── Field2Cover planning core: lat/lon <-> local-XY projection and the swath generator. Standalone package (devkit_f2c_planner) with no NiceGUI/UI dependency, so any caller can use it.
Originally lived inside devkit_ui/ui_node.py, coupled to the manual-drawing mission workflow. First pulled into devkit_ui/f2c_planner.py so the terrain-aware pipeline (devkit_ui/terrain_mask.py) could share the same projection — anchored at the same lat0/lon0 — without reaching into ui_node’s internals. Promoted to its own package because “planning core” and “web UI” are different concerns with different reasons to change, and nothing about this module actually depends on devkit_ui.
devkit_ui still owns the manual-drawing UI and calls _run_f2c() the same way it always did, now via the devkit_f2c_planner dependency instead of a same-package import.
Functions
|
Field boundary's spatial centroid, in the same local-xy frame _run_f2c()/_run_contour_f2c() use (anchored at corners_ll[0]). |
- devkit_f2c_planner.f2c_planner.field_centroid_xy(corners_ll: list) tuple[float, float][source]
Field boundary’s spatial centroid, in the same local-xy frame _run_f2c()/_run_contour_f2c() use (anchored at corners_ll[0]).
Callers pass this straight through as dem.select_reference_contour_xy()’s centroid_xy argument, to get a reference contour centred on the field — see that function’s docstring for why centring keeps drift symmetric.