Liikenne Digitransit-palveluun on aina https-salattu. Voit valita vapaasti palvelusi domain-nimen (esim. https://reittiopas.kaupunki.fi), jolloin tarvitsemme TLS-sertifikaatin, joka sinun tulee hankkia. Voit myös käyttää https://kaupunki.digitransit.fi -osoitetta, jolloin erillistä sertifikaattia ei tarvita. Kuvaa/toimita:
Digitransit-palvelu integroi reittidatasi GTFS-muodossa. Tiedot on mahdollista myös noutaa Waltti-järjestelmästä. Kuvaa:
Varmista, että GTFS-paketin data on kunnossa käyttämällä esimerikiksi Googlen GTFS-validaattoria:
./feedvalidator.py -m <gtfs.zipin polku>
Määritä reittidatastasi löytyvät kulkumuodot. Valittujen kulkumuotojen perusteella käyttäjä voi rajata liikennetarjontaa. Kuvaa kullekin seuraavista kulkumuodoista onko sille tarvetta:
Määritä kartalta rajat osoitehaulle. Digitransit-palveluun konfiguroidaan suorakaiteen muotoinen alue, jonka sisältä käyttäjän syöttämiä osoitteita etsitään. Kuvaa:
Voit myös määrittää hakualueen monikulmiona. Jotta haussa siirretty tietomäärä pysyisi kompaktina, suositeltu monikulmion pistemäärä on alle 50 pistettä, ja koordinaattien tarkkuus enintään 5 desimaalia.
Digitransit-käyttöliittymä yrittää aina paikantaa käyttäjän. Mikäli paikannus ei onnistu, valitaan joissain näkymissä viitepaikaksi määrittelemäsi piste. Kuvaa:
Digitransit-käyttöliittymä on muokattavissa logon ja värimaailman osalta. Kuvaa/lähetä:
Huom! Värimaailma, logo ja tekstit toteutetaan niiltä osin kuin se on mahdollista. Tämä voi tarkoittaa, ettei toiveitasi pystytä kaikilta osin täyttämään.
Kuvaa seuraavat linkit:
Kuvaa Tietoja palvelusta sivun tiedot:
Esimerkin vuoksi, HSL:n tietoja palvelusta:
Tervetuloa Reittioppaaseen! Reittiopas kertoo, miten pääset nopeasti ja helposti perille joukkoliikenteellä Helsingissä, Espoossa, Vantaalla, Kauniaisissa, Keravalla, Kirkkonummella ja Sipoossa. Reittiopas etsii nopeat reitit myös kävelyyn ja pyöräilyyn sekä rajatusti myös yksityisautoiluun. Reittiopas-palvelun tarjoaa HSL Helsingin seudun liikenne, ja se perustuu Digitransit-palvelualustaan.
Digitransit-palvelualusta on HSL:n ja Fintrafficin kehittämä avoimen lähdekoodin reititystuote.
Kartat, tiedot kaduista, rakennuksista, pysäkkien sijainnista ynnä muusta tarjoaa © OpenStreetMap contributors. Osoitetiedot tuodaan Digi- ja väestötietoviraston rakennustietorekisteristä. Joukkoliikenteen reitit ja aikataulut perustuvat HSL:n JORE-aineistoon.
Sosiaalisen median jakoja varten ilmoita:
Digitransit kartta-aineistona on OpenStreetMap. Reitityksen katuverkko, taustakartta ja osoitehaun POI-kohteet (Point of Interest) ladataan OpenStreetMapista automaattisesti. Palvelun toiminta kuntasi alueella on riippuvainen OpenStreetMap-datan laadusta.
Suosittelemme kartta-aineiston suhteen seuraavaa:
OpenStreetMap-ohjeet: http://wiki.openstreetmap.org/wiki/Beginners%27_guide
Digitransit löytää kohteita seuraavista luokista:
Mikäli lisäät kohteita OpenStreetMapiin, muista lisätä myös ruotsinkielinen selite:
{
"id":26430225,
"type":"node",
"lat":60.2070123, "lon":24.7022998,
"tags":{
"name":"Koivuhovi",
"name:sv":"Björkgård",
"railway":"station"
}
}
Osoitehaussa käytetään OpenStreetMapin lisäksi Digi- ja väestötietoviraston rakennustietokantaa, joka sisältää rakennusten osoitteet koko suomessa, sekä maanmittauslaitoksen paikkatietoja.
Huom! Digitransit-palvelu ei ylläpidä OpenStreetMapin tietoja, vastuu tästä on yhteisöllä.
Digitransit-alusta tukee GTFS-RT spesifikaation mukaisia reaaliaikaisia tietoja, kuten pysäkkiennusteita (trip updates), paikkatietoja (vehicle positions), poikkeustiedotteita (alerts) ja matkustajakapasiteettitietoa (paikkatiedoista). Mikäli rajapinta tarjoaa ajoneuvojen sijaintitietoja, ne voidaan esittää kartalla integroimalla GTFS-RT reaaliaikatiedot paikkatietoa tarjoavaan mqtt-palvelimeen.
Matkustajakapasiteettitietoa hyödynnetään tällä hetkellä paikkatiedoista, mutta suosittelemme, että matkustajakapasiteettitieto lisätään pysäkkiennusteisiin, johon voimme lisätä tuen.
Määrittele:
GTFS-RT reaaliaikarajapinnan osoite (tai osoitteet) ja minkä tyyppistä dataa halutaan esittää (esim. pelkkä paikkatieto).
Paikkatietodatan ei tule sisältää /-merkkejä teknisistä syistä. Mqtt-sovelluksessa /-merkki erottelee datan aihepiirejä, joten kyseisen merkin käyttö voi kokonaan estää datan käsittelyn. Erikoismerkkeihin kuuluvat myös + ja # merkit, jotka poistetaan datasta. Ks. mqtt-spesifikaatio
Paikkatietodatassa vaaditaan vähintään seuraavat tiedot:
Suositeltavat lisätiedot:
Vastaavan staattisen GTFS-datan osoite (mikäli ei sisälly jo aiemmin toimitettuun GTFS-dataan).
Paikkatietodatassa käytettyjen route_id-arvojen tulee vastata staattisen GTFS-datan route_id-arvoja.
Ajoneuvojen käyttäjäystävällistä esittämistä varten tarvitaan routes.txt-tiedostoon route_short_name. Ks. routes.txt-spesifikaatio.
Huomioitavaa:
Reittiopas tukee matkalipputietojen esittämistä käyttäjälle monella tavoin. Reittiehdotuksissa voidaan kertoa tarvittavan lipun tyyppi ja oletushinta, mikäli GTFS-data sisältää tarvittavat hintasäännöt. Ehdotukset myös näyttävät lippuvyöhykkeen vaihtumisen pitkin matkaketjua. Taustakartalle voidaan piirtää vyöhykkeiden aluerajat. Kun käyttäjä napauttaa karttaa, osoitetun paikan lippuvyöhyke on myös mahdollista kertoa avatulla ponnahdusikkunalla.
GTFS-datan fare rules ja fare attributes -spesifikaatiot löytyvät osoitteesta gtfs.org/reference/static. Jos datasta löytyy tarvittavat fare tiedot, niitä voi konfiguroida reittioppaaseen vastaamalla seuraaviin kysymyksiin:
Reittiehdotusten lisäksi lippuvyöhyketietoa voidaan esittää kartalla. Sitä varten tarvitaan geoJSON-muotoista dataa WGS84-koordinaatistossa. On suositeltavaa käyttää mahdollisimman pientä pistemäärää (alle 1000 pistettä) ja desimaalitarkkuutta (5 desimaalia), jotta palvelu pysyy kevyenä ja nopeana. Paras tulos saadaan, kun käytössä on kaksi hiukan erilaista dataversiota:
Esimerkkejä lippuvyöhykkeiden aluedatasta: https://github.com/HSLdevcom/pelias-api/tree/master/middleware/config
{
"type": "Feature",
"properties": {
"id": "icon-zone-f",
"svg": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'>
<path d='M36 18A18 18 0 1118 0a18 18 0 0118 18' fill='#0ab1c8' fill-rule='evenodd'/>
<path d='M23.21 19h-6.75v7H13V9h11.06v2.8h-7.6v4.4h6.75z' fill='#fff'/>
</svg>"
}
},
"geometry": {
"type": "MultiPoint",
"coordinates": [
[26.8068, 63.2194], [26.4574,62.97]
]
}
}
Yllä on F-vyöhykkeelle määritelty 2 tunnusta vyöhykkeen eri osiin. Vakio svg symbolit A, B ... I voi kopioida vyöhykedatan esimerkkitiedostosta ja vaihtaa svg määrittelyhin oman reittioppaan teemavärin. Mikäli tarvitaan jokin muu symboli, sen voi tuottaa itse annetun mallin mukaisesti Roboto-fontilla, tai vaihtoehtoisesti pyytää digitransit-kehitystiimiä lisäämään halutut svg elementit.
Reittioppaaseen saa mukaan reittiehdotusten CO₂-päästölukemat pyytämällä päästöjen näyttämisen päällekytkennän ja toimittamalla reittien keskimääräiset CO₂-päästöarvot emissions.txt-tiedostossa osana GTFS-pakettia. Tiedosto ei ole GTFS-standardin mukainen vaan sen tulee seurata tässä annettuja ohjeita. Seuraavien sarakkeiden tulisi sisältyä emissions.txt-tiedostoon:
Esimerkki emissions.txt:
route_id,avg_co2_per_vehicle_per_km,avg_passenger_count
1001,123,20
1002,123.4,20.0
1003,0,0
Reittioppaan kartalla voidaan näyttää tarvittaessa kiinnostavia kohteita – esimerkiksi palvelupisteet tai lippuautomaatit. Reittioppaalle toimitetaan tällaisessa tilanteessa linkki olemassaolevaan geoJSON-muotoiseen dataan. Esimerkki datasta:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "1",
"geometry": {
"type": "Point",
"coordinates": [
21.26673,
61.44984
]
},
"properties": {
"category": "SERVICE_POINT",
"name": "Nimi",
"name_fi": "Nimi",
"name_sv": "Namn",
"name_en": "Name",
"popup": "<div class=\"card-header-wrapper\">\n <span class=\"h4\"> Nimi<\/span>\n <div class=\"card-sub-header\">Katu 1<\/div>\n<\/div>\n",
"text": " Nimi\nKatu 1, 00100",
"city": "Kaupunki",
"city_fi": "Kaupunki",
"city_sv": "Stad",
"address": "Katu 1",
"address_fi": "Katu 1",
"address_sv": "Gata 1",
"icon": {
"id": "icon_service_point",
"svg": "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\"\n width=\"256\" height=\"256\" ... svg>\n"
}
}
},
]
}
Ensimmäinen palvelupiste:
”icon”: {
“id“: “service-point“,
“svg“: “<svg … data kokonaisuudessaan … >“
}
Muilla palvelupisteillä vain viitataan jo kerran annettuun dataan:
”icon”: {
“id“: “service-point“
}
Response-header esimerkki:
Access-Control-Allow-Origin: *
Content-Type: application/json