API – trajektoria linii

To jest dokumentacja dla wersji 2 API. Dokumentacja dla przestarzałej wersji 1.

Informacje o geograficznym przebiegu linii komunikacji miejskiej.

Zwracane są informacje wyłącznie dla linii, które danego dnia realizują kursy – i jedynie dla wariantów tras obowiązujących w danym dniu.

  • Endpoint: GET https://www.zditm.szczecin.pl/api/v2/trajectories/{lineId}?format=json|cbor (wartość parametru {lineId} można uzyskać korzystając z API dla linii – pole id)
  • Typ danych: application/json (GeoJSON – domyślnie) lub application/cbor (gdy format=cbor)
  • Częstotliwość aktualizacji: raz na dobę

Struktura danych

{
  "type": "FeatureCollection",
  "attributes": {
    "line": {
      "id": 1,
      "number": "1",
      "type": "DAY",
      "subtype": "NORMAL",
      "vehicle_type": "TRAM"
    },
    "updated_at": "2026-06-21T04:01:27.203488Z"
  },
  "features": [
    {
      "type": "Feature",
      "properties": {
        "route_variant_number": 11,
        "route_variant_type": "DEFAULT"
      },
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [
            14.4884117153,
            53.4571634728
          ],

          ...

        ]
      }
    },

    ...

  ]
}
  • string type – zawsze wartość FeatureCollection
  • object attributes – obiekt zawierający metadane dotyczące zwracanej kolekcji tras
    • object line – obiekt zawierający informacje na temat danej linii komunikacji miejskiej
      • int id – identyfikator linii (niezmienny)
      • string number – oznaczenie (numer) linii (może ulegać zmianom)
      • string type – typ linii:
        • DAY – linia dzienna
        • NIGHT – linia nocna
      • string subtype – podtyp linii:
        • NORMAL – linia zwykła
        • SEMI_FAST – linia przyspieszona
        • FAST – linia pospieszna
        • REPLACEMENT – linia zastępcza
        • ADDITIONAL – linia dodatkowa
        • SPECIAL – linia specjalna
        • TOURIST – linia turystyczna
      • string vehicle_type – rodzaj trakcji:
        • SKM – pociąg SKM
        • TRAM – tramwaj
        • BUS – autobus
    • string updated_at – moment ostatniej aktualizacji danych
  • array features – tablica zawierająca przebieg poszczególnych tras linii
    • string type – zawsze wartość Feature
    • object properties – obiekt zawierający informacje na temat danej trasy
      • int route_variant_number – numer trasy dla linii (liczba nieparzysta oznacza kierunek TAM, a liczba parzysta – kierunek POWRÓT)
      • string route_variant_type – typ trasy:
        • DEFAULT – trasa domyślna (podstawowa)
        • NORMAL – trasa zwykła
        • OTHER – trasa inna (dojazd lub zjazd do zajezdni)
    • object geometry – obiekt zawierający trajektorię danej trasy
      • string type – zawsze wartość LineString
      • array coordinates – tablica zawierająca współrzędne geograficzne kolejnych punktów trasy (długość geograficzna, szerokość geograficzna)

Informacje ogólne

  1. Dane udostępniane są bezpłatnie na licencji CC0 1.0, do wykorzystania w dowolnym celu, a ich użycie nie wymaga wcześniejszego zgłoszenia.
  2. Zarząd Dróg i Transportu Miejskiego w Szczecinie nie gwarantuje, że udostępniane dane są prawidłowe i kompletne. Nie ponosi również odpowiedzialności za szkody lub niewłaściwe decyzje podjęte na ich podstawie.
  3. W produkcie korzystającym z danych (aplikacja, strona internetowa, publikacja itp.) prosimy o podanie źródła danych, tj. Zarząd Dróg i Transportu Miejskiego w Szczecinie lub – w formie skróconej – ZDiTM Szczecin, ale nie jest to wymóg prawny.
  4. W produkcie korzystającym z danych (aplikacja, strona internetowa, publikacja itp.) prosimy o – jeżeli jest to możliwe – umieszczenie odsyłacza do niniejszej strony lub do strony głównej, ale nie jest to wymóg prawny.
  5. Klient powinien rozpoznawać i honorować nagłówki HTTP Cache-Control i ETag.
  6. Liczba żądań do API jest limitowana. Limit jest wspólny dla wszystkich endpointów i wynosi 100 żądań na minutę na adres IP. Nagłówek X-RateLimit-Remaining zawiera liczbę żądań pozostałych w ramach dostępnego limitu. Po wyczerpaniu limitu zwracany jest kod odpowiedzi HTTP 429. Nagłówek odpowiedzi X-RateLimit-Reset zawiera wówczas uniksowy timestamp równy czasowi zresetowania limitu, a nagłówek Retry-After zawiera liczbę sekund pozostałych do zresetowania limitu.
  7. Jeżeli to możliwe, prosimy o umieszczenie w nagłówku User-Agent żądania informacji o podmiocie korzystającym z danych (np. nazwa aplikacji, strony internetowej, adres URL).
  8. W przypadku nadmiernego obciążania serwera ZDiTM Szczecin zastrzega sobie prawo do częściowego lub całkowitego zablokowania dostępu do API.

Migracja z wersji 1

  1. Endpoint zmieniono na: GET https://www.zditm.szczecin.pl/api/v2/trajectories/{lineId}.
  2. Dodano pole attributes.line.
  3. Pola attributes.line_id, attributes.line_number, attributes.line_type, attributes.line_subtype i attributes.vehicle_type zostały przeniesione do nowego obiektu attributes.line.
  4. Wartości pól attributes.line.type, attributes.line.subtype, attributes.line.vehicle_type oraz features.properties.route_variant_type zwracane są w konwencji UPPER_SNAKE_CASE.
  5. Obsługiwany jest dodatkowo format CBOR (application/cbor) poprzez parametr format=cbor.