Sceneria/Kaliska/Etap 2

Z Rainsted
Skocz do: nawigacji, wyszukiwania

Etap 1 został już zamknięty ze względu na to, że w październiku 2020 wykorzystano rezultaty do dalszych prac nad scenerią, a główny autor zadeklarował, że woli się zająć innym odcinkiem. W razie potrzeby można te operacje powtórzyć na jakimś pliku, jednak ich zakres nie będzie już rozszerzany. Etap 2 będzie bazował na plikach opublikowanych przez osoby pracujące nad scenerią.

Cele etapu

Głównym celem Etapu 2 jest wykonanie dalszych prac porządkujących, które nie zdążyły się załapać na Etap 1. Prace te mają na celu usprawnienie przeliczeń wykonywanych przez Rainsted oraz ograniczenie błędów, jakie mogą powstać podczas zapisu zmienionych plików przez Rainsted. W dalszej kolejności służy to ustaleniu, na ile obecnymi narzędziami da się dostosować scenerię do map. Dostosowanie do map ma mieć charakter ramowy, w większości wykonywany automatem (bez potrzeby przyglądania się poszczególnym stacjom), aby ewentualnie te same operacje można było powtórzyć na plikach opublikowanych później. Celem etapu nie jest weryfikacja poprawności zmian dokonanych przez innych autorów ani dokonanie poprawek jakiegoś konkretnego miejsca.

Trzy cyfry dziesiętne dla "długości odcinka"

Parametry we wpisach, definiowane pierwotnie jako długość odcinka, a nie używane przez EU07.EXE, można zaokrąglić operacją z menu do 3 cyfr dziesiętnych. Eksport z RSF umieszcza tam kilometraż z trzema cyframi dziesiętnymi (dokładność 1mm). Wartość ta nie ma póki co żadnego znaczenia. Ponieważ jednak zaokrąglenie wykonane operacją w edytorze oznacza wpis flagą zmodyfikowania i może mieć wpływ również na inne elementy wpisu (np. usunie wewnętrzne komentarze), a przy 10000 zmian ciężko jest wyłapać jakąś jedną nieprawidłową zmianę, dodatkowe cyfry zostały obcięte przy pomocy operacji zamiany w Notepad++ z użyciem wyrażeń regularnych [1]:

normal \d+\.\d{3}\K\d+

Normalizacja azymutu obiektów punktowych

W ramach przenoszenia plików SCM do formatu RSF zostało ustalone, że azymut obiektów punktowych będzie w przedziale <0.0; 360.0). Również wszelkie obroty scenerii w edytorze SCM będą normalizować azymut do takiego przedziału. Przy obróceniu scenerii o 180° normalizacja azymutu nie była wykonywana, więc pojawiło się wiele ujemnych kątów, ale także większych od 360°.

Zerowanie wektorów kontrolnych

Dla odcinków prostych wektory kontrolne powinny być wyzerowane. Została dodana odpowiednia operacja do edytora SCN. Zerowanie wykonywane jest tylko wtedy, gdy zerowy jest promień (oraz zerowy vradius), a wektory kontrolne wskazują punkty w 1/3 i 2/3 odległości pomiędzy końcami. Zmiana dotyczyła około 1800 odcinków torów. Wyzerowanie wektorów kontrolnych pozwala łatwiej prześledzić zmiany w przypadku obrotów, ponieważ zmieniają się tylko współrzędne końców odcinka. Uwagę należy zwrócić na odcinki łuków pionowych (proste w planie), które po zerowaniu wektorów kontrolnych mogły zamienić "łuk pionowy" na dwa ostre załomy – w dwóch takich odcinkach zostały przywrócone wektory kontrolne podczas przeglądania zmian przy użyciu SVN. Prawdopodobnie algorytm weryfikacji odcinków prostych powinien dodawać vradius w takich przypadkach.

Ustalenie znaku promienia dla łuku

Odcinki, które nie zostaną rozpoznane jako proste, a będą mieć różny od zera promień, będą miały znak przy tym promieniu zależny od symetrii. W założeniu łuki (jako odcinki okręgu) powinny mieć znak dodatni, a pozostałe (w tym krzywe przejściowe) — ujemny. Edytor SCM używa znaku promienia do rozpoznawania łuków z krzywymi przejściowymi – nie jest analizowana geometria (proces: analiza geometrii => ustalenie znaku promienia => uznawanie znaku promienia za wiążący w zakresie naprawiania geometrii).

Sortowanie trójkątów w ścianach lasów

Na potrzeby edytora SCM oraz eksportu ścian lasów z edytora RSF została ustalona kolejność wierzchołków, która ma pozwolić na edycję ścian lasów jako odcinki (a także przekszatłcić na triangle_strip poprzez usunięcie dwóch przedostatnich wierzchołków ze wpisu zawierającego dwa trójkąty o zalecanej kolejności). Edytor SCM zawiera operację sortowania wierzchołków, która jest przygotowaniem do połączenia dwóch trójkątów w jeden wpis, a następnie przerobienia na triangle_strip (nie jest to do końca dopracowane ze względu na niski priorytet i konieczność rozbudowania edytora SCM o obsługę triangle_strip). Sortowanie zostało wykonane dla ścian lasów, które być może trzeba będzie skorygować w późniejszych etapach. Sortowaniu nie są poddane obiekty ogrodzeń (np. z teksturą plot_ozimek), ponieważ obecnie nie ma realnej potrzeby ich edycji (a trzeba by też upewnić się, że mogą być traktowane podobnie, jak ściany lasów).

Normalizacja wektorów normalnych trójkątów

Wiele trójkątów ma zbyt długie wektory normalne (często jest to wartość 1.57079). Wektory te normalizowały się przy obracaniu scenerii o 180°, ale zostało to wyłączone w Rainsted, aby ograniczyć liczbę błędów do sprawdzenia (aby jedynymi zmianami były zmiany znaków współrzędnych). Długość wektora normalnego może wpływać na jasność powierzchni. Zbyt długie wektory normalne zostały przeskalowane do długości 1.0, ewentualne zbyt krótkie pozostały bez zmian. Przy okazji współrzędne wektorów normalnych zostały zaokrąglone do 3 cyfr po kropce dziesiętnej (1mm) – nie jest potrzebna większa dokładność, prawdopodobnie 2 cyfry by wystarczyły (1cm).

Dopasowanie do map

Potencjalnym celem etapu 2 jest częściowe i zgrubne dopasowanie do map. Wcześniejsze próby pokazały, że najlepiej dopasowanym odcinkiem są tory pomiędzy Zduńską Wolą a Łodzią, wymagają tylko przesunięcia i obrotu. W obecnym etapie zostaną wykonane dalsze próby, aby określić, czy lepiej będzie przesunąć i obrócić całość trasy, czy podzielić na obszary o różnych przekształceniach (jak dla linii 61), czy wprowadzić przemodelowanie określonych łuków (zmiana kąta i promienia), czy zastosować przeliczenie wg niwelet (jak planowane dla odcinka Lubliniec – Ozimek). W założeniu ma powstać algorytm przeliczający, którym będzie można przekształcić wszystkie pliki, jak również przyszłe wersje, otrzymując scenerię o nieuszkodzonej funkcjonalności. Samo przeliczenie scenerii może być już w kolejnym etapie, jeśli w obecnym okaże się ważniejsze uporządkowanie struktur (np. nadanie nazw odcinkom, normalizacja trójkątów, zaokrąglanie wartości we wpisach).

Ostatecznie zrealizowane zostały dwa warianty. Wariant A z uporządkowaniem formalnym zawartości plików oraz Wariant F z podzieleniem i obróceniem części częstochowskiej oraz wydzieleniem obiektów z dwóch obszarów do osobnych plików. Jeden z tych obszarów (Częstochowa Osobowa wraz z okolicą) może zostać zastąpiona fragmentem opracowanym w ramach prac nad linią 61, natomiast drugi (LK146) może być dopracowany niezależnie od reszty scenerii Kaliska (np. profil pionowy ma tam przewyższenie około 50m). Do plików zostały dodane kody pozycjonowania względem ortofotomapy (//$g PUWG1992 445 403).

Kwestia zaokrągleń współrzędnych

Przeglądając pliki torów można zauważyć, że współrzędne końców torów są zmiennoprzecinkowe, tzn. mają 6 cyfr znaczących. Oznacza to, że w odległości ponad 10km od środka układu współrzędnych dokładność pozycjonowania wynosi tylko 10cm. Widoczne też jest to podczas symulacji, w postaci "połamanych" torów na głowicach rozjazdowych. Wskazane być może by było opracowanie i uruchomienie algorytmu, który potraktowałby końce odcinków jako liczby zaokrąglone i próbował odtworzyć wartości bardziej dokładne na podstawie współliniowości (regresja liniowa). Algorytm powinien być raczej wykonany na plikach z Etapu 1, ponieważ tam wiadomo, że zaokrąglenie danej współrzędnej może mieć wartość ±5cm (druga współrzędna w zakresie poniżej ±10km będzie miała zaokrąglenie 0.5cm). Tymczasem po obrocie używana jest dokładność 0.01cm. Korekta tego typu nie będzie realizowana w Etapie 2. Alternatywnym rozwiązaniem kwestii zaokrągleń może być przeniesienie fragmentów do RSF i tam przeliczenie torów z użyciem linii kierunkowych.

Przesunięcie o wektor

Najprostszą operacją do wykonania, po obróceniu o 180° w osi pionowej, jest przesunięcie całości o stały wektor. Założenie jest takie, aby po przesunięciu uzyskać jakiekolwiek dopasowanie do map w dowolnym miejscu, co pozwoliłoby dalsze prace prowadzić niezależnie w dwóch kierunkach. Bardziej zaawansowane przekształcenia (niż przesunięcie o wektor) wymagają przygotowania odpowiedniego narzędzia, które na chwilę obecną nie istnieje (przeliczenie linii 61 wymagało w następnej kolejności wielu pracochłonnych poprawek, bez których sceneria nie nadawała się do użytku, a jakość rezultatów nie była adekwatna do wykonanej pracy). Rozważane są 3 możliwe punkty styku.

Ostrów Wielkopolski

Mniej więcej pasują tory przed łukiem dochodzącym do linii 272 (Kluczbork – Poznań, przechodzi też przez Kępno). Różnica kątów w tym miejscu to około 5°. Pozycjonowanie względem map: //$g PUWG1992 441 438. Jednak należałoby rozgiąć najbliższy łuk i obrócić całą wschodnią część. Wariant możliwy do zastosowania, gdyby chcieć skorygować kąt samego Ostrowa Wielkopolskiego w celu rozbudowy na północ albo południe. Główną zaletą jest brak konieczności przesuwania całości o wektor w takim przypadku.

Sieradz

Ustawienie łuków pomiędzy Sieradzem a Zduńską Wolą jest "zbliżone do rzeczywistego". Zaletą tego wariantu jest teoretyczna możliwość zgrubnego dopasowania dwóch punktów. Pozycjonowanie względem map: //$g PUWG1992 445 403. Trudno jest jednak wyznaczyć sensowne przesunięcie — przydałoby się zmienić kąt północnego łuku, odginając zewnętrzne "ramiona" scenerii na północ: część wschodnią należałoby obrócić o jakieś 18°, część zachodnią około 30°. Ponieważ zachodnia i tak nie będzie pasować do map "tak łatwo", można się ograniczyć do wschodniej i spasować możliwie najlepiej odcinek do Łodzi. W zasadzie w tym wariancie najkorzystniej by było obrócić i spasować tory pomiędzy Zduńską Wolą a Łodzią i wyznaczyć do korekty jeden łuk, od którego zachodnia część byłaby tylko przesunięta o wektor.

Łódź Kaliska

Dopasować można by południową część — okolice łącznicy 539. Różnica kątów w tym miejscu to około 5°. Pozycjonowanie względem map: //$g PUWG1992 441 418. Dopasowanie zgrubne jakiegoś odcinka toru w tym miejscu w zasadzie nic nie wnosi bez dokonania obrotu całości — byłby to chyba najgorszy wybór.

Przymiarka do obrotu wschodniej części

Wschodnią część (od Zduńskiej Woli do Łodzi) można próbować wpasować w mapy dokonując obrotu i przesunięcia. Zależnie od tego, który odcinek chciałoby się spasować, różne będą kąty obrotu i różne przesunięcia.

Jednym z możliwych wariantów jest doprowadzenie do tego, aby obrócone tory przecinały się z torami na ortofotomapie w kilku miejscach. Sugerowane rozwiązanie obejmuje obrót o kąt 17.813° w lewo i następnie przesunięcie o wektor -5428.620764 11142.372921 (przy założeniu, że środkiem obrotu jest punkt OXZ). Przekształcenie takie zachowa położenie "północnego łuku" koło Sieradza i skróci go o 279.806m (współrzędne środka okręgu wewnętrznego toru to -39115.616 12794.905 — obrót względem tego punktu nie wymagałby dodatkowego przesuwania o wektor). Wstępne rozpoznanie sugeruje, że dosyć łatwo można by wykonać modyfikację — łuk ten znajduje się na nasypie, a można by wyciąć fragment pomiędzy przejazdem a peronem. Pozostała, zachodnia część, powinna być przesunięta o wektor 279.109 310.414 (na zachód i na północ), aby obie części łuku nałożyły się. Konieczna będzie ręczna edycja torów na łuku (skrócenie sześciu odcinków bądź usunięcie czterech i skrócenie pozostałych dwóch odcinków), usunięcie kilku słupów i przęseł sieci trakcyjnej, a także zszycie terenu.

Należy też rozważyć losy południowej części (tej bez terenu, do Częstochowy). Jest ona ułożona kompletnie w złą stronę (Częstochowa jest ok. 40km od Ostrowa Wielkopolskiego). Obracanej części nie da się odciąć jedną pionową linią (północ – południe), ponieważ przecięło by to południową część. Można np. obrócić więcej niż jeden obszar prostokątny, aby południowa część obróciła razem wschodnią.

W ramach pogłębionego testu powyższe przeliczenia zostały dodane do Rainsted jako operacja w menu, podobnie jak wcześniej przekształcenie Drawinowa. Tory nałożyły się i ich ręczna korekta powinna być względnie łatwa do zrobienia. Skrócenie torów może zaburzyć kolejność słupków hektometrowych — może być potrzebna zmiana oznaczeń. Podobnie nałożyły się słupy sieci trakcyjnej, tak więc wystarczy usunąć nadmiarowe słupy i przęsła. Zszycie terenu też będzie w miarę proste. Problem jest jedynie z plikiem reszta.scm, w którym jeden wpis nie ma end. Rainsted został naprawiony w wersji 20.9.152.15831 i nie wysypuje się już na tym błędnym wpisie. Uszkodzony trójkąt jest prawdopodobnie wewnętrzną stroną ogrodzenia.

node -1 0 none triangles material ambient: 100 100 100 specular: 100 100 100 endmaterial oslonatrakcji
-2412.13 7.1375 5293.55 0.732062 0 0.681238 0 15 end
-2434.29 7.1375 5317.36 0.732062 0 0.681238 0 0
-2412.13 5.2625 5293.55 0.732062 0 0.681238 1 15
endtri

Kwestia południowej części

Od stacji Zduńska Wola w stronę Częstochowy są ułożone tory bez terenu oraz bez otoczenia. Przymiarki do map w okolicy stacji Chorzew Siemkowice oraz Biała Pajęczańska wykazały, że odcinek powinien być obrócony o kąt rzędu 45° (wyznaczone kąty dla dwóch odcinków to 43.7865° oraz 50.4661°) względem torów na odcinku Zduńska Wola – Łódź. Głównym problemem jest jednak stacja Zduńska Wola Karsznice, która też powinna zostać obrócona, a ma teren oraz otoczenie, a dodatkowo miejsce obrotu zawiera łącznice do linii 14 (542 i 739) oraz bocznice (skala niedokładności i skomplikowania przypomina okolice skrzyżowania linii 61 i 131 w Herbach). Dostępnymi obecnie narzędziami można by skorygować kąty (azymuty) poszczególnych odcinków prostych, a potem ręcznie skorygować błędy powstałe na łukach (zakładki). Ewentualnie w dosyć prosty sposób dałoby się przeskalować łuki na nieco inny kąt. Jednak korekta położenia stacji Zduńska Wola Karsznice będzie raczej wymagać znacznej ingerencji w pliki, np. w postaci dodawania około 500m nowych odcinków torów wraz z siecią trakcyjną.

Wobec tej sytuacji, niezbyt zasadne wydaje się wyginanie odcinka pomiędzy stacjami Chorzew Siemkowice oraz Zduńska Wola Karsznice dla uzyskania połączenia z Linią 61, a przed skorygowaniem położenia stacji Zduńska Wola Karsznice. Lepszym wariantem być może jest wydzielenie linii 131 i 146 do osobnego pliku (podobnie jak Wyczerpy i Rząsawa) i rozpoczęcie dopasowania do map od strony Częstochowy. Stacja Zduńska Wola Karsznice byłaby wtedy skorygowana w ostatniej kolejności, a dotychczas istniejące tory w stronę Częstochowy usunięte i zastąpione wersją dopasowaną do map.

Do rozważenia zostaje jeszcze korekta łuku pomiędzy stacjami Chorzew Siemkowice oraz Biała Pajęczańska o 6.6796°, aby uzyskać bardziej poprawną różnicę azymutu torów.

Pewnym prowizorycznym rozwiązaniem może być przenicowanie jednego z łuków w okolicy Zduńska Wola Karsznice (obejmującego 4 tory). Zmieni to ułożenie torów o 20° i może to częściowo zniwelować błąd azymutu. Łuk się da przenicować automatem (przynajmniej tor używany w misji "cegielski" pozostanie poprawny), a otoczenie w tym miejscu jest względnie ubogie (drzewa oraz ściany lasu). Wraz z nagięciem południowego odcinka można by doprowadzić do przejezdnego połączenia z linią 61 przez Wyczerpy i Częstochowę.

Dalszy rozwój tej prowizorki polega na wyprostowaniu jednego z łuków wspólnych dla łącznic 542 i 739. Łuk ten ma około 30°, ale dla uproszczenia można obrócić południową część o dokładnie 30°. Wadą tego rozwiązania jest zepsucie torów linii 131 — jednak ich użyteczność jest znikoma, ponieważ po około 5km i tak się urywają (brak północnego odcinka). Łącznie da się w ten sposób uzyskać obrót stacji Zduńska Wola Karsznice o 50°, co jest już wartością zbliżoną do rzeczywistej.

Warianty zakończenia etapu

Pod uwagę branych jest kilka wariantów zakończenia prac w tym etapie. Do kolejnego etapu będzie wzięty tylko jeden z wariantów. Wybór wariantu będzie zależał od problemów, jakie się w poszczególnych wariantach ujawnią, ale także od możliwości przekształceń w kolejnym etapie (np. może być możliwe przeliczanie przy użyciu niwelet). Założenie jest takie, że przekształcenie będzie możliwe do wykonania w sposób zautomatyzowany (do powtórzenia na innych plikach), ewentualnie potrzebne będą drobne ręczne korekty (zszywanie trójkątów terenu, usunięcie zbędnych słupów i przęseł) w ograniczonej liczbie miejsc (1 do 3).

Wariant A: minimum zmian

Tylko podstawowe operacje na plikach — zaokrąglenia wartości we wpisach, przeliczenie wektorów normalnych i mapowania. Przygotowana paczka może być traktowana jako kontynuacja Etapu 1, gdyż zachowana będzie pełna zgodność i wymienność plików.

Wariant B: tylko przesunięcie

Przesunięcie całości o wektor. Jest możliwe do wykonania dotychczas istniejącymi narzędziami i pliki nie będą wymagały poprawek. Jednak uzyskany rezultat również nie wniesie dodatkowej jakości.

Wariant C: zasadniczo dwie części

Przesunięcie o wektor zachodniej części (Ostrów) i obrót wschodniej (Łódź). Takie ułożenie jest bazą do dalszych zmian. Zmiany w części południowej (Częstochowa) mają w tym wariancie niski priorytet, dlatego jako podwarianty zostały rozważone 3 różne opcje, jako opcjonalne etapy przejściowe. Przeliczenie dowolnych plików scenerii można wykonać w Rainsted, ewentualnie innymi dostępnymi narzędziami (np. w arkuszu kalkulacyjnym). Głównym problemem tego wariantu było skrócenie łuku w miejscu obrotu. W ramach pracy nad wariantem D zostało opracowane skalowanie, które wymaga jedynie drobnych poprawek dla uzyskania przejezdności (a więcej dla estetyki). Ponieważ został pozytywnie przetestowany wariant D, a wariant C nie wnosi dodatkowej jakości, rezultaty tego wariantu nie będą osobno publikowane (większość plików zostanie przeliczona od razu na wariant D).

Wariant C1: dwie części

Część południowa (do Częstochowy) jest obrócona podobnie jak część wschodnia (do Łodzi), dzięki czemu pozostaje bez zmian przejezdność do Częstochowy, ale bez większych korzyści jakościowych (nadal w kompletnie złym miejscu).

Wariant C2: trzy części, południowa bez zmian

Część południowa (do Częstochowy) pozostaje bez przeliczenia (tory są urwane na południe od ZWK), aby nie przeliczać obiektów, które i tak nie są używane w podstawowych misjach. Przetworzone pliki można następnie porównać z plikami wariantu D (mniej zmian na raz).

Wariant C3: więcej części

Część południowa (do Częstochowy) jest podzielona i obrócona podobnie jak w wariancie D (tory są urwane). Zduńska Wola Karsznice pozostaje bez zmian (obrócona jak część wschodnia). Również jako wersja przejściowa do porównania pomiędzy rezultatami wariantu C oraz D. Potencjalnie baza do ręcznych poprawek wyjazdu na Częstochowę, gdyby się okazało, że obracanie automatem generuje zbyt duże błędy.

Wariant D: dziesięć części

Próba lepszego ułożenia linii 131 (na południe od Zduńskiej Woli). Głównym motywem jest lepsze umiejscowienie stacji Chorzew Siemkowice oraz uzyskanie połączenia z linią 61 poprzez wspólną Częstochowę Osobową. Fragment pomiędzy Łodzią a Zduńską Wolą jest obrócony i przesunięty, a na zachód od łuku koło Sieradza jest tylko przesunięcie (stan zgodny z wariantami C). Algorytm przeliczenia może być jeszcze nieznacznie modyfikowany, aby uzyskać mniej pracochłonne połączenia po cięciu.

  • Algorytm przeliczenia o 36 obszarach prostokątnych oraz 9 punktach cięcia jest dodany do Rainsted 21.7.154.16458. Obiekty w miejscach cięcia i łączenia nie są prawidłowo przeliczane i wymagają ręcznych poprawek. Na trzech łukach są zakładki (do usunięcia tory i sieć), trzy łuki są wydłużone (wektory kontrolne torów do korekty, do dodania sieć), jeden wyprostowany, jeden przegięty na przeciwną stronę, również jedna zakładka jest na odcinku prostym (wykonane skalowanie, obiekty mogą być do usunięcia). Dodatkowo do ewentualnej rekonstrukcji jest fragment linii 131 (nieużyteczny — tory dalej na północ i tak są urwane). W południowej części tory umożliwią uzyskanie połączenia Zduńska Wola – Herby przez Częstochowę (potrzebna jest tylko zmiana wysokości oraz obcięcie zbędnych obiektów i sklejenie w okolicy Rząsawy).
  • W ramach Etapu 3 zostały nieznacznie zmodyfikowane parametry przeliczenia, przez co łączenie pomiędzy LK131 oraz LK146 będzie teraz przesunięte o około 33cm. Zmiany są wprowadzone od Rainsted 22.12.166.18352. Algorytm będzie pozostawiony w przyszłych wersjach Rainsted jako potencjalnie udany stan ewolucji scenerii, przynajmniej do czasu opracowania lepszego sposobu jej przeliczenia.
  • W związku z usunięciem Częstochowy w paczce kaliska_v3.0.7z, dodane zostało automatyczne obcinanie obiektów zgodnie z Wariantem E, przez co Wariant D nie będzie odrębnie obsługiwany (jest zintegrowany z Wariantem E oraz Wariantem F).

Wariant E: odcięcie LK1

Ponieważ uzyskanie przejezdności po przeliczeniu wg Wariantu D wymaga pewnej liczby ręcznych poprawek, jak również niektóre potrzebne poprawki są niezależne od przeliczania (niezgodne przechyłki, niestykające się przęsła sieci trakcyjnej, brakujące słupy), więcej sensu będzie miało zadbanie o przejezdność niż o lepsze dopasowanie kolejnych fragmentów do map (co też może wymagać poprawek). Wobec braku terenu i otoczenia samo obrócenie południowej części nie wnosi wiele pod względem jakości. Podniesieniem na wyższy poziom będzie jednak obcięcie scenerii w okolicy stacji Rząsawa i spasowanie z fragmentem opracowanym w ramach Linii 61, ponieważ umożliwi przejazd na inne trasy. Przy wykorzystaniu mechanizmów grupowego usuwania możliwe jest zapisanie odciętych obiektów w osobnym pliku.

  • W związku z usunięciem Częstochowy w paczce kaliska_v3.0.7z, z Rainsted został usunięty zapis odciętych obiektów do plików z przedrostkiem lk1_ (np. obiekty z pierwotnego pliku tory.scm były zapisywane do pliku lk1_tory.scm).

Wariant F: wydzielnie LK146

Odcięcie w okolicy stacji Rząsawa okazało się dosyć proste do realizacji, a sceneria jest w miarę przejezdna do Częstochowy Osobowej (w wersji wziętej ze scenerii "Linia 61"). Kolejnym możliwym krokiem jest odcięcie linii kolejowej 146. Wydzielenie obiektów do osobnych plików da możliwość przeniesienia tego odcinka do edytora RSF i dodania tam np. profilu pionowego bez ingerowania w pozostałe pliki scenerii "Kaliska". W zasadzie lepszym rozwiązaniem byłoby oddzielenie większej części linii 131, niemniej pomiędzy stacjami Chorzew Siemkowice oraz Zduńska Wola nie ma takiego miejsca, które by pasowało do mapy na tyle, aby zrobić tam łączenie osobnych plików.

Rezultaty prac

kaliska v2.0.1.7z

Bazą do realizacji etapu są pliki z paczki kaliska v2.0.1.7z, opublikowanej w dniu 2021-05-26. Skala zmian jest dosyć duża względem zawartości z 2019. Odcinki torów, dróg i rzek otrzymały unikalne nazwy, złożone z litery i numeru. W drogach i rzekach innych zmian nie było, natomiast w torach usunięte są parametry velocity z wartościami innymi niż 0 i 1, a ustawione odczyty ograniczeń prędkości przez eventy, widoczne są też uzupełnienia i poprawki w przypisaniu sygnalizatorów oraz SHP. W niewielkiej skali dodane są odcinki izolowane. Poprawiony plik sieci trakcyjnej z 2020 raczej nie został uwzględniony. W kilku miejscach sieć trakcyjna robi wrażenie, że zagubiona została zmiana znaku współrzędnej Z, co należałoby poprawić przed dalszymi przeliczeniami. W plikach wskaźników oraz sygnalizatorów są usunięte puste linie i zrobione zmiany porządkujące. W pliku terenu usunięte są niektóre trójkąty, ale wektory normalne i mapowanie pozostało bez zmian (również są parametry materiału). Pozostałe pliki też mają dużo zmian.

Pliki z paczki zostają przyjęte bez zmian do podkatalogu kaliska1 i będą przeliczane do podkatalogu kaliska2. W razie opublikowania zmian dokonanych przez innych autorów, zostaną one wykryte i zliczone przy pomocy SVN w podkatalogu kaliska1, a następnie zweryfikowane po przeliczeniu w podkatalogu kaliska2. Zmienione pliki są do pobrania pod adresem http://rainsted.com/warsztat/Kaliska.

  • Archiwum kaliska2a-210526.7z zawiera przetworzone pliki scenerii, przy czym nie są wykonane żadne przeliczenia współrzędnych. W miarę możliwości wszelkie zmiany zostały porównane przez SVN, czy ich zakres nie doprowadził do uszkodzeń wpisów. W pliku reszta.scm są zgubione puste linie pomiędzy linią komentarza a następującym wpisem, ponieważ Rainsted nieprawidłowo reaguje na takie sytuacje. Paczka nie była testowana. Uwagę należy zwrócić na odcinki łuków pionowych (proste w planie), które po zerowaniu wektorów kontrolnych mogły zamienić "łuk pionowy" na dwa ostre załomy. Zachowana jest pełna zgodność logiczna i wymienność plików ze stanem po obrocie o 180° (Etap 1).
  • Archiwum kaliska2f-210526.7z zawiera przeliczone i pocięte pliki scenerii wg Wariantu F (odcięcie LK1 i wydzielenie LK146). Testowany był przejazd ET42-021 od Dionizowa do Częstochowy Osobowej jako demonstracja połączenia scenerii. Dołączony jest plik lk1/wy_i2011.scm jako aktualizacja Linii 61 w zakresie wyjazdu na północ ze stacji Rząsawa (wcześniejszym wersjom brakowało ok. 300m toru do granicy siatki kilometrowej). Błędy w sieci trakcyjnej nie zostały naprawione, jak również są zauważalne pewne nieprawidłowości w torach.

kaliska v3.0.7z

W grudniu 2021 pojawiła się kolejna wersja — kaliska v3.0.7z. Paczka wygląda na zrzut z systemu śledzenia wersji, ponieważ większość plików ma ustawioną datę na 2021-12-14 albo 2021-12-15. Nie da się przez to ustalić na pierwszy rzut oka, które pliki zostały zmienione, a których zawartość pozostała taka sama. Pliki z paczki zostają przyjęte bez zmian do podkatalogu kaliska1 i będą przeliczane do podkatalogu kaliska2.

kaliska v3.2b.7z

Paczka z 2022-04-18 zawiera drobne korekty sygnalizacji oraz sieci trakcyjnej. Elementy przejazdów są przeniesione do innego pliku, a ich odczyty dopisane do dróg. Paczka przyjęta jako baza w kaliska1/.

  • Archiwum kaliska2f-220417.7z zawiera przeliczone i pocięte pliki torów wg Wariantu F (odcięcie LK1 i wydzielenie LK146), przy czym współrzędne końców odcinków zostały zregenerowane w ramach Etapu 3. Jest to nakładka na paczkę kaliska2f-210526.7z. Wstępnie testowany był przejazd ET42-021 od Dionizowa w stronę Częstochowy Osobowej.

Uwagi do paczki kaliska_v2.0.1.7z

Celem Etapu 2 nie jest poprawianie detali w scenerii, a opracowanie algorytmu, którym można przeliczyć dowolny plik, aby uzyskać lepsze dopasowanie torów do map. W trakcie testowania rezultatów pracy zauważone zostały pewne błędy, których część mogła powstać podczas Etapu 1 i nie została wykryta wcześniej. Np. Rainsted nie przeliczał mocowań sieci trakcyjnej, które miały wpisaną ścieżkę tr\ zamiast tr/, gdyż w takich przypadkach nie była prawidłowo rozpoznana kolejność parametrów XYZAT (wykrywana po obecności tr/). I zamiast zmiany znaków przy X oraz Z zmieniały się znaki przy Y oraz A... Typ ukośnika ma takie znaczenie, że dla tr/ tekstury obiektu będą poszukiwane w tej samej ścieżce (np. dla tr/ będzie textures/tr/), natomiast dla tr\ tekstury będą poszukiwane względem textures/.

  • Od stacji Zduńska Wola Karsznice w stronę Częstochowy są błędy w sieci trakcyjnej, wyglądające jakby użyty był nieprawidłowy znak współrzędnej Z. Dotyczy słupów i przęseł w okolicy Z=0. Trzeba też zwrócić uwagę na kąty.
  • Na linii 131 w okolicy wiaduktów z górną drogą słupy mają nieprawidłowy kąt i stoją na torach. Są 2 albo 3 takie miejsca.
  • Na linii 131 są przęsła kotwiące, w których słup ma nieprawidłowy kąt i stoi w torach.
  • Na linii 131 w kilku miejscach odcinki torów mają niezgodne przechyłki.
  • Na linii 131 oraz 146 brakuje sygnalizatorów. Były we wcześniejszych paczkach.
  • Na stacji Chorzew Siemkowice brakuje sieci trakcyjnej. Była we wcześniejszych paczkach.
  • Plik trakcja_sek.scm wygląda na pominięty przy obracaniu o 180°.
  • W pliku hekto.scm są obiekty umieszczone daleko na północ, wyglądają jakby nie zostały przeliczone w Etapie 1 albo współrzędna Z ma nieprawidłowy znak. Możliwe jest również, że były używane słupki o układzie parametrów XYZAT, co nie zostało rozpoznane i zostały potraktowane jako układ TXYZA.

Uwagi do paczki kaliska_v3.0.7z

  • Nadal występują te same błędy w sieci trakcyjnej na linii 131 oraz braki sygnalizatorów.
  • Plik trakcja_sek.scm wygląda na poprawiony (sieć w okolicy Łodzi, nie pojawia się już jako odległa od torów).
  • Są poprawki współrzędnych słupków hektometrowych.
  • Odcięta została Częstochowa razem ze stacją Rząsawa, pozostały jedynie jakieś zagubione odcinki (perony, pętla zastępująca stację Rudniki). Odcięcie wg Wariantu E pozostawia też kilka odcinków torów oraz elementów sieci trakcyjnej, tak więc dla Wariantu E zostanie wprowadzone usuwanie obiektów zamiast ich wydzielania do osobnych plików.
  • Analizator w Rainsted pokazuje 35 brakujących plików oraz kilka wpisów o nieprawidłowej składni.

Zamknięcie etapu

Efektem realizacji Etapu 2 jest wstępne połączenie scenerii realistycznych, usprawnienie obsługi obiektów w Rainsted oraz ulepszenie przeliczania prostokątami o skalowanie obszarów przejściowych.

Wobec wykrycia w opublikowanej paczce błędów, które wydają się powstałymi na Etapie 1 (zagubione sygnalizatory, źle obrócone elementy sieci trakcyjnej), nie ma obecnie sensu dalsze rozbudowywanie Etapu 2 (tzn. w celu przeniesienia niezależnych prac na nowy zestaw plików). Wykryte błędy lepiej zbadać i poprawić przed wykonaniem przeliczeń Etapu 2. W związku z tym dalsze prace nad metodami przekształcania scenerii zostają zawieszone do momentu publikacji kolejnej paczki, a etap zmierza do zamknięcia.

W 2022 roku rozpoczęty został Etap 3, bazujący na plikach Etapu 1 oraz wnioskach z Etapu 2. Zostały przeliczone LK146 oraz LK131 nowym narzędziem "kąty i prostokąty" z wydzieleniem obiektów do osobnych plików w celu dalszego dopracowania w sposób niezależny od całości scenerii.

Kolejne etapy

Zasadniczym celem wykonywanych prac jest wykorzystanie scenerii do symulacji tras nieprzewidzianych pierwotnie przez autora, a także ulepszenie poprzez wykorzystanie danych geodezyjnych (numeryczny model terenu, bryły budynków CityGML). Obecny etap ma ewentualnie przygotować do kolejnych etapów, które będzie można wykonać niezależnie od siebie, w zależności od dostępnych narzędzi i potrzeb.

  • Przebudowa Łodzi, umożliwiająca podłączenie trasy na Kutno i Toruń, ewentualnie rozbudowę w innych kierunkach (Łowicz, Koluszki).
  • Korekta do map odcinka Łódź – Sieradz w celu urealnienia profilu pionowego.
  • Korekta do map odcinka Zduńska Wola — Rząsawa (Częstochowa).
  • Korekta odcinka Sieradz – Ostrów Wielkopolski w celu połączenia z Kępnem.
  • Prowizoryczna budowa odcinka linii 131 od stacji Herby Nowe do stacji Chorzew Siemkowice z wykorzystaniem fragmentów innych scenerii.
  • Całościowa korekta torów linii 14 nowym narzędziem "kąty i prostokąty".
  • Całościowa korekta torów linii 14 nowym narzędziem "przeliczanie niwelet".
  • Uruchomienie pociągu pośpiesznego 54503 na odcinku od stacji Zduńska Wola Karsznice przez Częstochowę Osobową do Herbów Starych wg rozkładu z 2003 roku.

Ewentualnie do wykonania:

  • Sortowanie sieci trakcyjnej (ułożenie przęseł w jednym kierunku, potrzebne w razie przeniesienia do RSF).
  • Poprawki nazewnictwa rozjazdów oraz semaforów (wg schematów stacji, plus unikalne przedrostki).
  • Dodanie odcinków izolowanych na stacjach.
  • Grupowanie odcinków izolowanych rozjazdów i utworzenie skryptów sterujących.
  • Podniesienie całości o około 190m, dzięki czemu można będzie odcinkowo urealnić profil pionowy.
  • Zmiana profili podsypki na 2-5-13.
  • Wydzielenie napędów rozjazdów.
  • Korekta rozjazdów krzyżowych (położenie "a" względem "b", skierowanie odcinków punktem 1 do iglic), wymiana zwrotników.

Scenerie realistyczne
Sceneria Podstrony i informacje
Gorlice Realistyczny układ torów
Kaliska Etap 1Etap 2Etap 3WyczerpyLK146LK131Komórki
Linia 61 UwagiWOS 2011Aktualne zmianyZmiany 2017÷201920162015Komórki
Linia 64 Realistyczny układ torów
Linia 139 Aktualne zmianyKomórki
Linia 181 WOS 2011Aktualne zmianyKomórki
Suwałki Zmiany
Szczecin Przeliczenie
Tarnowskie Góry ZmianyKomórki
Toruń Zmiany
Tramwaje GOP Realistyczny układ torów
Scenerie fikcyjne
Sceneria Podstrony i informacje
Czarne Prosty tor o długości ponad 460km
Drawinowo Zmiany
Linia 546 OpisDzierżawa
MZD Zmiany
Quark MydelniczkaRuch 2016Aktualne zmiany
SDR StrzęsowiecCzerwiceKarpiceKrętoszynPiaskowiecWostrzewo
Tarniowo Na bazie rzeczywistej stacji, poprawne profile pionowe na szlakach
Zwierzyniec Zmiany
Zagadnienia ogólne
Profil 2-5-13Odcinki izolowaneSterowanie ruchem 2016Zasięgi nazewnictwa
Sieć trakcyjnaRegulacja
Teren NMT-100Budynki CityGMLPrzeliczanie niweletamiPrzeliczanie obszaramiKomórkiPUWG1922
Formatowanie SCNUnifikacja klonówZapis czasu
YouTube: Sceneria w RainstedZakopane
Lista scenerii, którymi można się zaopiekować