QGIS, Postgis: Có thể tạo một lớp postgis mới không?


8

Tình hình:

Tôi có một vector vector postgis có rất nhiều phân đoạn dòng (các tính năng). Tôi muốn tạo ra một tập hợp các lớp mới, mỗi lớp chứa một tập hợp các tính năng của lớp gốc và có các lớp này cũng được lưu trữ lại trong postgis. Lý tưởng nhất với các tính năng thực tế được lưu trữ chỉ một lần.

Cách duy nhất tôi có thể thấy để tạo một lớp mới thay vì tải một lớp từ một số nguồn là thông qua Layer-> mới cung cấp tùy chọn shapefile hoặc spatialite.

Chọn tệp hình dạng trước tiên tôi đã cố gắng chỉ định các thuộc tính gid và fid cho lớp mới nhưng SPIT phàn nàn về gid trường trùng lặp khi tôi cố tải nó vào postgis.

Nếu tôi không tạo bất kỳ thuộc tính nào cho lớp SPIT mới tải nó một cách vui vẻ, có lẽ sẽ sao chép tất cả các tính năng.

Tôi đoán đây là một 'tính năng' chứ không phải là một giám sát vì nếu có thể chia sẻ các tính năng giữa các lớp thì điều gì sẽ xảy ra nếu một tính năng bị chia tách? Nếu mọi thứ hoạt động bình thường thì tất cả các lớp có tính năng tham chiếu đó sẽ cần cập nhật với gid mới của phần mới.

Giải thích này có đúng không?

Russell


1
Không có những thứ như một tính năng được chia sẻ. Bạn chỉ có hai bản sao, tách một và bản còn lại giữ nguyên.
Nathan W

Tôi đoán đó có lẽ là trường hợp. Vấn đề của tôi là trong nhiều năm qua, tôi đã hoàn toàn được truyền bá với mô hình quan hệ và chuẩn hóa dữ liệu;)
Russell Fulton

Câu trả lời:


4

Sử dụng plugin PostGIS Manager, bạn có thể tạo các bảng mới trong cơ sở dữ liệu PostGIS.

Bạn cũng có thể thực thi các câu lệnh SQL như

CREATE TABLE new_table AS SELECT * FROM old_table

để nhân đôi một bảng.


7

Đây là một câu hỏi hơi cũ và câu trả lời đúng đã thay đổi với các phiên bản gần đây của QGIS.

Trình quản lý PostGIS đã không được chấp nhận và được thay thế bởi Trình quản lý DB hoạt động cho cả PostGIS và SpatiaLite.

DB Manager được cài đặt theo mặc định và có thể truy cập dưới Database > DB Managermục menu. Điều đó sẽ mở ra cửa sổ DB Manager.

Chọn cơ sở dữ liệu bạn muốn thêm một lớp và sau đó nhấp vào Table > Create table. Nếu bạn không có cơ sở dữ liệu được chọn khi bạn nhấp vào mục menu Bảng, tùy chọn tạo bảng sẽ không ở đó.

Điều đó sẽ mở ra hộp thoại tạo bảng rất giống với hộp thoại được truy cập bởi Layer > New > New SpatiaLiteLayer nhưng có bố cục khác.

Các tùy chọn hầu như giống nhau với sự khác biệt lớn nhất là hộp thoại Lớp không gian mới cho phép truy cập vào hộp thoại Chỉ định CRS giúp việc chọn hệ tọa độ của bạn dễ dàng hơn. Hộp thoại Tạo bảng yêu cầu bạn biết trước số SRID để nhập số đó.

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.