Đạt được bộ đệm dòng Flat-End trong QGIS?


14

Tôi cần phải đệm một loạt các dòng bằng 40m, tuy nhiên tôi chỉ muốn bộ đệm đi ra hai bên và không tắt một trong hai đầu của dòng.

Tôi biết trong ArcGIS có một hộp kiểm "phẳng" đạt được chính xác điều này, tuy nhiên thật không may là tôi không thể sử dụng ArcGIS tại thời điểm hiện tại.

Có cách nào để đạt được điều này trong QGIS không?

Tôi đã xem xét một số công việc xung quanh, nhưng do quy mô của bộ dữ liệu của tôi (mạng lưới đường bộ quốc gia) nên không có cái nào tôi tìm thấy cho đến nay là khả thi.


Không chắc chắn định dạng dữ liệu của bạn là gì, nhưng có vẻ như bạn có thể thực hiện được thông qua tuyên bố của PostGIS, gis.stackexchange.com/questions/1197/ phỏng
nghệ thuật21

Câu trả lời:


12

Nếu bạn sử dụng công cụ v.buffer trong Grass Commandsbộ công cụ, bạn có thể tạo một bộ đệm phẳng.

Có có hai hộp lựa chọn v.buffer Nếu bạn đã Make outside corners straightthiết lập để No, và Don't make caps at the ends of polylinesnhư Yes, kết quả sẽ tương tự như ArcMap cạnh thẳng đệm.

Sau đây là 3 kết hợp của hai hộp kiểm ở trên, lưu ý kết hợp nhị phân trong tên lớp (0 = không, 1 = có). kết quả v.buffer

Có lẽ bạn cũng nên chạy trình sửa lỗi / dọn dẹp cấu trúc liên kết trước đó, công cụ Grass có xu hướng trả về kết quả hài hước nếu cấu trúc liên kết không hoàn hảo


Tuyệt vời, đây chính xác là những gì tôi cần, không có ý tưởng nào mà QGIS có những lệnh GRASS đó. Cám ơn sự tử tế của anh.
rfreeman92

Lưu ý: Có cách nào để đảm bảo rằng bộ đệm được tạo là đa giác riêng lẻ và không bị hòa tan thành một đa giác khổng lồ không?
rfreeman92

Tôi cũng quan tâm đến việc có được các đa giác riêng lẻ và không phải là một đa giác hòa tan. Điều này có thể không?
dùng32882

3

OpenJUMP có thể không phù hợp với bạn vì tất cả dữ liệu phải vừa trong bộ nhớ nhưng với 64 bit thì giới hạn khá cao. Quan trọng nhất, nó có thể.

nhập mô tả hình ảnh ở đây


1
Công cụ đệm của OpenJUMP đã hoàn thành việc này tốt hơn so với QGIS hoặc Esri!
sirgeo

Chỉ cần nói cảm ơn vì đã trình bày cho tôi một phần mềm dường như nhanh hơn nhiều trong nhiều thuật toán cơ bản này! : D
jhc

0

Dường như có thể đạt được kết quả tương tự trực tiếp ST_Buffer()bằng cách sử dụng một endcap phẳng với phép nối tròn, như sau:

ST_Buffer(linestring_geom,<buffer_radius>,'endcap=flat join=round')
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.