OpenEventDatabase

From OpenStreetMap Wiki
Jump to navigation Jump to search

OpenEventDatabase aka OEDB is a brother project of OpenStreetMap, it enables anyone to share geolocated data about events limited in time, something that OSM is not aiming to provide. Cquest launched the project a few years ago, aiming to build a libre software alternative to Waze, it has evolved to be able to support not only traffic events but any kind of event, also events not located in a particular place. The website is here: https://api.openeventdatabase.org

What kind of Event ?

The goal of OpenEventDatabase is to share geo and time related data thru an open public API.

It tries to answer to what/where/when questions.

The basic data is an Event defined through a geojson paylod.

The geometry part contains the "where" information and the properties part contains the what and when details.

Real-time or "live" events can be shared like traffic informations, jams, accidents. Public transport related events can also be share like delays, cancellations. Safety alerts, weather warnings, are also useful to share. This first set of examples are unscheduled events.

A second type of event are scheduled ones, like public transport timetables, movie times, planned road works, holidays, etc.

The third type of events are the forecast ones, like weather forecast, traffic forecast.

Last type (so far) is observed events like weather temperature.


To enrich our event, we create a geojson we want to send to the database. We add details in the properties attribute, just like in OSM we are free to create properties and should use the already existing one, and discuss their meaning and evolutions.


Here are a few kind of "what" properties we can use:

  • community.osm.event
  • culture.geek
  • culture.art
  • civic.sanitation.garbage
  • emergency.medical
  • emergency.fire
  • music.festival
  • music.concert
  • power.production.unavail
  • sale
  • traffic.accident
  • traffic.roadwork
  • traffic.obstacle
  • tourism.exhibition
  • time.daylight.summer
  • transport.rail.delay
  • weather.storm
  • weather.heat
  • weather.flood

We use the dot character in the value of what to add precision in the category we want to use.

These categories are relatively new, please discuss them to keep them meaningful and limit doubles.


Right now we can see a counting of the existing kinds on this page.

https://oedb.cipherbliss.com/demo/stats

Where do we stop ?

No private information or private events should be shared thru OpenEventDatabase. Copyrighted data cannot be shared due to all legal issues it could generate.

Api Docs

  • Get Events
    • URL: `/event?`
    • Method: GET
    • Description: Retrieves a collection of events based on query parameters.
    • Query Parameters:
      • `what`: Filter events by type (e.g., `sport.match.football`)
      • `when`: Filter events by time period (e.g., `last7days`, `today`, `tomorrow`)
      • `limit`: Maximum number of events to return (default: 100)
      • `bbox`: Bounding box for geographic filtering (format: `min_lon,min_lat,max_lon,max_lat`)
    • Response: GeoJSON FeatureCollection of events.
  • Create Event
    • URL: `/event`
    • Method: POST
    • Description: Creates a new event.
    • Request Body: GeoJSON Feature representing the event.
    • Response: JSON object with the created event ID.
  • Get Event by ID
    • URL: `/event/{id}`
    • Method: GET
    • Description: Retrieves a specific event by its ID.
    • Response: GeoJSON Feature of the requested event.
  • Update Event
    • URL: `/event/{id}`
    • Method: PUT
    • Description: Updates an existing event.
    • Request Body: GeoJSON Feature with updated event data.
    • Response: JSON object with the updated event ID.
  • Delete Event
    • URL: `/event/{id}`
    • Method: DELETE
    • Description: Deletes an event by its ID.
    • Response: JSON object confirming deletion.

DB Schema

Events, archived events, geo referencials. (TODO)

table events, geo, events_deleted and indexes
oedb tables schema

Demo Frontend

This frontend demo by Tykayn wiki (talk) 14:18, 27 September 2025 (UTC) displays current events and allows to create new one, or modify, delete events, filter by category and see statistics. https://oedb.cipherbliss.com/demo

Sources

https://github.com/openeventdatabase/ A pack of python scripts using UWSGI are serving and managing a Postgresql backend. Cronjob are managing data sources to gather new events from particular websites. shows several parts of the project.

Discussion

Here on the french forum https://forum.openstreetmap.fr/t/openeventdatabase-reboot/37649

Linked pages