Đệm theo mét / km bằng cách sử dụng các lớp WGS84 bằng cách sử dụng QGIS


12

Tôi đang sử dụng QGIS 1.7.4-Wroclaw và làm việc với lớp SHP trong WGS84. Tôi muốn đệm ra một số km nhất định từ lớp này bằng công cụ đệm ftools.

Tôi hiểu rằng công cụ đệm luôn sử dụng các đơn vị lớp, đối với WGS84 là độ thập phân. Tất cả chúng ta đều biết rằng độ không chuyển đổi liên tục thành mét, vậy tôi nên làm thế nào để tạo bộ đệm của mình?

Có cần thiết cho tôi để chuyển đổi các shapefile sang CRS khác sử dụng mét không?

Nếu vậy, làm thế nào để tôi chọn một?


Các phạm vi của shapefile của bạn là gì? Chúng tôi cần thông tin này để giới thiệu CRS.
nhopton

Có, bạn sẽ phải từ chối Shapefile trước (ví dụ: sử dụng công cụ "Reproject layer" của fTools). Phép chiếu nào là tốt nhất phụ thuộc vào khu vực của bạn (kinh độ / vĩ độ) và độ lớn của nó.
Jake

Cảm ơn, @Jake và @nhopton! Tôi đang đệm từ một số điểm ở phía bắc Đài Loan, nhưng bộ đệm sẽ nằm trong phạm vi 1000-2000km (bao phủ khoảng một nửa Trung Quốc cũng như Đài Loan).
Evan

1
Bản đồ này được xác định với hệ tọa độ địa lý (vĩ độ / kinh độ) nhưng phạm vi bản đồ cho thấy rằng nó thực sự là một hệ tọa độ dự kiến ​​(ví dụ: Mercator). Nếu vậy, kết quả từ các phép đo dòng hoặc diện tích sẽ không chính xác. Để khắc phục điều này, hãy đặt rõ ràng một hệ tọa độ bản đồ phù hợp bằng cách sử dụng menu Cài đặt: Thuộc tính dự án.
Ger

Thật ra, đây chỉ là một tệp Trái đất tự nhiên bị cắt, vì vậy nó chỉ nằm trong WGS84.
Evan

Câu trả lời:


12

Đối với ứng dụng này, tôi sẽ sử dụng phép chiếu Azimuthal Equidistant tập trung ở giữa các điểm nguồn của bạn. Phép chiếu này có tính năng tốt đẹp của tất cả các khoảng cách xuyên tâm xung quanh tâm của phép chiếu là chính xác.

Dự báo cụ thể đó không phải là một phần của các dự báo tiêu chuẩn của QGIS. Bạn có thể tự xác định bằng cách sử dụng Cài đặt / CRS tùy chỉnh bằng chuỗi lệnh +proj=aeqd +lat_0=24.5 +lon_0=121.5, nhưng thật không may, các phép chiếu tùy chỉnh không thể được sử dụng bởi công cụ Từ chối fTools. Thay vào đó, bạn có thể chuyển đổi tập dữ liệu của mình trên dòng lệnh bằng lệnh

ogr2ogr points_reprojected.shp points.shp -t_srs "+proj=aeqd +lat_0=24.5 +lon_0=121.5"

Sau đó, bạn có thể thực hiện đệm trong QGIS bằng cách sử dụng points_reprojected.shpshapefile.

Một vùng đệm 2000km quanh một điểm ở phía bắc Đài Loan trông giống như một vòng tròn trong hình chiếu chính tả tập trung vào điểm:

... và bị đè bẹp trong WGS84:


Cảm ơn - phản hồi lại Azimuthal Equidistant sau đó bộ đệm hoạt động rất đẹp! Trên thực tế, tôi đã sử dụng phép chiếu đó cho phép chiếu, tôi chỉ không nhận ra rằng nó sẽ có các đơn vị tôi cần. Nhưng tôi đã không phải sử dụng dòng lệnh để từ chối: Layer> Save as ... đã thực hiện thủ thuật (sau khi xác định CRS tùy chỉnh).
Evan

@Evan: Rất vui khi nghe nó! Nếu bạn xem câu hỏi của mình đã được trả lời, bạn có thể đánh dấu nó như vậy bằng cách nhấp vào dấu tick bên cạnh câu trả lời
Jake

1

Hài hước, thú vị. Lần thử đầu tiên, tôi nghĩ rằng tôi sẽ xem xét việc tạo bộ đệm (rất lớn) dưới dạng KML. Bạn có thể làm điều này ở đây:

http://www.thesamestory.com/kmlcircle/

Bạn sẽ cần nhập lat / lon cho một điểm và khoảng cách bộ đệm. Những gì bạn nhận lại là một tệp KML chứa vòng tròn. Hãy xem cái này trong Google Earth và nếu nó ổn, hãy tải nó vào QGIS.

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


1
Thật không may, QGIS Lisboa không thích tệp kml được tạo.
AndreJ

QGIS không thích tên tập tin. Hãy thử thay đổi nó thành (nói) "circle1.kml". Nhưng tôi nên kiểm tra. N.
nhopton

Được rồi, tải tệp vào Google Earth và sau đó lưu dưới dạng KML. Sau đó thay đổi tên tệp từ tên mặc định. ogr2ogr chuyển đổi tập tin thành SHP khá độc đáo. N.
nhopton

Giải pháp của Jake cuối cùng đã giải quyết hoàn hảo cho tôi, nhưng đây cũng có thể là một cách tốt để làm điều đó. Tôi sẽ ghi nhớ nó. Cảm ơn!
Evan
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.