To make the ground control software platform-agnostic and easier to install, we need to move away from QGIS and PyQt while maintaining some key features of the QGIS library. Since no clear stack exists for this yet, thee will need to explore different technologies to find the best approach.
Requirements
The following are the application requirements, categorized by priority:
Device Communication
MUST: Allow selection of a communication device on Linux and Windows, SHOULD: on Mac..
GIS Map Interface
MUST: Provide a GIS-like map GUI.
MUST: Open and display GeoTIFF as a base layer, MAY: convert GeoTIFF for compatibility.
GeoJSON Handling
MUST: Open GeoJSON shapes and display markers in long/lat coordinates.
MUST: Export shape data as GeoJSON.
Offline Support
MUST: Work offline, MAY: require internet for initial setup.
Cross-platform
SHOULD: Run in a web browser.
Tech Stack
MUST: Use Python for backend.
SHOULD: Use Poetry for package management.
MAY: Use Node.js and/or HTML/CSS/JS, React, etc.
Tasks
Explore Options:
Investigate different stacks and tools, e.g., Flask for the backend and libraries like Leafmap, Folium, or Leaflet.js for mapping. Consider offline capabilities or alternative non-browser front-ends.
Create a Demo:
Implement a basic application that satisfies the core requirements (device selection, GeoTIFF, GeoJSON, etc.) using the chosen stack.
Deliverables
Running code committed to the dev branch that meets the requirements outlined above.
Objective
To make the ground control software platform-agnostic and easier to install, we need to move away from QGIS and PyQt while maintaining some key features of the QGIS library. Since no clear stack exists for this yet, thee will need to explore different technologies to find the best approach.
Requirements
The following are the application requirements, categorized by priority:
Tasks
Deliverables