developmentseed / osm-gradient

Minutely metrics for OpenStreetMap using FlatGeoBuff
https://gradient.osmcha.org
MIT License
4 stars 0 forks source link

Background and Goals #6

Open kamicut opened 1 year ago

kamicut commented 1 year ago

Background

The goal of OSM Tardis is to answer the questions "What if we use cloud native vector formats to parse the minutely replication to prepare stats in the browser?" This would mean the user have to select a bounding box — which then allows us to use things like PMTiles & FlatGeoBuff or GeoParquet.

Goals

This has multiple components:

  1. Creating a pipeline of minutely changeset files and turning them into a cloud native format #3
  2. Selecting the relevant files on the frontend using a UI
  3. Collecting statistics by parsing the files on the frontend and displaying them
  4. (stretch goal) Visualizing change over time inside the bounding box

Resources

[internal] https://github.com/developmentseed/labs/issues/330

@wrynearson @batpad @geohacker for adding more detail to this issue

LanesGood commented 1 year ago

@kamicut can we also structure some product goals for this? What would be a workflow, and is there a frontend envisioned for this tool?

Stated another way re: the goal of the project answering the question: "What if we use cloud native vector formats to parse the minutely replication to prepare stats in the browser?"

LanesGood commented 1 year ago

Additional relevant comparison stats platforms:

A pitch on OSM Tardis should include why the browser-based stats element is an advantage, how the time element is feasible and advantageous, and how/if a user-stats-focused approach is improved.

kamicut commented 1 year ago

After discussion with @LanesGood, we are attempting to create a targeted frontend and workflow for the tool. It's important to focus on the advantages this tool has over other analytics tools.

The deliverables will include 2 services:

Infrastructure API

The advantage of having a cloud native format and a pipeline for generating these files can be highlighted through documentation on how to query the files over space and time. We should generate examples on how to create a stats collector for a group of users, or even distribute a CLI or SDK for interacting with the API.

Frontend UI

This would have the same capabilities as the CLI:

  1. Select an AOI
  2. Calculate statistics over a period of time
  3. Filter for team of users or specific attributes
  4. Display all data added by users over time, maybe visualized using a time slider or some form of recency coloring (color for older features different from color for newer features)
  5. "Select a user" from a sidebar or dropdown and filter out all features not belonging to that user

Some stretch goals