UCSD-E4E / radio-telemetry-tracker-drone-gcs

0 stars 0 forks source link

Setup a Ground Control Stack #2

Open TylerFlar opened 1 day ago

TylerFlar commented 1 day ago

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:

  1. Device Communication
    • MUST: Allow selection of a communication device on Linux and Windows, SHOULD: on Mac..
  2. GIS Map Interface
    • MUST: Provide a GIS-like map GUI.
    • MUST: Open and display GeoTIFF as a base layer, MAY: convert GeoTIFF for compatibility.
  3. GeoJSON Handling
    • MUST: Open GeoJSON shapes and display markers in long/lat coordinates.
    • MUST: Export shape data as GeoJSON.
  4. Offline Support
    • MUST: Work offline, MAY: require internet for initial setup.
  5. 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

  1. 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.
  2. Create a Demo:
    • Implement a basic application that satisfies the core requirements (device selection, GeoTIFF, GeoJSON, etc.) using the chosen stack.

Deliverables

TylerFlar commented 17 hours ago

Possible offline solutions: