Cách thay đổi độ dài trường trong QGIS


11

Tôi có một shapefile tôi đã thực hiện trong QGIS 1.7.4. Một trong các trường là Chuỗi có độ dài 80. Tôi muốn làm cho trường chấp nhận các đoạn dài hơn, nhưng tôi không thể tìm ra cách thay đổi độ dài của nó. Làm thế nào để tôi làm điều này?

Cảm ơn.

Câu trả lời:


15

Đây là một giải pháp làm tôi ngạc nhiên rằng nó đã làm việc !!!

Cảnh báo: trước tiên hãy tạo bản sao lưu. Đây là một thử nghiệm mặc dù nó chỉ hoạt động với tôi ..

mở .dbf của shapefile cụ thể bằng ứng dụng OpenOffice Calc. Thay đổi giá trị từ 80 thành bất kỳ giá trị nào bạn muốn. Xin vui lòng xem hình ảnh dưới đây. Điều đáng ngạc nhiên là các định nghĩa trường này không thể nhìn thấy trong Excel.. Ưu điểm của việc mở !!

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


+1 - mẹo nhỏ xuất sắc. Luôn luôn thấy những con số đó gây phiền nhiễu trong các DBF Libre / Openoffice nhưng bây giờ hãy xem việc sử dụng.
Simbamangu

1
Tôi thứ hai, sử dụng nó khá nhiều để chỉnh sửa và định dạng dữ liệu nhanh và bẩn (đặc biệt là khi tôi muốn sử dụng các công thức của Cals) hoặc khi tôi chỉ muốn tham gia một số dữ liệu theo vị trí và một lần nữa tên trường biến thành auf quá dài ... Chỉ cần nhớ: không sắp xếp lại các hàng mà không có một số cột FID để sắp xếp lại chúng một cách chính xác, hoặc mọi tính năng sẽ có một số dữ liệu thuộc tính sai sau đó.
SAnderka

Tôi đã thử điều này và nó đã làm hỏng các giá trị trong các cột tiếp theo. Đó là một ý tưởng thông minh, mặc dù.
Evan

2
Tôi chưa bao giờ trải qua bất kỳ tham nhũng dữ liệu cho đến nay. Bạn đã vô tình thay đổi các loại dữ liệu (ví dụ: C là viết tắt của ký tự, nhiều hơn được giải thích ở đây: dbase.com/ledgeledridease/int/db7_file_fmt.htmlm )? Mặc dù Calc cảnh báo bạn nếu bạn cố lưu dbf với dữ liệu không phù hợp với tiêu đề. Tôi vẫn không hiểu cách thức dữ liệu của bạn bị hỏng, điều đó gần như có thể có nghĩa là ...
SAnderka

2
Và về cách sắp xếp: Kết nối giữa dữ liệu tính năng (đa giác, điểm, đường) và dữ liệu thuộc tính dường như được tạo bởi số hàng, nếu bạn sử dụng bất kỳ tệp thuộc tính nào trong Calc và lưu nó, các thuộc tính sai sẽ được kết nối với tính năng (trộn lẫn, có thể nói).
SAnderka

12

Theo hiểu biết của tôi, bạn không thể thay đổi độ dài của các trường shapefile trong QGIS. Đề nghị tạo một lĩnh vực mới:

  • Mở bảng thuộc tính
  • Chuyển đổi chỉnh sửa trên
  • Chọn 'Cột mới' và đặt
    loại thành văn bản và chọn độ rộng mong muốn

Nếu đã có dữ liệu trong trường cũ, hãy sử dụng máy tính trường để điền vào trường mới:

  • Chọn 'Máy tính trường'
  • Đánh dấu vào 'Cập nhật trường hiện tại' và chọn trường mới
  • Bấm đúp vào tên trường cũ trong 'Trường'
  • Nhấn 'OK' và đừng quên lưu các chỉnh sửa của bạn.

Phương pháp tốt. Khi kết thúc các bước này, hãy vào Trình quản lý bảng (một plugin) để xóa trường cũ và (nếu cần) đổi tên trường mới.
IanS

4

Tôi vừa mới làm điều này trong Excel. mở dbf trong Excel, nhấp chuột phải vào tiêu đề cột bạn muốn thay đổi và chọn Độ rộng cột. Thay đổi độ dài bạn cần, sau đó lưu dưới dạng dbf. Dường như để làm việc OK cho tôi.


chiều rộng cột không phải là chiều rộng hiển thị của cột?
vinaya

3
@Vinayan, câu hỏi đề cập rõ ràng đến những gì trường có thể giữ, chứ không phải cách nó được hiển thị trong QGIS. Excel sử dụng chiều rộng hiển thị của các cột làm hướng dẫn về độ rộng để tạo trường khi lưu tệp, đó là lý do tại sao câu trả lời này hoạt động. Để biết chi tiết, vui lòng truy cập quantdec.com/SYSEN597/GTKAV/section4/ch CHƯƠNG_15a.htm # Recipe . Tuy nhiên, nó chỉ hoạt động trong các phiên bản cũ hơn của Excel. Mới nhất sẽ không ghi các tệp DBF mà tôi nghe thấy :-(.
whuber

@whuber, thật thú vị..tôi sẽ không bao giờ đưa loại chức năng đó (thay đổi kích thước) vào các ứng dụng của mình :-)
vinayan

0

Hướng dẫn thay đổi kích thước cột cho bảng Thuộc tính trong QGIS

  1. Nhấp chuột phải vào lớp vector và chọn thuộc tính.
  2. Chuyển đến tab trường.
  3. Thêm một cột mới (Nút này nằm ở góc trên cùng bên phải. A. Đảm bảo khớp tất cả dữ liệu như cột bạn đang cố gắng mở rộng. Ngoại trừ thay đổi độ dài theo chiều dài mong muốn của bạn.
  4. Chọn nút 'Máy tính trường' (Nút này nằm ở góc trên cùng bên phải.)
  5. Kiểm tra 'Cập nhật trường hiện tại'
  6. Đảm bảo 'Chỉ cập nhật trường đã chọn' không được chọn.
  7. Chọn trường mới từ menu ngay bên cạnh hộp kiểm
  8. Trong Menu Menu bấm đúp vào trường cũ
  9. Nhấn ổn và lưu các chỉnh sửa
  10. * Chuyển đến Trình quản lý bảng Trình cắm a. Plugings PlugTableTable Manager
  11. Chọn và xóa trường cũ
  12. Đổi tên lĩnh vực mới thành cũ.

* Bạn sẽ cần cài đặt Trình quản lý bảng.


0

Giải pháp của Scro như được giải thích kỹ lưỡng hơn bởi YP-kun chỉ làm việc cho tôi. Một thay đổi ngay bây giờ với QGIS 3.4, không cần sử dụng Trình quản lý bảng cho các bước 10 và 11 của YP-kun (để xóa cột cũ). Trên thực tế, Trình quản lý bảng rõ ràng không còn nữa vì hiện tại nó không có sẵn trong Trình quản lý plugin. Bây giờ, sau các bước 1-9 của YP-kun, bạn có thể đi đến Thuộc tính lớp cho lớp (nhấp đúp vào lớp trong bảng điều khiển Lớp hoặc nhấp chuột phải vào nó và nhấp vào Thuộc tính)> Trường nguồn> nhấp vào nút chỉnh sửa> sau đó chọn trường cũ bạn muốn xóa> bấm vào nút Xóa trường> sau đó chỉnh sửa lại nút để đóng chỉnh sửa> lưu các thay đổi của bạn. Có vẻ như rất nhiều thứ phải trải qua để thay đổi độ dài của một trường trong một lớp duy nhất, nhưng cũng vậy.

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.