Projekty
Projekt jest jednostką pracy geodety: ma własny układ współrzędnych, własny obszar i własne dane.
Projekt jest jednostką pracy geodety: ma własny układ współrzędnych, własny obszar i własne dane. Aplikacja startuje na liście projektów; moduły GEO, CAD2D i GIS są zablokowane, dopóki projekt nie zostanie otwarty.
Nowy projekt zakłada obrysowy przycisk NOWY PROJEKT w nagłówku ramki (z plusem, po prawej). Gdy nie ma jeszcze żadnego projektu, zamiast listy na środku ramki stoi pusty stan: ikona folderu, napis „Nie ma jeszcze żadnego projektu" i podpowiedź, żeby założyć pierwszy tym przyciskiem (od 2026-09-14, wzór coss p-card-11).
Świeżo założony projekt otwiera pustą mapę (od 2026-09-25): do tego dnia na środku kadru stała próbka wzorów linii z katalogu znaków, którą mapa rysowała z automatu, więc nowy, pusty rysunek wyglądał, jakby coś już zawierał. Czego nie zamówiono, tego mapa nie rysuje.
Zakładanie projektu
Dialog pyta o:
- nazwę i opis,
- układ poziomy — strefę PL-2000 nazwą po ludzku („PL-2000 strefa 7 — południk 21°E"); aplikacja podpowiada strefę ze współrzędnej operatu, ale wybór pozostaje ręczny. Strefę wskazuje pierwsza cyfra współrzędnej Y operatu: Y = 7 431 779 to strefa 7 (południk 21°E, EPSG:2178). Projekt założony w strefie swojego obszaru przyjmuje materiał z PODGiK bez przeliczania. Od 2026-09-14 okno nie wypisuje tego objaśnienia pod polem — południk i EPSG pokazuje podpowiedź po najechaniu na przycisk układu,
- układ pionowy — PL-EVRF2007-NH albo PL-KRON86-NH,
- schemat aplikacyjny — według niego obiekty dostają klasy GML i identyfikatory IIP przy eksporcie. Dziś obowiązuje jeden: schemat rozp. 2021,
- biblioteki schematu — od 2026-09-18 każda biblioteka jest osobną pozycją i zaznacza się je niezależnie: GESUT, EGiB, BDOT500. Nowy projekt startuje z kompletem, bo mapa zasadnicza obejmuje wszystkie trzy, ale opracowanie węższe zostawia tylko swoje: inwentaryzacja sieci — sam GESUT, mapa do celów projektowych — GESUT i BDOT500, wznowienie granic — sam EGiB. Przynajmniej jedna musi zostać: z bibliotek powstają klasy GML. Lista idzie ze słownika bazy, więc kolejna biblioteka pojawi się tu sama,
- sposób rysowania (od 2026-09-20) — jak mapa rysuje obiekty projektu. GeoJSON to droga dotychczasowa: cały rysunek jako źródło MapLibre, a duże rysunki mapa sama bierze z kafelków bazy. Kafelki wymuszają kafelki wektorowe cięte przez bazę zawsze. Deck.gl rysuje wczytany rysunek z buforów binarnych nakładki deck.gl nad tą samą mapą — worker MapLibre nie dostaje rysunku wcale, kafelki bazy też nie wchodzą, więc projekt Deck.gl wczytuje się zawsze w całości (pomiar 2026-09-20: 1 MB zamiast 150 MB pamięci przy 10 tys. linii, edycja jednego obiektu 23 ms zamiast 635 ms). Trzy drogi istnieją obok siebie po to, żeby porównać je na własnych danych i własnym sprzęcie: dwa projekty na tym samym materiale, różny sposób rysowania. Zmiana w dialogu edycji działa od razu, bez ponownego otwierania projektu. Domyślnie GeoJSON,
- moduł startowy — domyślnie GEO, bo pierwsza rzecz, którą się robi po założeniu projektu, to wczytanie materiału i obejrzenie mapy zasadniczej.
Wybór strefy jest nieodwracalny, gdy w bazie są już dane — dialog ostrzega o tym przed zapisem.
Aplikacja w przeglądarce (ai-xis.com)
Wdrożenie online działa tak samo jak stanowisko: lista projektów jest na początku pusta, pierwszy krok to założenie własnego projektu przyciskiem NOWY. Zakładanie, zmiana i usuwanie projektów są dostępne online w pełni; nie ma projektów przykładowych do obejrzenia (zdjęte 2026-09-13). Import GML online przyjmuje pliki każdej wielkości — na wdrożeniu Vercel plik idzie do bazy w częściach po 3 MB, na własnym serwerze jednym żądaniem (opis w PRZEPŁYWY).
Po jednym projekcie na każdy moduł
Wejście na listę projektów uzupełnia luki: moduł, który nie ma ani jednego projektu, dostaje jeden założony automatycznie (polecenie 2026-09-29 „ustaw automatycznie, że mają być utworzone po 1 projekcie dla każdego modułu"). Zbiorem modułów jest ten sam, co w szynie i w oknie nowego projektu.
Co to znaczy w praktyce:
- projekt nosi nazwę modułu (GES-CAD, CAD-DRAW…) i opis mówiący, że powstał automatycznie,
- układ współrzędnych nie jest zgadywany — nowy projekt bierze strefę projektu ostatnio zmienianego, a gdy nie ma żadnego, pierwszą ze słownika układów. Opis mówi wprost, że strefę trzeba potwierdzić, bo to pierwsza decyzja opracowania, a nie szczegół,
- projekt bieżący się nie zmienia. Uzupełnianie zakłada projekty „obok", bez przełączania — wejście na listę i tak zamyka projekt bieżący,
- moduł, który ma już swój projekt, jest pomijany: drugiego nie dostaje, a projekt użytkownika nie jest niczym nadpisywany.
Uzupełnianie biegnie raz, przy wejściu na listę, a nie po każdej zmianie. Dzięki temu skasowany projekt ostatniego modułu nie wraca w tym samym mrugnięciu, w którym potwierdzono usunięcie — lukę uzupełni dopiero następne wejście na listę. Gdy usługi nie ma (wdrożenie statyczne, baza nie stoi), uzupełnianie nie robi nic i milczy; o braku usługi mówi samo pobranie listy.
Galeria projektów
Widok początkowy modułu (od 2026-09-27, polecenie „zastosuj to samo rozwiązanie dla strony z projektami", „ten blok", „nie jako okno dialog tylko frame") — ten sam układ, co galeria bibliotek w S-BASE, osadzony w ramie:
- szyna modułów po lewej z licznikami (od 2026-09-27, polecenie „na
stronie projekty — z lewej strony podział na moduły"): WSZYSTKIE, a pod
spodem każdy moduł, w którym projekt da się założyć — GEO-CAD2D,
GIS-BASE, GEO-CAD3D, GES-CAD, XIS-BASE3D, BIM-CAD, FLOW-CAD, SCAN-TO-CAD,
FORM-CAD. Lista jest ta sama, co w oknie nowego projektu, więc moduł pusty
też stoi w szynie, z licznikiem
0(2026-09-28, zgłoszenie „brakuje pozycji GES"): pozycja z zerem mówi „tu jeszcze nic nie ma", a brak pozycji nie mówi nic. Projekt założony bez wyboru modułu trafia do BEZ MODUŁU na końcu szyny — tej pozycji nie ma, dopóki taki projekt nie istnieje. To jedyny podział, jaki na tej stronie coś znaczy: otwarty projekt pracuje w jednym module i nie przełącza się na inny, więc moduł jest cechą projektu, nie ekranu. Wcześniej szyna dzieliła na WSZYSTKIE · CHRONIONE · WŁASNE; flaga nie przepadła — chroniony projekt nadal nosi odznakę chroniony na karcie, - żywe szukanie po nazwie, opisie, układzie, autorze i nazwie modułu — pole stoi w nagłówku, obok tytułu, nad podziałem na szynę i listę (2026-09-27, polecenie „przesuń przycisk z polem szukania wyżej nad listą”): szuka po wszystkich projektach, nie po samej kolumnie,
- karty projektów: nazwa, opis albo autor, a na odznakach moduł, układ
poziomy pełną nazwą („PL-2000 strefa 7 · 21°E · EPSG:2178" — ta sama
etykieta, co przy zakładaniu projektu), układ wysokościowy, sposób
rysowania, nazwa schematu („Schemat rozp. 2021", nie kod
ROZP_2021) i każda biblioteka składu osobno z nazwy — GESUT, EGiB, BDOT500.
Nazwy modułów w szynie idą czcionką logo (Galactus), tak jak w karcie menu i w górnym pasku — moduł ma wszędzie wyglądać tak samo. Szyna niesie samą nazwę: bez nagłówka „Moduł projektu" nad listą i bez kolorowych kafelków z ikoną przy pozycjach (2026-09-28, polecenia „usuń", „usuń ikony avatary", „powiększ czcionkę") — nazwa modułu jest całą treścią pozycji, więc dostała większy stopień pisma i całe miejsce w wierszu. Wybrana karta projektu ma cały obrys oświetlony: ramka w kolorze wiodącym i poświata dookoła, równe na każdym boku i każdym rogu, bez ruchu (2026-09-27, polecenia „animacja — zatrzymaj — jednakowy efekt", „cały obrys oświetlony" — światło obiegające krawędź świeciło w jednym miejscu, a gasło w pozostałych). Karty nie mają już kafelka ze skrótem nazwy.
Zaznacza CAŁA POWIERZCHNIA karty (od 2026-09-27, polecenie „popraw zaznaczanie projektu — działa na całej powierzchni karty") — nie tylko nazwa: klik gdziekolwiek w kartę zaznacza projekt, podwójny klik go otwiera, OTWÓRZ w stopce robi to samo. Z klawiatury: ENTER otwiera, SPACJA zaznacza. Karta pod kursorem zmienia tło, więc widać, która przyjmie kliknięcie. Na karcie stoją trzy ikony: OTWÓRZ (otwiera od razu, bez wcześniejszego zaznaczania), EDYCJA i USUNIĘCIE — kliknięcie w którąkolwiek z nich robi swoje i nie zaznacza karty przy okazji.
W stopce stoi licznik projektów, nazwa wybranego i jeden przycisk — OTWÓRZ (2026-09-27, polecenia „na dole usuń przycisk wyczyść wybór", „i nowy projekt", „przycisk tylko nowy projekt na górze"). WYCZYŚĆ WYBÓR niczego nie ratował — wybór zmienia się kliknięciem w inną kartę. NOWY PROJEKT został wyłącznie w nagłówku ramki, bo dwa wejścia do tego samego okna tylko mnożyły przyciski.
Nie ma tu kategorii „bieżący" — i nie ma jej z powodu, który jest ważniejszy niż wygoda: wejście na listę projektów ZAMYKA projekt (od 2026-09-27, polecenia „zamknięte okno projektu powoduje wyłączenie projektu", „nie ma projektu bieżącego, gdy jest strona PROJEKTY"). Nie da się jednocześnie wybierać opracowania i w nim pracować, więc moduły pracy — GEO-CAD2D, GIS-BASE, XIS-BASE3D — blokują się natychmiast po wejściu tutaj i odblokowują dopiero po OTWÓRZ. Projekt otwierany ostatnio nosi na karcie odznakę ostatnio otwarty i tyle to znaczy.
Do 2026-09-27 widokiem początkowym była tabela projektów z kolumnami L.p., NAZWA, OPIS, MODUŁ, UKŁAD POZIOMY, UKŁAD PIONOWY, EPSG, ZMIENIONO i AKCJE; wcześniej (do 2026-09-23) — rozwijane karty.
Otwarty projekt pracuje w jednym module (od 2026-09-15). Dostępna jest tylko zakładka modułu projektu — GEO-CAD2D albo GEO-CAD3D — a pozostałe przestrzenie (GES-CAD, GIS-BASE, XIS-BASE3D i druga z pary GEO) stoją wyszarzone; podpowiedź po najechaniu mówi, w którym module pracuje projekt. Moduły wspólne — PROJEKTY, S-BASE, POMOC, USTAWIENIA — zostają dostępne. S-BASE jest dostępny także bez projektu (od 2026-09-18), już podczas wyboru projektu: biblioteki stylów konfigurują aplikację, nie opracowanie, więc można je przygotować, zanim projekt powstanie.
USUŃ jest twardy i dotyczy każdego projektu — bieżącego, z zadaniami i demo; okno potwierdzenia wymienia najpierw, co zniknie razem z projektem.
Schemat projektu
Każdy projekt musi mieć wybrany schemat (od 2026-09-27). To nie to samo, co schemat aplikacyjny rozporządzenia, który mówi, według czego powstają klasy GML: schemat S-BASE mówi, które obiekty wchodzą w skład opracowania — i to jego skład rysuje lewy slider GEO-CAD2D.
Wybiera się go w oknie zakładania projektu, z listy idącej z bazy
(S-BASE_schematy), więc własne schematy złożone w S-BASE widać tam od razu.
Projekt bez jawnego wyboru dostaje schemat wbudowany rozp. 2021 — żadną
drogą zapisu nie da się założyć projektu bez schematu.
Wczytywanie materiału
Kreator importu bierze komplet plików naraz i sam rozpoznaje zawartość:
czy to DXF, GML, czy plik obcy, a przy GML-u — do której bazy należy.
Rozpoznanie idzie po klasach obiektów (GES_, EGB_, OT_), a nie po
przestrzeniach nazw, bo te bywają w plikach z PODGiK dowolne.
Dziś pliki upuszcza się na obszar roboczy modułu GEO albo CAD2D — pola przeciągania w samym module PROJEKTY jeszcze nie ma.
Karta projektu wymienia pliki wczytane do projektu: nazwę, datę, liczbę obiektów, rozmiar i rejestry. Plik GML jest w bazie w całości od chwili zapisu (pierwsza faza importu), więc przy wpisie może stać „w bazie, bez importu", „import w toku" albo „import nieudany" — plik nie znika z bazy po błędzie i nie trzeba go przesyłać ponownie.
Rysunek projektu
Rysunek roboczy mieszka w bazie jako jeden dokument na projekt. Wczytuje się przy wejściu do modułu, zapisuje sam 2 sekundy po ostatniej zmianie, a stan zapisu widać w rogu obszaru roboczego. Przy ukryciu karty przeglądarki zapis idzie natychmiast, żeby zamknięcie okna niczego nie zabrało.
Obiekt niepoprawny wypada z zapisu z podanym powodem, a reszta rysunku wchodzi — jeden zły obiekt nie blokuje całego zapisu.
Ograniczenia
- Nie ma modułu transformacji. Do jego powstania zmiana strefy projektu, w którym są dane, jest zablokowana wyzwalaczem bazy.
- Kolumny geometrii mają układ z chwili założenia bazy. Praca w innej strefie niż ta, w której przeszły migracje, wymaga założenia bazy od nowa.
- Lista stref jest wyłączona, gdy w bazie są obiekty.
- Definicje symboli i linii nie wchodzą do zapisu rysunku — warstwa niesie sam identyfikator znaku.
- Zapis rysunku działa przez mostek deweloperski; na wdrożeniu statycznym rysunek zostaje w pamięci przeglądarki.
Bez projektu nie ma układu współrzędnych
Układ współrzędnych bierze się wyłącznie z projektu — wybierasz go przy zakładaniu i później jest niezmienny. Aplikacja nie ma układu domyślnego i nie zakłada projektu sama.
Dopóki nie ma projektu bieżącego:
- mapa nie wstaje i pisze „układ współrzędnych jest nieznany — załóż albo otwórz projekt" zamiast rysować cokolwiek w zgadniętej strefie;
- pas współrzędnych pokazuje „—", nie nazwę układu;
- import GML i moduł ZADANIA odmawiają z komunikatem kierującym tutaj.
To celowe. Wcześniej aplikacja przyjmowała po cichu PL-2000 strefę 6 i przez tydzień wracały przez to błędy, których nie było widać na ekranie — rysunek się rysował, tylko liczby były cudze. Myślnik i odmowa niczego nie udają.
Projekty zostają w bazie, przy koncie
Projekt, który założysz — na stanowisku i online — zapisuje się w bazie
i zostaje. Należy do konta (fborkowski@dev, migracja 102) i czeka na
następne wejście razem z rysunkiem oraz wszystkim, co do niego
zaimportujesz.
Tak jest od 2026-09-25. Wcześniej projekt założony online był sesyjny: znikał razem z kartą przeglądarki, bo online nie było komu go przypisać. Odkąd jest konto, nie ma powodu niczego kasować za plecami użytkownika.
Co to znaczy w praktyce:
- projekt znika tylko wtedy, gdy sam go usuniesz. Żadne sprzątanie automatyczne nie dotyka projektu zapisanego dla konta;
- projekty demo przeżywają sprzątanie. Mają flagę „chroniony". Z listy PROJEKTY usuniesz jednak każdy projekt, także demo — przycisk USUŃ jest czynny dla wszystkich, a okno potwierdzenia ostrzega, że to dane przykładowe i że aplikacja ich sama nie odtworzy;
- sprzątanie sesji zostaje w kodzie na przyszłość — dla gościa, który wejdzie bez konta. Taki projekt znów będzie żył do zamknięcia karty.
Powód nie jest wygodą, tylko odpowiedzialnością: materiał z ODGiK niesie imiona, PESEL i adresy właścicieli. Plik wgrany po to, żeby coś sprawdzić, nie ma po co zostawać w bazie dłużej niż sesja, w której był oglądany.
Praca, która ma zostać, należy do stanowiska. Online służy do oglądania, próbowania i mierzenia — nie do prowadzenia operatu.
Kiedy zapis NIE dochodzi do bazy
Wskaźnik zapisu i konsola mówią prawdę także wtedy, gdy serwer zapis odrzucił. Zdarza się to w trybie podglądu: żądanie jest przyjmowane, ale nic nie trafia do bazy.
Zobaczysz wtedy komunikat „NIE ZAPISANO do bazy" z powodem, a wskaźnik pokaże błąd — nie „zapisany". Praca zostaje w pamięci karty i zginie razem z nią, więc trzeba ją wynieść (eksport) albo pracować na stanowisku.
Odświeżenie rysunku jest wtedy wstrzymane: wczytałoby stan z bazy, czyli skasowałoby z ekranu to, czego baza nie przyjęła.
Do 2026-09-22 aplikacja pokazywała w tej sytuacji „Zapisano zmiany", bo nie odróżniała przyjęcia żądania od zapisu. Gorsze od samego braku zapisu było to, że uznawała zmiany za utrwalone i nie próbowała ich wysłać ponownie — nawet po przejściu w tryb pełnej pracy.
BIM-CAD — dokumentacja IFC z rysunku 2D
Moduł BIM-CAD buduje model budynku w schemacie BIM z rysunku płaskiego i wydaje z niego dokumentację: plik IFC4, zestawienia (raporty) i rzuty kondygnacji (rysunki).
S-Base — biblioteki stylów
S-Base zarządza całymi bibliotekami znaków umownych: schemat aplikacyjny rozp. 2021 (GESUT, EGiB, BDOT500) jest do wglądu, biblioteki własne — do tworzenia i edycji.