Forum QGIS

Pełna wersja: QGIS Postgresql Postgis - przybliżenie
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam wszystkich użytkowników.

Nie za bardzo wiem, do której kategorii wstawić niniejszy wątek, bo może on dotyczyć zarówno QGIS jak i Postgresql i nie tylko.

Mam pewien problem, z którym nie potrafię sobie poradzić.



Mam bazę danych Posgresql + Postgis, 2 warstwy - linie, punkty. Warstwy traktowane jako uzbrojenie terenu, np. kanalizacja. Linie - sieć, punkty - armatura, np. studzienki.

W QGIS ustawione przybliżanie przy rysowaniu linii do punktów, i na odwrót (do segmentu/wierzchołka).
Problem, z którym się borykam od kilku lat, to kwestia zapisu współrzędnych do bazy danych. Pomimo powyższych ustawień zdarza się dość często (nie jest to reguła), że pomiędzy punktem a wierzchołkiem linii (niezależnie od której strony następuje rysowanie) pojawia się różnica od 0,001 do 0,00000000000001 mm. Przez to funkcje geometryczne dotyczące topologii z bazy danych mi nie działają - nie wskazują mi tutaj powiązania.

Ma ktoś może jakiś pomysł, jak sobie z tym poradzić?

Pozdrawiam
Tworzyć wierzchołek z każdym przecięciem się geometrii, kiedy tego wierzchołka nie ma. Nie ma fizycznie możliwości aby snap złapał współrzędne na linii między dwoma punktami, bez jakiegoś przybliżenia.
Nie zrozumieliśmy się.

Stworzony został punkt o jakiś współrzędnych X,Y. Robię przybliżenie linii do tego punktu, bo będzie on zakończeniem linii. Wszystko działa w porządku.
Po zapisaniu punkt ma przykładowo współrzędne X=50,01 Y=50,01, a punkt końcowy linii X=50,009999999 Y= 50,01000000001

Podobnie działa w obie strony.
Wszystkie warstwy są w takim samym układzie współrzędnych 2000 - epsg 2177.
To dwie rzeczy przychodzą mi do głosy. Triger na postgresie, który zaokrągli współrzędne, albo w opcjach warstwy, wymusić precyzje geometrii (Właściwości warstwy -> Digitalizacja (na samym dole) -> dokładność geometrii. Również i tak powinien wpisać współrzędne do bazy.
Rzeczywiście opcja w "Właściwościach warstwy" rozwiązuje problem.
Innym problemem jest przeliczenie do siatki wszystkich danych w bazie danych, ale to już jest inny temat.

Dziękuję Gsienko za rozwiązanie problemu.

Pozdrawiam
Hmm. Processing i Snap to grid, lecisz w batch processingu ile warstw potrzebujesz.