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.


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


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


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')
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.