Ai-Xis 6
Przestrzeń GEO

GEO — mapa zasadnicza

Moduł GEO (identyfikator mapa) pokazuje mapę zasadniczą: trzy rejestry urzędowe — GESUT, EGiB i BDOT500 — narysowane znakami umownymi z załącznika nr 4 do rozporządzenia.

Moduł GEO (identyfikator mapa) pokazuje mapę zasadniczą: trzy rejestry urzędowe — GESUT, EGiB i BDOT500 — narysowane znakami umownymi z załącznika nr 4 do rozporządzenia. Dane idą z PostGIS przez serwer kafelków wektorowych Martin, a znaki punktowe i wzory linii rysuje przezroczysta nakładka Three nad mapą.

Wszystkie warstwy urzędowe przychodzą jednym kafelkiem złożonym — jedno zapytanie do Martina na kafelek widoku, a nie osobne dla każdej z ponad trzydziestu warstw (od 2026-09-14). Wcześniej przesunięcie mapy wysyłało setki zapytań naraz. Warstwy ukryte przychodzą w kafelku razem z widocznymi, ale mapa ich nie rysuje.

Punkt graniczny EGiB rysuje się kołem, nie obrazkiem (od 2026-09-19). Znak punktowy z kafelka, którego blok to jeden okrąg — punkt graniczny stabilizowany (pusty okrąg 1,0 mm z kreską 0,18 mm) i niestabilizowany (kropka o średnicy 0,18 mm, jak w tabeli rozporządzenia) — idzie warstwą kół MapLibre: koło i obwódka są liczone analitycznie, więc pusty okrąg ma pusty środek także przy 4 pikselach, a kropka ma swój rozmiar, nie rozmiar okręgu. Wcześniej oba znaki były obrazkami SDF skalowanymi do 1,0 mm i wyglądały jednakowo — jak pełna plama. Pozostałe znaki punktowe kafelków nadal są obrazkami SDF.

Drzewo obiektów

Grupy GESUT, EGiB i BDOT500 nie są osobnymi modułami — to grupy obiektów w drzewie w lewym sliderze. Z drzewa osiągalny jest każdy z 89 znaków GESUT, łącznie z wariantami:

  • grupa NIECZ — warianty „nieczynny";
  • warianty kształtu: supw_okragly, supw_kwadratowy, sutp_napowietrzny;
  • pozycje „— obszar" dla obiektów powierzchniowych.

W grupach BDOT500 obiekty stoją płaską listą, bez węzła do rozwijania: każda reprezentacja jest osobną pozycją w schemacie KOD - Opis (Punkt | Linia | Powierzchnia | Okrąg), np. „OTDC - Wieża ciśnień (Punkt)" i „OTDC - Wieża ciśnień (Powierzchnia)". Zakładki GESUT, EGiB i BDOT500 nie mają kolumn WIDOK i DRUK (od 2026-09-13 wszystkie trzy) ani kolumny z liczbą obiektów (od 2026-09-14) — widocznością i drukiem steruje zakładka WARSTWY. GESUT i EGiB mają węzeł obiektu z typami wprowadzania pod nim. Nagłówki grup GESUT (SIEĆ WODOCIĄGOWA, SIEĆ KANALIZACYJNA…) stoją bez kodu grupy (polecenie 2026-09-13).

Przewody GESUT wg typu (od 2026-09-13): przewód, którego schemat ma atrybut typPrzewodu, stoi w drzewie jako osobny węzeł na każdy typ — „SUKP PRZEWÓD KANALIZACYJNY-SANITARNY", „-DESZCZOWY", „-OGÓLNOSPŁAWNY", „-PRZEMYSŁOWY", „-LOKALNY"; tak samo SUWP (ogólny, lokalny), SUEP (wg napięcia), SUGP (wg ciśnienia), SUCP (wg parametru), SUTP (światłowód, inny), SUSP (benzynowy, naftowy, inny). Każdy węzeł ma te same opcje (oś, obrys, w skali) i ten sam znak; wybór zakłada warstwę z atrybutem domyślnym gml_typPrzewodu, który obiekt dostaje od chwili narysowania — z niego powstaje litera w opisie („kd200" = kanalizacja deszczowa 200); obiekty z importu dostają typ z atrybutu typ_przewodu. Węzeł „napowietrzny" (SUEP, SUTP) zostaje jeden — jego opcje same niosą napięcie.

Przewód nadziemny z importu ma znak napowietrzny (od 2026-09-25). Obiekt z atrybutem przebieg = „n" (nadziemny) dostaje znak (B–E) załącznika nr 4 wybrany według napięcia: niskie → B, średnie → C, wysokie → D, najwyższe → E; telekomunikacyjny ma jeden znak napowietrzny. Wcześniej taki przewód rysował się znakiem podziemnym, czyli gołą czerwoną linią bez znaczków wzoru — a to znak (A), przewidziany dla przewodów podziemnych. Przewód nieczynny zostaje przy swoim znaku, bo biblioteka nie ma znaku łączonego, a nieczynność widać na mapie ważniej niż sposób prowadzenia. Przy imporcie do rysunku przewody napowietrzne trafiają na osobną warstwę z dopiskiem „— napowietrzne": warstwy rozdziela znak, więc bez dopisku dwie różne warstwy nazywałyby się tak samo.

Od 2026-09-12 w zakładkach GESUT, EGiB i BDOT500 każda grupa stoi w ramce z rozwijanym nagłówkiem (kliknięcie rozwija i zwija), a pozycje obiektów w rozwiniętej grupie to nawigacja z kreską (LineNav): kreska przy pozycji wybranej do rysowania i pod kursorem jest dłuższa. Pozycja bez znaku w bibliotece jest wyszarzona. Węzeł z opcjami wprowadzania (oś, obrys, w skali) rozwija się kliknięciem, a opcje stoją pod nim tą samą nawigacją, wcięte.

Zakładka WARSTWY

Pokazuje warstwy, które w rysunku naprawdę są — także puste; warstwy z największą liczbą obiektów stoją na górze. To tabela pismem 10 px z kolumnami: LP. (numer pozycji po sortowaniu), NAZWA (etykieta znaku taka sama jak w zakładkach GESUT / EGiB / BDOT500: kod i nazwa; warstwa własna bez znaku w drzewie zostaje pod nazwą z projektu), SZER. (szerokość kreski; w komórce sama liczba z kropką dziesiętną, milimetry w podpowiedzi; od 2026-09-25 kliknięcie otwiera listę szerokości, którymi rysują biblioteki: 0.05–1 mm, a wartość spoza listy zostaje na niej — bez wpisywania z ręki), KOLOR (sama próbka; zapis #rrggbb w podpowiedzi pod kursorem; kliknięcie otwiera dymek z szesnastoma kolorami podstawowymi i przyciskiem WŁASNY KOLOR, który sięga po wybierak przeglądarki — od 2026-09-20, ten sam dymek stoi przy stylu warstwy w pasku narzędzi), WIDOK (oko), LINIA (próbka wzoru kreski) i DRUK (drukarka: czy warstwa wchodzi na wydruk PDF). Kolumna OBIEKTÓW i pasek z liczbą warstw i obiektów nad tabelą zeszły 2026-09-14. Układ kolumn i pismo od 2026-09-12; od 2026-09-23 nagłówek brzmi SZER. zamiast GRUBOŚĆ MM, a kolumna LINIA stoi za WIDOKIEM. Tabela stoi na tej samej siatce, co tabela obiektów w prawym sliderze: kliknięcie nagłówka sortuje, krawędź nagłówka zmienia szerokość kolumny, nagłówek jest przyklejony, a wiersze są wirtualizowane. Kliknięcie wiersza ustawia warstwę bieżącą (wiersz zaznaczony); oko i drukarka działają bez zmiany warstwy. Rodzaj linii, grubość i kolor idą ze znaku umownego warstwy, a nadpisania ze stylu warstwy mają pierwszeństwo — tabela mówi to, co widać na mapie.

Przełączenie oka lub drukarki nie przelicza całego rysunku (od 2026-09-25): kreskowanie skarp i stopnie schodów są pamiętane na obiekt i na mapę idzie tylko różnica, więc na opracowaniu z ponad stu tysiącami obiektów kliknięcie zamyka się w ułamku sekundy zamiast kilku sekund. Kliknięcie w wiersz warstwy ukrytej nie ustawia jej jako bieżącej — pasek komunikatów mówi, że na ukrytej warstwie nie da się rysować.

Rzędne urządzeń GESUT i opis „innej budowli"

Nośnik rzędnej GESUT (punkt o określonej wysokości przewodu lub urządzenia) niesie rzędną góry i dołu. Na mapie stoją obie: góra w pierwszym wierszu, dół pod nią (od 2026-09-13; wcześniej rysowała się tylko góra), obie z dwoma miejscami po przecinku także wtedy, gdy plik nie niesie własnej treści opisu (wcześniej „269.1" zamiast „269.10"). Nośnik z samą rzędną dołu (dno bez rzędnej włazu) pokazuje ją w pierwszym wierszu, razem z odnośnikiem z pliku — wcześniej taki punkt nie miał na mapie ani rzędnej, ani odnośnika (poprawka 2026-09-13). Kreska odnośnika jest kreską ułamkową: góra nad nią, dół pod nią; nośnik z samą rzędną dołu stoi pod kreską (2026-09-13). Wiersze opisu piętrowego są wyrównane do wspólnej prawej krawędzi (od 2026-09-19): cyfry mają jednakową szerokość, więc przecinki obu rzędnych stoją pod sobą także wtedy, gdy liczby różnią się liczbą cyfr („1256.80" nad „256.30"); wcześniej każdy wiersz był osobno wyśrodkowany. Kreska odnośnika biegnie pod całą kolumną. Symbole i litery rysowane blokami stoją względem osi układu projektu, nie północy geograficznej — poprawka zbieżności południków w blokach Three (zgłoszenie „wstawiony symbol jest skręcony", 2026-09-13). Odwodnienie liniowe SUKL: pas dwóch krawędzi b 1,0 mm bez osi, zamknięty na końcach, z kreskami poprzecznymi co 0,7 mm. Obiekt BDOT500 OTDI „inna budowla" ma na mapie stały opis „ib" (wskazanie użytkownika z rozporządzenia, 2026-09-13); informacja dodatkowa („korytko betonowe", „fundament") jest tylko atrybutem w panelu obiektu, nie napisem na mapie.

Sekcje atrybutów w panelu obiektu (od 2026-09-25). Panel w prawym sliderze dzieli atrybuty obiektu na trzy sekcje: „Atrybuty wg rozporządzenia" (albo „wg schematu biblioteki", gdy warstwa pochodzi z biblioteki własnej ze słownikiem z XSD) — pola ze słownika klasy, listy kodowe jako wybór; „Atrybuty GML spoza schematu" — każde pole gml_*, którego słownik biblioteki nie zna, także dla obiektu na warstwie bez znaku (do 2026-09-25 takie pola nie pokazywały się nigdzie, choć szły do eksportu); „Atrybuty techniczne" — reszta (blok, środek, obrót). O tym, KTÓRY słownik opisuje obiekt, rozstrzyga warstwa (biblioteka_id), a bez niego — prefiks kodu znaku (SU, EG, OT); biblioteki własne nie są nigdy przeszukiwane po samym znaku, bo ten sam kod może mieć w dwóch bibliotekach inne atrybuty. Warstwa założona znakiem z biblioteki własnej zapamiętuje identyfikator tej biblioteki (od 2026-09-25), więc słownik nie jest zgadywany po kodzie — bierze się z niej wprost.

Styl punktu a obiekty z rejestrów

Pozycja Punkt… w menu USTAWIENIA ramki mapy wybiera symbol punktów roboczych (dziś: punkty z wykazu współrzędnych): kółko, kółko z kropką, kropka, krzyżyk, kwadrat albo brak symbolu. Obiekty punktowe GESUT, EGiB i BDOT500 — także pikiety OTRN i OTRS (kropka 0,18 mm i rzędna pismem 1,5 mm) — temu ustawieniu nie podlegają: rysuje je znak z rozporządzenia. (Do 2026-09-13 było odwrotnie: ustawienie zmieniało pikiety.)

Tabela obiektów a ruch mapy

Tabela w prawym sliderze pokazuje rysunek uspokojony: po każdej zmianie (dociągnięcie kadru z bazy, edycja) czeka 300 ms ciszy i dopiero wtedy przebudowuje wiersze. Mapa i panel danych idą na żywo; tabela nie liczy tysięcy wierszy kilkanaście razy w czasie jednego przesunięcia mapy.

Tabela pokazuje cały rysunek, nie wycinek: przy 126 311 obiektach pasek stanu mówi „Wierszy: 126 311" i tyle też da się przewinąć. W drzewie strony stoi jednak tylko kilkadziesiąt wierszy naraz — te widoczne plus zapas — a resztę wirtualizacja podstawia w trakcie przewijania. Pole Szukaj filtruje po całości, niezależnie od tego, co akurat widać na mapie.

Do 2026-09-25 tak nie było: gniazdo prawej szuflady nie miało własnej wysokości, więc obszar przewijania tabeli rósł do wysokości wszystkich wierszy (4 041 992 px), wirtualizacja uznawała, że cała tabela mieści się w oknie, i wstawiała do drzewa strony komplet 126 311 wierszy. Przewijała się wtedy płyta szuflady, a nie tabela — stąd kilkanaście wierszy i pusta przestrzeń pod nimi.

Przełączenie zakładki nic nie kosztuje (od 2026-09-26). Tabela zapamiętuje policzone wiersze: wyjście na zakładkę INFO ich nie wyrzuca, a powrót nie liczy ich od nowa. Przeliczenie odbywa się wtedy, gdy zmieni się rysunek — także wtedy, gdy zmienił się przy schowanej zakładce, więc po powrocie widać stan aktualny, a nie zapamiętany.

Wcześniej było odwrotnie: schowanie zakładki kasowało wiersze, a powrót budował je od zera. Przy 126 311 obiektach każde przełączenie zatrzymywało aplikację na pół sekundy do sekundy (zmierzone: 543–824 ms; po poprawce 100–126 ms).

Symbolika

  • Wzory linii EGiB pochodzą z biblioteki MapaZas2021.lin — 11 kodów (EGJE, EGOE, EGUG, EGKK, EGBU, EGBP, EGBL, EGBZ, EGBA, EGBW, EGBI).
  • 22 znaki BDOT500 ze wzorem kreskowym, wzory powierzchniowe zieleni (otzz, otzk, otzc, otzt).
  • Etykiety GESUT i EGiB: litera sieci, typPrzewodu i średnica.
  • Znaki dwuliniowe, końcówki linii (przepust OTKZ, brama OTOB, furtka OTOF), symbol środka (OTSP, OTSZ), obrysy poligonów.
  • Wstawki (kropki ogrodzeń, kształty) znikają poniżej zoomu 15.

Skala

Jeden stan skali opracowania (1:500 albo 1:1000) karmi mapę, wydruk i eksport DXF — nie ma trzech niezależnych ustawień. Skalą bazową rysowania jest 1:500. Reguła 75 % dla wielkości symboli obowiązuje także na ekranie, a nie tylko w wydruku.

Przycisk OPISY w stopce ustawia osobno skalę opisów: 1:200, 1:500, 1:1000 albo własną.

Kreski skarp i stopnie schodów

Dwa znaki mają drugą geometrię, bez której obiekt zostaje pustym obrysem. W obu razach obrys rysuje się w całości, a zaraz po jego zatwierdzeniu włącza się tryb wskazywania: dwa kliknięcia, Esc kończy bez znaku wewnętrznego, Ctrl+Z cofa punkt po punkcie.

ZnakCo się wskazujeGdzie
Skarpa (umocniona, nieumocniona)początek i koniec góryna obwodzie — wskazanie dociąga się do niego
Schody w ciągu komunikacyjnym, schody (budowle)początek i koniec biegudowolnie — polilinia nie musi leżeć na obwodzie

Przy schodach polilinia kierunkowa wyznacza kierunek wypełnienia, a stopnie stawia się do niej PROSTOPADLE — każdy stopień jest cięciwą obrysu w poprzek polilinii, co 1,0 mm mapy. Prostopadłość wiąże stopień z polilinią, nie z obrysem: dla schodów zakrzywionych albo wachlarzowych wypełnienie obraca się razem z nią.

Aplikacja niczego nie zgaduje: bez punktów góry nie wiadomo, po której stronie jest grzbiet skarpy, a bez polilinii — w którą stronę ustawić stopnie. Schody wczytane z pliku GML mają polilinię kierunkową z pliku i wskazywania nie wymagają.

Import

  • GML — kreator WYBÓR PLIKU → ZAPIS PLIKU DO BAZY → IMPORT Z BAZY → RAPORT KOŃCOWY, bez limitu rozmiaru, z dziennikiem komunikatów na żywo i przyciskiem W TLE (okno znika, import biegnie, na końcu okno z wynikiem).
  • Wykaz współrzędnych .TXT / .CSV — kreator PLIK → KOLUMNY → PODGLĄD, wynik na warstwie „Punkty z wykazu".

Kolejność: najpierw zapis, potem rozbiór (od 2026-09-22). Wskazanie pliku w kroku 1 nie wysyła niczego — plik wchodzi na listę natychmiast, z nazwą i rozmiarem. Krok 2 zapisuje bajty do bazy bez rozbierania, a dopiero gdy materiał jest w bazie, serwer go rozbiera i dopisuje rejestry, klasy i strefy. Nieudany rozbiór nie oznacza więc utraty materiału — plik już leży w bazie.

Ile to trwa. Rozbiór rośnie z rozmiarem pliku: 4 MB ≈ 1 s, 36 MB ≈ 6 s, 58 MB ≈ 10 s (zmierzone na stanowisku). Wysyłka jest od niego niezależna: wcześniej obie rzeczy siedziały w jednym żądaniu i przy dwóch plikach drugi stał na „Wysyłam plik na serwer… 0%" przez cały czas rozbioru pierwszego. Dla porównania plik KCD jest rozbierany w przeglądarce i nie jedzie nigdzie — dlatego jest natychmiastowy.

Plik jedzie spakowany (od 2026-09-22). Przy pracy przez internet wąskim gardłem nie jest serwer, tylko łącze w górę: zmierzona wysyłka 6 MB materiału na serwer produkcyjny trwała 69,6 s (ok. 90 kB/s) i długie wysyłki potrafiły zerwać się w połowie. Teraz przeglądarka pakuje treść gzipem tuż przed wysłaniem — GML to XML, więc przez łącze idzie zwykle kilkanaście razy mniej bajtów, a dziennik pokazuje, ile dokładnie („Pakuję do wysyłki: 5,8 MB → 0,4 MB"). W bazie ląduje plik nietknięty, bajt w bajt. Przeglądarka bez CompressionStream wysyła materiał surowy, tak jak przedtem.

Szczegóły kroków: Przepływy pracy.

Ograniczenia

  • Eksport DXF pomija obiekty urzędowe — do pliku wchodzi wyłącznie rysunek roboczy. Pisarza DWG nie ma.
  • Import EGiB jest niepełny — 18 klas jest pomijanych (klasy podmiotowe, dokumenty, BlokBudynku, ObrebEwidencyjny i inne).
  • Osiem wariantów „nieczynny" wygląda tak samo jak obiekty istniejące; różnica siedzi w danych, nie w rysunku. To dług świadomy.
  • Pas ekranu akustycznego (OTKY) i tryb „w skali" nie działają w wydruku ani w eksporcie DXF.
  • Znaki powierzchniowe nie mogą iść przez fill-pattern mapy, bo ten kafelkuje w pikselach ekranu, a nie w metrach terenu.

Na tej stronie