Osiąganie buforów linii Flat-End w QGIS?

14

Muszę buforować serię linii o 40 m, ale chcę tylko, aby bufor zszedł z boków, a nie z żadnego końca linii.

Wiem, że w ArcGIS istnieje pole wyboru „płaskich końcówek”, które dokładnie to osiąga, jednak niestety nie mogę obecnie korzystać z ArcGIS.

Czy jest jakiś sposób na osiągnięcie tego w QGIS?

Rzuciłem okiem na niektóre z obejść, ale ze względu na skalę moich zbiorów danych (krajowe sieci dróg) żaden z tych, które do tej pory znalazłem, nie jest wykonalny.

rfreeman92
źródło
Nie jestem pewien, w jakim formacie są twoje dane, ale wygląda na to, że możesz to zrobić za pomocą instrukcji PostGIS, gis.stackexchange.com/questions/1197/…
artwork21

Odpowiedzi:

12

Jeśli używasz narzędzia v.buffer w zestawach narzędzi Grass Commands, możesz utworzyć płaski bufor.

Istnieją dwa pola wyboru. v.bufor Jeśli Make outside corners straightustawiłeś No, i Don't make caps at the ends of polylinesjako Yeswynik powinien być podobny do bufora prostej krawędzi ArcMap.

Poniżej znajdują się 3 kombinacje powyższych dwóch pól wyboru, zwróć uwagę na kombinację binarną w nazwie warstwy (0 = nie, 1 = tak). v. wyniki bufora

Prawdopodobnie powinieneś również wcześniej uruchomić narzędzie do naprawy / czyszczenia topologii, narzędzie Trawa zwykle zwraca śmieszne wyniki, jeśli topologia nie jest idealna

HDunn
źródło
Doskonale, właśnie tego potrzebowałem, nie miałem pojęcia, że ​​QGIS wydobywa te polecenia GRASS. Dziękuję uprzejmie.
rfreeman92
Uwaga: Czy istnieje sposób, aby zapewnić, że utworzone bufory są pojedynczymi wielokątami i nie rozpuszczą się w jednym wielkim wielokącie?
rfreeman92
Interesuje mnie również uzyskiwanie pojedynczych wielokątów, a nie jednego wielokąta rozpuszczonego. Czy to możliwe?
user32882
3

OpenJUMP może ci nie odpowiadać, ponieważ wszystkie dane muszą zmieścić się w pamięci, ale w 64-bitowej wersji limit jest dość wysoki. Co najważniejsze, może.

wprowadź opis zdjęcia tutaj

użytkownik30184
źródło
1
Narzędzie buforujące OpenJUMP osiągnęło to lepiej niż QGIS lub Esri!
Sirgeo
Po prostu dziękuję za przedstawienie mi oprogramowania, które wydaje się być znacznie szybsze w wielu z tych podstawowych algorytmów! : D
jhc
0

Wygląda na to, że ten sam wynik można osiągnąć bezpośrednio ST_Buffer()za pomocą płaskiej zaślepki z okrągłym złączem w następujący sposób:

ST_Buffer(linestring_geom,<buffer_radius>,'endcap=flat join=round')
Jan
źródło