Aktualności:

Forum w trakcie prac modernizacyjnych

Menu główne
Menu

Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.

Pokaż wiadomości Menu

Wiadomości - Pan Sowa

#31
Cytat: Cezary.K w Piątek 28 Lipiec 2023, 07:49:20Przy pracy na bazach danych, ale też w każdym innym aspekcie życia, świadomość tego, co się robi i jakie niesie to za sobą konsekwencję jest kluczowa. To, że jest jakieś narzędzie, nie oznacza, że trzeba z niego korzystać. Jeśli się to jednak robi świadomie, nie widzę w tym problemu.
A nie no to oczywiście święte słowa. Tylko kto ocenia czy już jesteśmy wystarczająco świadomi;) W tamtej chwili uważałem się za bardzo świadomego tego co robię. Okazało się jednak, że nie jestem w pełni świadom swojej świadomości :buck2:
#32
Poskładam to tak:
Cytat: Lupus w Czwartek 27 Lipiec 2023, 08:50:02W bazie, z której pochodzi ten zrzut, jakiś operator wymyślił, że on obejdzie zakaz i będzie lepszy niż system przewiduje. Znalazł lukę i
postanowił
Cytat: Cezary.K w Czwartek 27 Lipiec 2023, 08:53:22Odblokować pełną edycję parametrów warstw możesz poprzez sql. Dla bazy BDOT500 w wersji 2021 będzie wyglądać to tak:
update EW_CONFIG set WARTOSC=1 where PARAMETR = 'BDOT_2021'
Po wykonaniu zapytania musisz ponownie otworzyć bazę, żeby zmiany zadziałały.
Cytat: Lupus w Czwartek 27 Lipiec 2023, 08:50:02To powoduje oczywiście później problemy takie jak w Twoim przykładzie.

Od siebie dodam:
Od czasu kiedy istotna dla mnie baza GESUT rozwaliła (rozjechała się ze wzorcem co do rozwarstwienia i danych dodatkowych) się doszczętnie, zapłakałem rzewnymi łzami nad swoją głupotą i postanowiłem więcej tak nie robić.
Ot cała przypowieść tak dla przestrogi:)
#33
No właśnie, a co do klauzuli przecież zawsze mogą w geoportalu dodać pozycję "Złam prawo i wyeksportuj gml do jednego pliku". Nawet sądzę, że przez te dwa pierwsze słowa była by to najpopularniejsza ze wszystkich opcji, przynajmniej najbardziej kusząca :knuppel2:
#34
Bank Osnów / Odp: Wsad do banku osnów
Czwartek 20 Lipiec 2023, 20:39:54
Cytat: Cezary.K w Czwartek 20 Lipiec 2023, 14:12:44Kłania się inżynieria wsteczna. Zrób "wysad" i będziesz wiedzieć, jak ma wyglądać wsad ;)
Haha 'inzynieria' to chyba zbyt wielkie słowo na to zjawisko... Bardziej wsteczne chałupnictwo niż inżynieria  :coolsmiley:
#35
Problemy z Ewmapą / Odp: Import budynków z GML z WEBEWID
Czwartek 13 Lipiec 2023, 12:59:22
Cytat: support w Środa 12 Lipiec 2023, 17:51:29A próbowałeś na przez c- wczytać lub nowy program izdebskeigo - gmlgomap czy jakoś tak ostatnio było info na geoforum.

Program nie jest Izdebskiego tylko Geo-Systemu przecież w Naszym kraju nie można być prezesem takiej firmy i piastować stanowisko GGK  :coolsmiley:
#36
Cytat: Ema w Poniedziałek 26 Czerwiec 2023, 10:26:22A ja bym chciała, aby przy tworzeniu menu widoczności była opcja zmiany koloru dla obiektów o różnych atrybutach z danej warstwy  8)

Różne kolory wg atrybutów, to już jest możliwe... tylko trzeba się trochę spocić. Od 14 dostępne jest rozkolorowanie obiektu wg atrybutu za pomocą wypełnień. Domyślnie komory są tak rysowane (dlatego jak sie ustawi czarny kolor dla wszystkich podwarstw to komory i tak będą w kolorze;/ ):

[SUPK]
typ=10
kolor=case(${e.rodzajSieci_SK},"c",rgb(210,0,210),"e",rgb(255,0,0),"g",rgb(191,191,0),"k",rgb(128,51,0),"t",rgb(255,145,0),"w",rgb(0,0,255),"s",rgb(0,0,0),rgb(0,0,0)) 


Co prawda osobiście "spociłem" się do tej pory tylko raz, ale udało mi się zrobić fajne kolorowanie przewodów kanalizacyjnych na rozdzielcze i pozostałe. Niby to samo można zrobić filtrem, ale tu szybka podmiana biblioteki i wszystko robi się online, a tak trzeba pamiętać o filtrowaniu i filtrować. 
#37
Cytat: Lupus w Czwartek 25 Maj 2023, 02:14:27"losowo" to na pewno nie, to w końcu tylko algorytm, ale fajnie by było spróbować zaobserwować jakąś właściwość, kiedy występują te zachowania niestandardowe.



Tak, losowy miałem na myśli bez konkretnego nadanego kierunku przez twórcę oprogramowania. Sami stwierdzili jak z nimi o tym rozmawiałem, że nie wiedzą do końca co będzie wyświetlane, bo opcja stan na dzień nie została stworzona żeby doczytywać i nakładać na siebie kolejne stany, tylko do ładowania jednego konkretnego stanu. Przynajmniej jeśli chodzi o obiekty.
#38
Cytat: Lupus w Poniedziałek 22 Maj 2023, 14:42:01Dzisiaj miałem trochę więcej czasu i sobie potestowałem

145.365 => 145.37
145.355 => 145.35




True story:) Z Twoimi modyfikacjami działa lepiej  :smitten:  O0
#39
Cytat: Cezary.K w Wtorek 23 Maj 2023, 20:45:32Stosuj się do uwag Pana Sowy a wszystko będzie ok. Sowa nie pisał nigdzie o "Pełne archiwum". Ta opcja jest przydatna, ale nie to tworzenia mapy porównania z terenem.
Otóż to:)

Cytat: Cezary.K w Wtorek 23 Maj 2023, 20:45:32Punkt drugi można pominąć, wczytując najpierw stan na dzień, a potem stan aktualny z każdego modyfikowanego katalogu.
Tego nie radzę robić, ponieważ wtedy obiekty ewmapy lekko wariują w kontekscie wyświetlania etykiet. Mam wrażenie, że podczas takiego odczytu etykiety generują się losowo, dla części obiektów z obiektów archiwalnych dla innych z aktualnych.

Cytat: Drafty w Wtorek 23 Maj 2023, 08:54:38Czy Pan, Panie Sowo, mógłby w wolnej chwili napisać szczegółową instrukcję krok po kroku jak zrobić to prawidłowo?
Pisz na prv co jeszcze sprawia problem.;)
#40
Ogólna dyskusja o Ewmapie / Odp: zaokrąglanie współrzędnych
Poniedziałek 22 Maj 2023, 13:24:01
Tak, najlepiej wstawic np. 0

Tu też pod x,y
function roundToNearestEven(value) {
  return Math.round(value * 100) / 100;
}

// Funkcja przetwarzająca dane
function processTextData(inputData) {
  // Podziel dane na wiersze
  const lines = inputData.split('\n');

  // Przetwarzaj każdy wiersz
  const processedLines = lines.map(line => {
    // Podziel wiersz na kolumny
    const columns = line.split(' ');

    // Sprawdź, czy wiersz ma wystarczającą liczbę kolumn
    if (columns.length >= 4) {
      // Pobierz wartość z czwartej kolumny
      let x = parseFloat(columns[1]);
         let y = parseFloat(columns[2]);
         let value = parseFloat(columns[3]);

      // Zaokrąglij wartość do 2 miejsc po przecinku według zasady najbliższej parzystej
      x = roundToNearestEven(x);
         y = roundToNearestEven(y);
         value = roundToNearestEven(value);

      // Zaaktualizuj wartość w czwartej kolumnie
      columns[1] = x.toFixed(2);
         columns[2] = y.toFixed(2);
         columns[3] = value.toFixed(2);
    }

    // Połącz kolumny z powrotem w wiersz
    return columns.join(' ');
  });

  // Zwróć przetworzone dane
  return processedLines.join('\n');
}

// TWOJE DANE WEJŚCIOWE
const inputData = `
1 5434353.455 6435345.34 3.456
2 5434353.456 6435345.34 7.891
3 5434353.457 6435345.34 8.555
4 5434353.458 6435345.34 8.665
5 5434353.4 6435345.34 8.775
`;

const processedData = processTextData(inputData);
console.log(processedData);
#41
Cytat: Lupus w Czwartek 18 Maj 2023, 20:52:39Słabo znam się na Javie, ale na algorytmach trochę tak. Ten akurat zaokrągli do najbliższej parzystej ZAWSZE, tzn nawet wtedy kiedy bliższa będzie nieparzysta. 1,5 spoko zaorkągli się do 2, ale 1,4 też się zaokrągli do 2.

Nie no wrzuć to sobie do konsoli i potestuj. Zaokrąglanie odbywa się do 2 miejsc po przecinku. Jak dla mnie uzyskuje poprawne wyniki.
Z Twoich przykładów
1,5 będzie miało postac 1,50 (nie 2)
1,4 będzie miało postać 1,40 (też nie 2)
#42
Ja bym wykorzystał JS (np konsole w przeglądarce F12). Zmieniasz tylko sekcje "// TWOJE DANE WEJŚCIOWE" i gotowe. Zaokrąglana jest zawsze 4 kolumna. Wynik tylko skopiować z konsoli do pliku i ready

function roundToNearestEven(value) {
  return Math.round(value * 100) / 100;
}

// Funkcja przetwarzająca dane
function processTextData(inputData) {
  // Podziel dane na wiersze
  const lines = inputData.split('\n');

  // Przetwarzaj każdy wiersz
  const processedLines = lines.map(line => {
    // Podziel wiersz na kolumny
    const columns = line.split(' ');

    // Sprawdź, czy wiersz ma wystarczającą liczbę kolumn
    if (columns.length >= 4) {
      // Pobierz wartość z czwartej kolumny
      let value = parseFloat(columns[3]);

      // Zaokrąglij wartość do 2 miejsc po przecinku według zasady najbliższej parzystej
      value = roundToNearestEven(value);

      // Zaaktualizuj wartość w czwartej kolumnie
      columns[3] = value.toFixed(2);
    }

    // Połącz kolumny z powrotem w wiersz
    return columns.join(' ');
  });

  // Zwróć przetworzone dane
  return processedLines.join('\n');
}

// TWOJE DANE WEJŚCIOWE
const inputData = `
1 5434353.45 6435345.34 3.456
2 5434353.45 6435345.34 7.891
3 5434353.45 6435345.34 8.555
4 5434353.45 6435345.34 8.665
5 5434353.45 6435345.34 8.775
`;

const processedData = processTextData(inputData);
console.log(processedData);
#43
Jakieś przekierowania na katalogi w appdata? Jak tworzyles katalog USERS? Spod systemu czy Ewmapy? Ewentualnie zawsze jest opcja telefonu do autora ;⁠)
#44
Ustaw wg standardowych ustawień, wtedy dopiero profile zaczybaja działać. Pojawi się okienko z listą wszystkich profili.
#45
Ten katalog musisz sobie sam utworzyć w katalogu Ewmapy. Jak Ewmapa go znajdzie (automatycznie) to zaczyna się magię ..z profilami. Chyba gdzieś w instrukcji też o tym będzie ale chyba już Ci wszystko tu napisaliśmy 😁

Lupus noo baty w sumie dobry pomysł... tylko trzeba o tym potem przy każdym nowym profilu pamiętać? Czy masz jakieś polecenie co do każdego katalogu forem Ci przekopuje? I co znaczy standardowy ewmapa.ini? Najlepiej gdyby najpierw poszukał najnowszego I podmienił starsze... Powinno się dać zrobić.