Mam dwa wektorowe pliki kształtów: jeden plik to punkty reprezentujące włazy, a drugi to plik polilinii reprezentujący rury prowadzące do i z włazów. Muszę zatrzasnąć linie w określonej odległości od najbliższego włazu.
Czy istnieje prosty sposób na osiągnięcie tego celu bez robienia tego ręcznie?
Aktualizacja
Zgodnie z Alexandre, wyeksportowałem moje pliki kształtu do formatu przestrzennego. Nie jestem pewien, co dalej.
Aktualizacja nr 2 Utworzyłem nowy plik db i zaimportowałem pliki shapefile do nowego db za pomocą spatialite-gui, dostosowałem zapytanie SQL, ale jak widać, pojawia się błąd „brak takiej kolumny: f.geom”
Odpowiedzi:
Jeśli chcesz umieścić swoje dane w Postgis (lub Spatialite ), możesz użyć ST_Snap do robienia tego, co chcesz.
Wystarczy użyć linii warstwa \ tabela jako danych wejściowych, a warstwa punktów jako odniesienie i ustawić tolerancję. Coś takiego:
Rezultat jest następujący:
Następnie możesz zaktualizować geometrie za pomocą identyfikatora elementu.
źródło
Nie wiem dużo o QGIS ani GRASS, ale niektóre szybkie googlingy przyniosły v.clean w GRASS powinny załatwić sprawę .
Zobacz ten post i ten .
Alternatywy dla QGIS i GRASS:
Gdybym miał to zrobić w ArcGIS, prawdopodobnie zapisałbym moje dane w zbiorze danych elementu w geobazie pliku i utworzyłbym topologię w celu zidentyfikowania obszarów, w których warstwa punktowa nie znajdowała się na punktach końcowych linii. Następnie możesz naprawić błędy za pomocą Inspektora błędów .
Ale prawdopodobnie najszybszym i najłatwiejszym rozwiązaniem byłoby FME. Możesz spróbować użyć Snapper Tool lub jeszcze lepszego narzędzia AnchoredSnapper . Jeśli używasz AnchoredSnapper, upewnij się, że typem przyciągania jest Przyciąganie do punktu końcowego. Oczywiście będziesz potrzebować licencji na FME. Ale możesz pobrać 14-dniowy okres próbny, jeśli go nie masz.
źródło
W QGIS Snap Geometries to layer zrobi to, co chcesz. Zobacz ten wątek Jak przyciągać linie do najbliższego punktu?
źródło
Sposób ręczny
Qgis -> Ustawienia -> Opcje przyciągania (nie jestem pewien, ale może potrzebować rozszerzenia CadTools) i włączyć edycję topologiczną.
Sposób automatyczny
v.clean, który znajduje się w narzędziach GRASS w zestawie narzędzi SEXTANTE w QGIS. Jeśli masz PostGIS 2.0, to ST_Snap i ST_SnapToGrid () (I nie ma powodu, dla którego nie możesz go używać, jest to bardzo dobre narzędzie przestrzenne)
Sposób komercyjny
Narzędzie FME i MRF (rozszerzenie komercyjne, miałem wersję ewaluacyjną. Jest bardzo dobra).
Interesuje mnie również zarządzanie wodociągami / kanalizacją za pomocą narzędzi open source, czy masz jakieś wskazówki?
źródło