Edytor/RSFSTRU
RSFSTRU to zbiór informacji o strukturze pliku RSF oraz edytor binarny, który pozwala przeglądać i zmieniać zawartość pliku RSF w sposób niezależny od mechanizmów edycyjnych.
Informacje o strukturze pliku RSF są zapisane w postaci plików tabelarycznych (DBF, CSV, XLS, ODT) oraz pliku nagłówkowego H, który przypisuje ciągom tekstowym odpowiednie wartości liczbowe, zawierające informacje o kodzie obiektu, rozmiarze oraz pozycji parametru rekordzie, a także interpretacji parametru (np. użytej jednostce).
Plik RSFSTRU.DBF
Plik jest obecnie (2022) bazowym do pozostałych formatów. Będzie służył do wygenerowania plików H, poprzez odpowiednie operacje na zapisanych w nim danych.
Zawartość RSFSTRU.DBF | ||
---|---|---|
Pole | Typ i rozmiar | Zawartość pola |
VERMASK | C4(X4) | Maska szesnastkowa obsługiwanych wersji pliku RSF, obecnie wszędzie "0001", co oznacza wersję 16. |
TYPE | C4(X4) | Kod typu obiektu po użyciu maski (szesnastkowo). |
MASK | C4(X4) | Maska dla typu obiektu (szesnastkowo). |
BYTE | C4 | Numer bajtu początkowe (dla rozjazdów również w drugim rekordzie). |
BIT | N1 | Dla pól niecałkowitobajtowych liczba bitów do pominięcia (<8). |
BITS | N3 | Liczba bitów dla parametrów: 1, 2, 3, 4, 8, 12, 16, 32. |
FORMAT | C1 | Znak określający sposób interpretacji danych, np. "m" oznacza jednostkę [1mm]. |
CODE16 | C8 | Tymczasowe pole z kodami z okna Własności w Rainsted. |
CODE17 | C8(X8) | Nowy kod do stworzenia pliku H i funkcji pobierających dane. |
LEVEL | N1 | Poziom grupowania danych (np. że punkt składa się ze współrzędnych). |
STATUS | C2 | Informacja o planach w zakresie zmiany znaczenia parametru. |
TEXTPL | C100 | Opis w języku polskim. |
TEXTEN | C100 | Opis w języku angielskim, planowany. |
Legenda typu pola:
- C — pole tekstowe (dowolne znaki).
- N — pole liczbowe (cyfry dziesiętne).
- X — pole liczbowe (cyfry szesnastkowe).
Plik H
Plik zawiera słowa (identyfikatory, leksemy, stałe znakowe) opisujące poszczególne parametry obiektów oraz przypisane im stałe liczbowe, na postawie których funkcje obsługujące format RSF będą w stanie ustalić, czy dany obiekt zawiera określony parametr oraz jakiego typu on jest. Założenie jest takie, że słowa powiązane z parametrami pozostaną niezmienione, natomiast powiązane z nimi liczby mogą się zmieniać, w miarę potrzeby zmiany funkcji obsługującej parametry, ewentualnie ewolucji struktury RSF.
Stałe liczbowe, przypisane słowom, będą zaawansowaną kombinacją pól TYPE, MASK, BYTE, BIT, BITS, FORMAT z opisanego wyżej pliku RSFSTRU.DBF. Wartość ta będzie wyliczana do pola CODE17, przy czym w przyszłości mogą powstać inne algorytmy wyliczania oraz pola CODE18, CODE19 itd.
Słów z pliku H można użyć w funkcjach pobierania i ustawiania parametrów w RSF, np. w kodzie importowania danych z RSF albo eksportowania do formatu RSF. Dopuszczalne jest również użycie słów do obsługi parametrów w innym formacie (np. MaSzyny), aczkolwiek wtedy słowa te muszą mieć własny plik H i własną obsługę obiektów (utworzonych z pliku tekstowego).
Przykłady słów:
rsfTrackWidth1 — szerokość odcinka w punkcie 1 rsfTrackWidth2 — szerokość odcinka w punkcie 1 rsfTrackTex1 — obiekt tekstury 1 odcinka rsfTrackTex2 — obiekt tekstury 2 odcinka
Tabele składniowe
Dla poszczególnych typów obiektów zostaną określone (na podstawie analizy pliku RSFSTRU.DBF) tabele składniowe, zawierające listę parametrów dla poszczególnych obiektów. Dzięki tym tabelom będzie możliwe automatyczne generowanie formularzy edycyjnych, a także import danych z formatu RSF oraz tworzenie formatu RSF z danych o innym formacie.
Klasy ogólne | Bin • BinManager • BinRecord • BinItem • BinLine • BinPos |
---|---|
Klasy parametrów | BinFile • BinArcInfo |
Klasy obiektów | BinTrack • BinPath • BinSection • BinTraction |
Linie | Linia kierunkowa • Niweleta • Poprzeczka • Trajektoria • Ściana |
Punktowe | Bramka • Budowla • Drzewo • Obrotnica • Most • Przejazd • Studnia • Ukres |
Trójkąty | Trójkąty • Teren NMT-100 • CityGML |
Eksport | MaSzyna • Kody eksportu |
Operacje | Układanie niwelety • Łuki koszowe |
Inne | RSF wersja 15 • RSF wersja 16 • Warstwy • Grupa • Komórki • Scenerie • RSFSTRU |