Archiwum zdarzeń

Wszystkie zdarzenia generowane w symulacji są na bieżąco archiwizowane jako skompresowane pliki JSON i publicznie dostępne pod adresem:

https://events.gorzow.co.pl/

Listowanie katalogów jest wyłączone. Aby pobrać plik, musisz znać jego pełny url.


Indeks dzienny

Listę plików ze zdarzeniami znajdziesz w pliku o schemacie nazwy:

https://events.gorzow.co.pl/YYYYMMDD.txt

A więc dzisiejszy indeks jest dostępny konkretnie pod adresem:

https://events.gorzow.co.pl/20260402.txt

Jest to plik tekstowy — jeden plik JSON na linię, w kolejności zapisu:

20260329/22/16/1774296531-1100001.json.gz
20260329/22/16/1774296720-1102001.json.gz
20260329/22/16/1774296901-1104001.json.gz
20260329/22/16/1774297071-1106001.json.gz
...

Plik jest dopisywany na bieżąco — można go pobierać wielokrotnie i porównywać z poprzednią wersją, żeby znaleźć nowe pozycje.


Pliki archiwów

https://events.gorzow.co.pl/YYYYMMDD/HH/MM/{t_start}-{first_seq}.json.gz
SegmentZnaczenie
YYYYMMDDData ścienna zapisu pliku przez reader
HH/MMGodzina i minuta ścienna zapisu
t_startUnix timestamp pierwszego zdarzenia w pliku (czas symulacji)
first_seqNumer sekwencyjny pierwszego zdarzenia

Pliki są skompresowane gzip. Większość klientów HTTP (curl, wget, fetch z Accept-Encoding: gzip) rozpakuje je automatycznie. Można też pobrać surowy plik i rozpakować ręcznie:

curl -L https://events.gorzow.co.pl/20260329/22/16/1774296901-1104001.json.gz | gunzip | jq .

Format JSON

Każdy plik to obiekt JSON z kluczami:

KluczTypOpis
t_startintUnix timestamp pierwszego zdarzenia (czas symulacji, UTC)
t_start_isostringTen sam timestamp jako YYYY-MM-DD HH:MM:SS UTC
countintLiczba zdarzeń w pliku (max 2000)
eventsarrayLista zdarzeń (patrz niżej)

Każde zdarzenie w tablicy events:

KluczTypOpis
seqintGlobalny numer sekwencyjny zdarzenia
type_codeintKod aktywności EVT_* (np. 403, 801)
type_namestringPolska nazwa aktywności
t_startintCzas rozpoczęcia (Unix, czas symulacji)
t_endintCzas zakończenia (Unix, czas symulacji)
duration_sintCzas trwania w sekundach (t_end − t_start)
personobjectGłówna osoba: id, name, pesel, gender
person2object|nullDruga osoba (partner, współuczestnik) lub null
extrasarrayDodatkowe osoby (np. dzieci przy narodzinach)
loc_fromobjectLokalizacja startowa: unit_id, building_id, address
loc_toobjectLokalizacja docelowa (tożsama z loc_from gdy brak przemieszczenia)

Przykład

Fragment pliku 20260329/22/16/1774296901-1104001.json.gz — zdarzenia #1104005 i #1104006:

{
  "t_start": 1774296901,
  "t_start_iso": "2026-03-23 20:15:01",
  "count": 2000,
  "events": [
    ...,
    {
      "seq": 1104005,
      "type_code": 801,
      "type_name": "Czekanie na partnera",
      "t_start": 1774296902,
      "t_end": 1774296962,
      "duration_s": 60,
      "person": {
        "id": 27877,
        "name": "Mariusz Miszczyk",
        "pesel": "72050400024",
        "gender": 0
      },
      "person2": {
        "id": 13934,
        "name": "Renata Hauke",
        "pesel": "83052200017",
        "gender": 1
      },
      "extras": [],
      "loc_from": {
        "unit_id": 57943,
        "building_id": 1489,
        "address": "ul. Spółdzielców 73, Zawarcie"
      },
      "loc_to": {
        "unit_id": 57943,
        "building_id": 1489,
        "address": "ul. Spółdzielców 73, Zawarcie"
      }
    },
    {
      "seq": 1104006,
      "type_code": 403,
      "type_name": "Seks (w domu)",
      "t_start": 1774296902,
      "t_end": 1774298498,
      "duration_s": 1596,
      "person": {
        "id": 82333,
        "name": "Laura Żegleń",
        "pesel": "92092700032",
        "gender": 1
      },
      "person2": {
        "id": 82334,
        "name": "Sylwester Żegleń",
        "pesel": "93071400129",
        "gender": 0
      },
      "extras": [],
      "loc_from": {
        "unit_id": 16959,
        "building_id": 332,
        "address": "ul. Przy Stadionie 41, Staszica"
      },
      "loc_to": {
        "unit_id": 16959,
        "building_id": 332,
        "address": "ul. Przy Stadionie 41, Staszica"
      }
    },
    ...
  ]
}