Skip to content

How does everything fit together?

The HOT Tech Team is working to improve the user experience across multiple tools, and working towards an end to end data flow between projects.

During disaster response, or a humanitarian mapping campaign, a project manager or mapper may require:

  • High quality base imagery.
  • Remotely mapped features, derived from this imagery.
  • Field-verified information about these features.
  • Data exported in a useful format for further analysis.

The goal of our proposed E2E Flow is to fill in these gaps to aid an effective response.

E2E

1. Imagery

flowchart LR
  subgraph FlightApps["Flight Apps"]
    subgraph Proprietary["Proprietary"]
      direction TB
      DroneDeploy@{ img: "/images/logos/dronedeploy-logo.svg", label: "DroneDeploy", pos: "b", w: 120, h: 50 }
      Litchi@{ img: "/images/logos/litchi-logo.png", label: "Litchi", pos: "b", w: 92, h: 50 }
      DJIFly@{ img: "/images/logos/dji-logo.svg", label: "DJI Fly", pos: "b", w: 92, h: 50 }
    end
    subgraph OpenGCS["Open-Source / MAVLink"]
      direction TB
      QGroundControl@{ img: "/images/logos/qgroundcontrol-logo.svg", label: "QGroundControl", pos: "b", w: 52, h: 52 }
    end
  end

  subgraph Capture["Capture"]
    direction TB
    Drones@{ img: "/images/logos/drone-icon.svg", label: "Drones", pos: "b", w: 56, h: 56 }
    DGPS@{ img: "/images/logos/transmitter.svg", label: "DGPS Receiver", pos: "b", w: 52, h: 52 }
  end

  subgraph HOT["Maintained by HOT"]
    direction TB
    DroneTM@{ img: "/images/logos/dronetm-logo.svg", label: "DroneTM", pos: "b", w: 50, h: 46 }
    ScaleODM@{ img: "/images/logos/hot-logo.svg", label: "ScaleODM", pos: "b", w: 96, h: 58 }
  end

  subgraph Processing["Processing"]
    direction TB
    ODM@{ img: "/images/logos/odm-logo.svg", label: "OpenDroneMap", pos: "b", w: 120, h: 40 }
  end

  OAM@{ img: "/images/logos/oam-logo.svg", label: "OpenAerialMap", pos: "b", w: 56, h: 56 }
  Satellite@{ img: "/images/logos/satellite-icon.svg", label: "Open Satellite Imagery", pos: "b", w: 54, h: 54 }

  DroneTM -- "Waypoint file" --> DroneDeploy
  DroneTM -- "Waypoint file" --> Litchi
  DroneTM -- "Waypoint file" --> DJIFly
  DroneTM -- "Waypoint file" --> QGroundControl
  DroneDeploy -- "Flight control" --> Drones
  Litchi -- "Flight control" --> Drones
  DJIFly -- "Flight control" --> Drones
  QGroundControl -- "Flight control" --> Drones
  DGPS -- "Ground Control Points" --> DroneTM
  Drones -- "Raw imagery" --> DroneTM
  DroneTM -- "Photos + metadata" --> ScaleODM
  ScaleODM -- "Autoscaled tasks" --> ODM
  ODM -- "Processed imagery" --> OAM
  DroneTM -- "Imagery Metadata" --> OAM
  Satellite -- "Basemap imagery" --> OAM

  style HOT fill:#FDD0D6,stroke:#D73F3F,stroke-width:2px
  style FlightApps fill:#FFF59B,stroke:#FAA71E,stroke-width:2px
  style Proprietary fill:#FFF9C3,stroke:#FAA71E,stroke-width:1px
  style OpenGCS fill:#FFF9C3,stroke:#FAA71E,stroke-width:1px
  style Capture fill:#FFF59B,stroke:#FAA71E,stroke-width:2px
  style Processing fill:#FFF59B,stroke:#FAA71E,stroke-width:2px

2. Remote Mapping

flowchart LR
  subgraph HOT["Maintained by HOT"]
    direction TB
    OAM@{ img: "/images/logos/oam-logo.svg", label: "OpenAerialMap", pos: "b", w: 56, h: 56 }
    FAIR@{ img: "/images/logos/hot-logo.svg", label: "fAIr", pos: "b", w: 96, h: 58 }
    TM@{ img: "/images/logos/hot-logo.svg", label: "Tasking Manager", pos: "b", w: 96, h: 58 }
    Sandbox@{ img: "/images/logos/generic-data-icon.svg", label: "OSM Sandbox", pos: "b", w: 48, h: 48 }
    RawDataAPI@{ img: "/images/logos/hot-logo.svg", label: "Raw Data API", pos: "b", w: 96, h: 58 }
    ExportTool@{ img: "/images/logos/hot-logo.svg", label: "Export Tool", pos: "b", w: 96, h: 58 }
  end

  subgraph External["External Ecosystem"]
    direction TB
    MapSwipe@{ img: "/images/logos/mapswipe-logo.svg", label: "MapSwipe", pos: "b", w: 54, h: 54 }
    Rapid@{ img: "/images/logos/rapid-logo.png", label: "Rapid", pos: "b", w: 96, h: 40 }
    OtherSources@{ img: "/images/logos/generic-data-icon.svg", label: "Other Data Sources", pos: "b", w: 48, h: 48 }
    Overture@{ img: "/images/logos/overture-logo.svg", label: "Overture", pos: "b", w: 52, h: 50 }
  end

  OSM@{ img: "/images/logos/osm-logo.svg", label: "OpenStreetMap", pos: "b", w: 80, h: 80 }

  OAM -- "1. Imagery context" --> FAIR
  MapSwipe -- "2. Training / validation data" --> FAIR
  FAIR -- "3. Model predictions" --> TM
  FAIR -. "3. Direct features (no TM)" .-> Rapid
  OSM -- "4a. Existing map data" --> TM
  Overture -- "4b. Reference data" --> TM
  OtherSources -- "4c. Additional data" --> TM
  TM -. "5. Optional validation" .-> MapSwipe
  TM -- "6. Conflation UI" --> Rapid
  TM --> Sandbox
  Rapid -- "7. Mapped output" --> OSM
  OSM --> RawDataAPI --> ExportTool

  style HOT fill:#FDD0D6,stroke:#D73F3F,stroke-width:2px
  style External fill:#FFF59B,stroke:#FAA71E,stroke-width:2px

3. Field Mapping

flowchart LR
  OAM@{ img: "/images/logos/oam-logo.svg", label: "OpenAerialMap", pos: "b", w: 56, h: 56 }

  subgraph HOT["Maintained by HOT"]
    direction TB
    FieldTM@{ img: "/images/logos/hot-logo.svg", label: "Field Mapping TM", pos: "b", w: 96, h: 58 }
  end

  subgraph Mobile["Mobile Data Collection"]
    direction TB
    ODK@{ img: "/images/logos/odk-logo.svg", label: "ODK", pos: "b", w: 100, h: 55 }
    KoBoToolbox@{ img: "/images/logos/kobotoolbox-logo.svg", label: "KoBoToolbox", pos: "b", w: 54, h: 54 }
    QField@{ img: "/images/logos/qgis-logo.svg", label: "QField", pos: "b", w: 54, h: 54 }
    ChatMap@{ img: "/images/logos/hot-logo.svg", label: "ChatMap", pos: "b", w: 96, h: 58 }
    ONA@{ img: "/images/logos/ona.io-logo.png", label: "ONA", pos: "b", w: 52, h: 52 }
  end

  Panoramax@{ img: "/images/logos/panoramax-logo.svg", label: "Panoramax", pos: "b", w: 52, h: 52 }
  OSM@{ img: "/images/logos/osm-logo.svg", label: "OpenStreetMap", pos: "b", w: 80, h: 80 }

  OAM -- "Imagery basemap" --> FieldTM
  FieldTM -- "Coordinate Mapping Project" --> ODK
  FieldTM --> KoBoToolbox
  FieldTM --> QField
  FieldTM --> ChatMap
  FieldTM --> ONA
  ODK -. "Street imagery" .-> Panoramax
  KoBoToolbox --> Panoramax
  QField --> Panoramax
  ChatMap --> Panoramax
  ONA --> Panoramax
  Panoramax -- "ML-extracted tags" --> OSM
  FieldTM -- "Geometries and Tags" --> OSM

  style HOT fill:#FDD0D6,stroke:#D73F3F,stroke-width:2px
  style Mobile fill:#FFF59B,stroke:#FAA71E,stroke-width:2px

4. Data Insights

flowchart LR
  OSM@{ img: "/images/logos/osm-logo.svg", label: "OpenStreetMap", pos: "b", w: 80, h: 80 }

  subgraph HOT["Maintained by HOT"]
    direction TB
    RawDataAPI@{ img: "/images/logos/hot-logo.svg", label: "Raw Data API", pos: "b", w: 96, h: 58 }
    ExportTool@{ img: "/images/logos/hot-logo.svg", label: "Export Tool", pos: "b", w: 96, h: 58 }
  end

  subgraph Analytics["Analytics"]
    ohsomeNow@{ img: "/images/logos/ohsomenow-logo.svg", label: "ohsomeNow Statistics", pos: "b", w: 120, h: 35 }
  end

  subgraph Outputs["Visualisation & Distribution"]
    direction TB
    HDX@{ img: "/images/logos/humdata-logo.svg", label: "Humanitarian Data Exchange", pos: "b", w: 70, h: 68 }
    QGIS@{ img: "/images/logos/qgis-logo.svg", label: "QGIS", pos: "b", w: 54, h: 54 }
    UMap@{ img: "/images/logos/umap-logo.svg", label: "uMap", pos: "b", w: 60, h: 60 }
  end

  OSM -- "Software queries" --> RawDataAPI
  OSM -- "Historical analysis" --> ohsomeNow
  RawDataAPI -- "Human exports" --> ExportTool
  ExportTool -- "Humanitarian datasets" --> HDX
  ExportTool -- "GIS data" --> QGIS
  ExportTool -- "Map layers" --> UMap
  ohsomeNow -- "Statistics & trends" --> QGIS

  style HOT fill:#FDD0D6,stroke:#D73F3F,stroke-width:2px
  style Analytics fill:#FFF59B,stroke:#FAA71E,stroke-width:2px
  style Outputs fill:#FFF59B,stroke:#FAA71E,stroke-width:2px