Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 15 příspěvků - 166. až 180. (celkem z 197)
  • Autor
    Příspěvky
  • odpověď na: Generování jízdních řádů #4751
    Pan Nikdo 0.
    Moderátor

    greeny:
    Vyčerpávající byla i pro mě. 😀 Zajímalo by mě, kolik lidí to mimo tebe četlo. 😀
    1: Ne, v pohodě, taky mě jednou napadlo dělat to takhle. Říkal jsem si, že by bylo velmi jednoduché postavit tratě pro jedinou linku, mít tam připojenou vozovnu, a později rozšířit. Jenže, to bych to nemohl být já. Já to nevydržím. V současnosti totiž pracuji pouze na Sokolově, mém rodném městě, který tu mám už ve 3 verzích. Je to vždycky tak, že se snažím se udržet v mezích a nedělat to moc komplexní. To se mi ale nepovede, takže vznikne velká síť. Takže pak vytvářím znova další, paralelně pracuji i na té staré. A takhle to pokračuje. Teď mám už 3 verze. Raději bych ale zahodil všechny ty malé a přijal megalomanii. 🙂 Pracoval jen na tom. Asi to i udělám. Ty malé verze nedávají smysl. Když máš zastávky šalin 0,2 až 0,5 km od sebe, tak to není moc dobrý.
    2: Ne, pozor na to, já vždycky spočítám tak 1 až 3 linky, a to pak testuju. Jde mi zejména o odhalení lidských chyb (data o jednom kurzu nakopíruju jinému, apod.). Už mám poměrně sebevědomí, numerické chyby zpravidla nedělám a v 90% můj výstup z Excelu funguje. Těch 10% je to, že odečtu třeba 11 minut místo 21. Že blbě udřívim nějakej kurz, takže se netrefí mezi 2. Na to pak stačí tam fakt jen všechno pustit, chvíli to sledovat, občas zastavit, kouknout se na pozice kurzů, na kurzový sled a očekovat, jestli to koresponduje s tím, jak by to mělo být. Jestli jo, jedeme dál. Jestli ne, tak jdu hledat chybu.
    3: Čas jízdy z vozovny na nějakou konečnou a ze SB na konečnou nejsou stejné. 🙂 Tam je obrovský rozdíl. A SB mi ulehčí strašně moc práce. Když mi nějaký kurz má vyjet na linku, tak se podívám, jak by to bylo, kdyby ve skutečnosti jel z protilehlého terminu, ne z vozovny. Říkám tomu virtuální odjezd. Ten si pak vytrackuju na SB, tzn., mám čas, kdy ten kurz musí být na SB. Je jedno, jestli jede z terminu nebo z vozovny. A přesně tenhle typ matematiky je pro člověka tak neskutečně otravný, a už se těším, jak budu psát zrovna tenhle kód, jak budu dělat funkci na tohle. To bude můj prostředníček na Excel a na počítání z hlavy.
    4: Přeně tak! Já stále nechápu, proč mi kámoš, programátor, tvrdil, že tohle není deterministické. Jasně, že je. 😀 Jsou tam doopravdy jasně daná pravidla, můžeš s tím trochu hejbat, jasně, ale většinou přece chci, aby se mi vyjíždějící kurz trefil přesně mezi 2 co jsou před a po něm, nebo pokud to je jeden z prvních, tak aby si dal rezervu, třeba 5 minut, což ve výsledku bude jen nějaký textbox, kam uživatel hodí nějaké číslo, já zkontroluju, jestli to není blbost, a vypočítám (teda, ne já, ale komp).
    5: No, myslím, že to děláme stejně. Já to mám taky takhle, na časové zóny. Od té a té doby v takovém intervalu, a takhle několik zón. Zeptám se ještě na nočnost, jestli to bude zajištěné nočníma kurzama, pro linku, co jede 24 hodin denně, a je to.
    6: Já mám vždy výjezdy na obě konečné. 🙂 Přesně jak jsem psal, SB, virtuální odjezdy, promítání, apod.

    odpověď na: Generování jízdních řádů #4747
    Pan Nikdo 0.
    Moderátor

    Oooohhhh! Tohle je delikátní otázka pro mě. Chtěl jsem jít spát, ale tohle si užiju.
    0. Je to BAHN. Tenhle program prostě vyžaduje spoustu úsilí a času. Do jisté míry je to omezeními programu (jež je velmi těžké odstranit), ale z větší částí je to prostě tím, o co se tady snažíme. Chápej, provoz MHD, ty vole. 😀 To je fakt docela velká věc, která zákonitě vezme čas a úsilí a nebude to jednoduchý.
    1. Stavíš vždycky celou síť, předpokládám? Tzn. máš nějaký vzor, podle kterého stavíš jízdní dráhu. Jakmie máš tohle, tak předpokládám, že děláš SLV (schéma linkového vedení). V nějakém programu si nakreslíš kudy která linka pojede, podle toho pak nastavíš křížení, signalizace apod. V tomhle okamžiku předpokládám, že máš už i zastávky, rychlostníky, apod.
    2. Měření. Jop, to je osina v zadku. Naposled, když jsem to dělal, jsem to dělal 6× (!!!). Musel jsem si síť upravit, abych měl „speciální měřící verzi“. Na konečných nebyly taktovací body, ale zastávky, s nastaveným časem, na setkávacích bodech (SB) a konečných řádně pojmenované logbody, výhybky jsem si musel nastavit tak, aby mi šaliny jezdily tak, jak jsem potřeboval. každá linka měla 2 vozy, protože máme 2 konečné (T0 a T1) (jasně, můžeš mít jediný vůz, ale 2 ti to trochu urychlí). Pomocí logbodů tohle jde velmi jednoduše. Když si je dobře nastavíš, tak se ti to měří všechno samo. Každý vlak, co pustím do sítě, má o minutu zpožděný odjezd oproti předchozímu, např. linka 0, kurz 1 má odjezd v 00:00. Linka 0, kurz 2 v 00:01. Linka 1, kurz 1 vyjíždí v 00:02, apod. Tímhle mám jakýsi základ pro pozdější výpočty. No, pak jen spustím simulaci a záznam (jop, i na ten jsem 2× úspěšně zapomněl. 15 minut se dívám, jak mi tam hezky zrychleně jezdí šalinky, říkám si, že to bude zábava se prokousávat naměřenýma datama a pak zjistím, že neměřím).
    3. Tady se asi odchyluji od toho, jak to děláš ty, ale stále vidím analogii. Simulaci nechám běžet pár hodin simulačního času, záleží na rozloze. Jakmile mi všechny vozy udělají dostatek koleček, tak to odpískám. Z log souboru odstraním zbytečné sloupce a data, částečně metodou „najdi a nahraď ničím“ a částečně smazáním sloupců v Excelu, kam si to hodím. Pak mě čeká napsání pár vzorců a rozšíření pro celou oblast, kde mám data (ty si teda ještě třídím podle linek). Tam se mi vždycky vypočítají následující časy: od konečné na SB a na protilehlou konečnou. A zase. (setkávací bod je bod na nějakém křížení, kde se vyjíždějící vůz z vozovny dostává na svou trasu. A i kdyby to bylo přímo u vozovny, tak tam stále ta minutka bude. Někdy i 2. Nebo 3, pokud jsi megaloman jako já. A to je čas, se kterým je nutno počítat). Tímhel získám hromadu časů, které jsou v několika skupinách. A všechny ve stejné skupině by měly být stejné. mohu tím i odhalit nějaké chyby v síti, nejčastěji absenci rychlostníku, nebo špatně nastavený, apod. Pokud jsou nějaké časy moc mimo. To tam vždycky budu mít, prostě lidská chyba. Takže jdu měřit znova a dělat to celé znova (nejspíš následující den, protože po zbytek stávajícího budu příliš otrávený na to, abych to dělal znova). Jak říkám. Je to na dlouho. Urychlit to nejspíš nejde.
    4: JŘ mám obvykle už připravené. Ty dělám někdy před měřením, nebo i po, ale stále zcela ignorující data z něj. Protože data z měření prostě neovlivňují, jak si udělám JŘ, ty stanovuji podle důležitosti a plánovaného využití linky, podle toho i vybírám délkovou kategorii vozů a její rozptyl. Interně používám několik termínů (poslední verze definice všech mi zabrala asi 1,5 stránky). Každopádně, podle intervalu (nejkratšího) v JŘ stanovuji poloběžnou a oběžnou dobu. Protože to, za jak dlouho je šalina schopná se dostat z T0 do T1 nebo naopak (časy by měly být stejné (při symetricky umístěných zastávkách)), je při měření ten nejkratší možná čas. Polooběžná doba je pak nějaký vyšší násobek intervalu, obvykle tak o 2 stupně. Mám-li polooběžnou dobu 57 minut a nejmenší interval 5 minut, tak řeknu, že polooběžná doba bude 01:15. Je tam rezerva, poměrně značná, protože vím, že linka je pravděpodobně dlouhá, takže pravděpodobnost nějaké chyby je větší. Oběžná doba je pak dvojnásobek, 02:30. Odtud i vím počet kurzů, co na lince budou potřeba: jen to vydělím intervalem. Tady by to bylo 30. Dlouhá linka, no.
    5. Koukám, že tady taky počítáš s nějakou analogií toho, co jsem před tím popsal. Jasně, pro noci (pokud linka má noční část) a víkendy je to jiné. V každém JŘ jsou pak různé časové zóny, zpravidla odlišeny jiným intervalem, takže tam je vždy potřeba jiný počet kurzů. Jasný. Ráno plynulý výjezd všech…
    6. Výpočty, jasný, ty jsou otrava, je to těžký. Excel částečně pomůže, pokud pronikneš do tajů řádkového programování (a nebudeš při tom zvracet). Já jsem za celou tu dobu udělal už pár chytrých tabulek, ale ta logika je stejně vždycky na mně. Jasný, pak teda musíš stanovit služebáky. Ke každému času přiřadit číslo kurzu, co ho pojede. Pro obě konečné. Já to dělám tak, že konečná, co má nižší číslo, dostává jakousi přednost, na začátku časové zóny, co má nejnižší interval a zároveň začíná nejdřív, začíná i kurzový sled. Tam totiž už budu potřebovat všechny, takže není nic jednuššího, než jen přiřadit čísla od 1 do kamsi. Tohle je jakýsi základ, od kterého se pak mohu odpíchnout. A pak používám techniku projekce. Kouknu se, vidím, že kurz 1 vyjíždí z T13 (např., technické označení v síti) v 07:00:00 na T25, polooběžná doba je 01:15, takže vím, že tenhle kurz bude z T25 vyjíždět v 08:15:00, a že tam bude v 07:57. Teda, ne tak docela, bude vyjíždět v nejbližší čas k tomuhle času. A vím, že před 1 jsou zase čísla nejvyšších kurzů, takže takhle si to všechno hezky doplním. Jedna konečná se projektuje na druhou a naopak. Polooběžná doba by se teoreticky měla měnit se změnou intervalů, ale když si je zvolíš chytře, tak se tě tohle netýká. Z pravidla by ty čísla měly být soudělný a polooběžná doba by měla být nějakým násobkem všech. To je ale vcelku jednoduchý zajistit, a i kdyby ne, tak ten rozdíl není tak šílenej. Jen je pak dobrý si to ověřit, jestli se tam ten kurz doopravdy stihne dostat a jestli tam bude mít nějakou rezervu. Zátahy, jasně, ty jsou jednoduchý. Já je do JŘ dávám, s poznámkou, že jede po své trase jen do jisté zastávky a pak do vozovny. Pokud to teda nevyjíždí a nezatahuje režijně (což je o něco rychlejší).

    Proces to náročný doopravdy je, ale po čase budeš schopen linku (po měření a kompilaci dat z měření v nějaké užitečné) zprovoznit tak do 2 hodin.
    Ale stejně jako ty, ani já nejsem s tímhle způsobem spokojen. Vadí mi, že to všechno musím dělat já. Byly doby, kdy jsem to kompletně z hlavy počítal. Teď za mě hrubé výpočty dělá Excel, díky bohu, ale ani to mi nestačí. Programuji nástroj, co tohle udělá za mně. Ty jsi vývojář webových stránek, já zase prachobyčejný amatérský programátor. Ale už před dlouhou dobou jsem si uvědomil, že v programování se skrývá neskutečná síla. A také to, že můj algoritmus je deterministický, díky tomu, že jsem stanovil jistá pravidla. Například to, že panuje kurzový sled, že JŘ se sestavuje metodou časových zón, že linka je izolovaná, má vlastní množinu kurzů, není zde žádná provázanost, apod. Je to idealistický a zjednodušený pohled na věc, jistě, ale pro potřeby BAHNu stačí a je ve skutečnosti dost mocný. Co jsem tak hledal, tak jsem zjistil, že žádný takový program neexistuje. Takže jsem si začal vytvářet vlastní. Někdy se k tomu zase musím vrátit. Protože jakmile tu mám gigantickou síť, kde bude třeba 100 linek a já bych to měl všechno počítat současným způsobem, tak ne, ani omylem.
    Jak to bude hotové, tak program mi dovolí vytvořit si JŘ, zadám do něj pak data o lince, kliknu na jedno kouzelné tlačítko a program mi vygeneruje služebák a časy výjezdů a zátahů, v takovém formátu, abych to mohl pak nakopírovat do BAHNu, do nějakého bodu změny parametrů, aby se to nahrálo do jednotlivých vlaků. Výjezdy taky není prdel dělat, musíš se s časem výjezdu z vozovny vždy trefit přesně mezi 2 kurzy, aby se takhle pěkně zařadily na SB. Tohle je opět moje další zákonitost, co mi přijde poměrně práci-usnadňující, apod. Navíc, funkce na časové průměrování už mám. Myslím, že i funkce na vytváření JŘ, jen trochu bojuju s UI. Ale to je zase jiný příběh.

    Předpokládám, že moje odpověď asi moc nepomohla. Za sebe mohu říct ale to, že na to jdeš správně, stejně jako já (což z toho nedělá správný způsob, jen oba víme, že to funguje). Věř mi, že by to mohlo být daleko, DALEKO komplikovanější, mám už i nějakou představu, jak by to vypadalo (vezmi si, když provážeš 2 linky, že sdílí vozy. A pak něco počítej…). Snad tě potěší, že na aplikaci na tyhle výpočty už někdo dělá. Ano, taky jsem línej, chci, aby to za mě dělal komp. Co já bych se namáhal, že ano? 🙂 Zvlášť, když mi tu sedí 4jádro.

    odpověď na: Nápady #4731
    Pan Nikdo 0.
    Moderátor

    Teď zase chvíli dělám s BAHNem a zase mě napadají věci, co mi tam chybí. Jedna z nich už hrozně moc, ale myslím, že jsem to ještě nikdy nenapsal.
    CTRL+Z. Moje oblíbená klávesová zkratka. Chybí mi zde možnost zpět, o krok, změnu, apod. Jakmile tam člověk něco posere, musí například stavět trať znova, což není jednoduché a rychlé, vzhledem k systému stavění.

    odpověď na: Staré fórum #4715
    Pan Nikdo 0.
    Moderátor

    Já už tam nechodím vůbec, ani mazat spam. Myslel jsem si, že to je celé v minulosti, zamčené, apod.

    odpověď na: Tvorba pomůcek GVD #4691
    Pan Nikdo 0.
    Moderátor

    Já vím, že to jde, ale mně neskutečně vadí ta pracnost a ta…otročina, co tam musím dělat, aby to bylo v požadované formě.
    Jasně, že to chce popřemýšlet, to jo. Jenže pokud jsem postaven před volbu, abych přemýšlel o něčem, na čem pak stejně budu muset otrocky dělat, nebo přemýšlel daleko víc, co pak bude velmi pohodlné a udělá to spoustu práce za mě, tak…no, moje volba je vcelku jasná.
    JŘ chci vytvářet tak, že si napíšu od kdy do kdy, vyberu si ze seznamu interval, zakliknu, jestli je daná časová zóna noční (linky, co mají i noční část, na které jezdí jiné vozy, kratší), a…hotovo. Je to hned. Nechci to psát, kopírovat apod. Jsem neskutečně línej člověk, nepopírám. Proto si raději naprogramuju nástroj, než abych to dělal já. Zaměstnám raději nějaké z 8 vláken mého CPU, než svůj mozek. Ultimátní lenost: mohu se přetrhnout, abych nemusel nic dělat.

    odpověď na: Export vozidel z Bahnu #4689
    Pan Nikdo 0.
    Moderátor

    Taky jsem to tak dělal.
    (Načež jsem zjistil, že ten export stejně nepotřebuju, protože si to udělám po svým. 😀 )

    odpověď na: Tvorba pomůcek GVD #4688
    Pan Nikdo 0.
    Moderátor

    Asi se všichni shodnem, že Excel je v tomhle s prominutím k hovnu. Proto je nutné si napsat vlastní aplikace. Ano, až tak, protože každý z nás, zdá se, potřebuje řešení na míru. Například když jsem tvořil KJŘ, tak jsem dlouho bojoval s tím, že chci v jedné buňce čas odjezdu a v závorce kurz. A když to protáhnu na další buňky v řádku, chci, aby se časy odjezdů inkrementovaly o hodnotu někde v nějakém poli a čísla kurzů o 1. Nope. Nikdy tam nic takového nepůjde. Takže jsem zkoušel to samé, kdy mám čas odjezdu v jedné, a kurz v další buňce. Teď se měly inkrementovat stejným stylem tyhle 2, opět když je protáhnu dál po řádku. Opět, ani omylem. A je to TAK jednoduché, tak strašně jednoduché. Najednou jsem začal přemýšlet v C++. A pak jsem začal i psát… Program samozřejmě má daleko k dokončení, ale mám koncept, vím, co a jak, hlavně vím, že nic pořádnýho neuvedu do provozu, dokud budu používat Excel, protože i vytváření JŘ tam je pěkně na nic. Ten si budu vytvářet tak, že zadám od kdy a do kdy, v jakém intervalu, a hotovo. Pár takových časových oblastí, pár kliků…a je to. Zadám naměřené parametry linky, kliknu na tlačítko, a provede se můj algoritmus. Linka vypočítaná během chvilky. Místo…celého dne.
    Tímto nechci propagovat můj program, nebo tak (jak bude hotový, uveřejním ho jako open-source s dokumentací, jen mám obavu, že vzhledem k tomu, že si ho dělám na míru, nikdo ho nebude používat), ale spíš to, abyste si napsali vlastní pomůcky. Je to spousta dalšího úsilí, ano, ale pokud si představím, že bych měl počítat z hlavy (protože takhle to v Excelu vlastně je) nějakých 103 linek (plánovaný rozsah jedné mé sítě), tak…ne, díky. 🙂 Raději si to naprogramuju, a bude. A i proto mě menístně sere, opět s prominutím, že nemohu do BAHNu importovat data o vlacích, tzn. výjezdy, zátahy, vozovny, koleje, apod. Protože 103 linek může být taky…nevím, třeba i 1000 vozů, možná i 1500 (jsem megaloman, co potřebuje realizovat svoje vize, jinak se z toho zblázní. Nejhorší kombinace). A opět, zadávat to ručně? Ehm…ne, díky. 🙂 Tuším, že nějak přes body změny parametrů by to jít mohlo (díky bohu aspoň za to), což teda není nic moc, ale asi lepší, než drátem do oka. I když, možná bych dostal raději tohle, než ručně zadávat všech 1000 vozů. 😀 Měl jsem takovou představu, že by tu byl takový ten v reálu používaný mezistupeň, kdy nás zajímá kurz, a ten má všechny vlastnosti, jako výjezd, zátah, odkud, kam, apod. A jemu pak jen přiřadím vlak, šalinu, bus, whatever.

    odpověď na: Tvorba pomůcek GVD #4684
    Pan Nikdo 0.
    Moderátor

    Tak jo, už jsem si o tom trochu početl, a nějak mám představu. Můj způsob sestavování JŘ a KJŘ je v podstatě jakási „časově-matematická“ reprezentace toho GVD. U mě by to byl spíš GMD, kde M je pro „městské“. Díky tomu, že to neřeším graficky, je to pro člověka ne moc přehledné, ale zároveň dobře (ehm…) naprogramovatelné, což je to, co řeším.
    Rozdíl pak bude asi v tom, jaké zákonitosti a předpoklady používám já a jaké někdo jiný. Ale hádám, že diskuze na tohle téma by chtěla asi vlastní vlákno a byla by trochu náročnější.

    odpověď na: Tvorba pomůcek GVD #4681
    Pan Nikdo 0.
    Moderátor

    T-D: Aha. Wow, tak…tohle jsem nikdy nepoužil, asi to chápu, ale jsem rád, že to ani nemusím používat. 😀

    odpověď na: Tvorba pomůcek GVD #4679
    Pan Nikdo 0.
    Moderátor

    Možná se budu ptát děsně blbě, ale…o čem je tu řeč? 😀
    Jak bylo řečeno na začátku, každý máme asi vlastní způsoby, stejně tak já jsem si navrhl a vypracoval svoje, aniž bych byl nějak ve styku s tím „jak se to dělá“, takže nějak netuším, o co jde.

    odpověď na: Připomínky k webu #4678
    Pan Nikdo 0.
    Moderátor

    Současná verze se mi asi líbí víc.
    Jen bych tam přidal ještě program MapGen 2.5.g.

    odpověď na: Tvorba pomůcek GVD #4562
    Pan Nikdo 0.
    Moderátor

    Koukám, že můj postup je nakolik jiný, že nevím, o čem mluvíš.

    odpověď na: Připomínky k webu #4561
    Pan Nikdo 0.
    Moderátor

    Jo, takhle to s WP chodí. Vím, o čem mluvíš. Jen jsem teda nevěděl, že to je až tak špatný.

    odpověď na: Připomínky k webu #4535
    Pan Nikdo 0.
    Moderátor

    Mně to na telefonu jelo i před tím. 🙂
    Zajímavé. Šablony tohle obvykle nedělají. Alespoň co já vím. Teda, pokud jo, tak ne ve velké míře. A korekce toho se řešila úpravou šablon.
    Tak dát do záhlaví pár obrázků by neměl být problém, ne?
    V tom případě asi někam pověsit mail. 🙂

    odpověď na: Nápady #4534
    Pan Nikdo 0.
    Moderátor

    Neříkám, že nejsem. 🙂 Říkám jen, že představené téhle „funkce“ není složité a nikoho se to nedotkne a já budu šťastný. 🙂
    Jo, a proto říkám, že tam jsou chybějící prvky. A že ve verzi 4 by neměly být křížící prvky vůbec, ale měly by se vytvářet dynamicky. Aby bylo možné dosáhnout všech kombinací.

Aktuálně je na stránce zobrazeno 15 příspěvků - 166. až 180. (celkem z 197)