Thứ Năm, 29 tháng 5, 2025

 

QGIS: Thay đổi kiểu trường String (text, chữ) to Number values (số) trong file shapefile

Tại sao cần thay đổi?

Khi chuyển đồi file địa hình số (từ CAD, mapinfo, v.v.) sang Shapefile thì trường độ cao Z có thể bị mất, bị lưu dạng text. Nếu là dạng text thì khi bạn cần sử dụng mô hình độ cao sẽ không được, cần chuyển sang kiểu trường là số.

QGIS có công cụ "Field Calculator" nằm ngay trong bảng thuộc tính khi mở ra.


Đầu tiên, mở bảng attribute table của layer bạn cần chuyển đổi. Tiếp đến, click the "Open Field Calculator" button. Trong ô cửa sổ hàm "Expression" nhập công thức to_real( "Text" ) . Trong đó "Text" là tên trường chứa số đang lưu dạng chữ mà bạn cần chuyển đổi. Cuối cùng click "OK" để xem kết quả.


Tóm lại:
  1. Mở bảng thuộc tính lớp cần chuyển đổi
  2. Vào "Field Calculator"
  3. Bấm "Update Existing field"
  4. Dùng hàm: to_real("attributeName"). Lưu lại.
(Copy hàm như sau: to_real( "Text" )(Thay trong dấu " " bằng tên trường cần chuyển. Xem hình dưới nếu trường có tên dài thì bấm vào phần Fields and Values nó sẽ ra luôn không phải gõ tay nhé!)

  1. (Hàm có thể tìm bằng từ khoá: conversions)
  2. Nếu thấy nội dung hữu ích, bạn có thể mời Ad 1 ly cafe động viên.





Thứ Năm, 15 tháng 5, 2025

 Hiển thị nhãn công trình theo nhiều thông số (theo dạng phân số tách biệt) trên QGIS là một ưu điểm của phần mềm này. Thay vì phải nhập tay, ta chỉ cần có 1 bảng dữ liệu kèm theo công trình đó là có thể show lên bản vẽ. Ngoài ra, style của nhãn này cũng có thể lưu lại để sử dụng cho những lần sau mà không phải làm lại.

Hình 1. Hiển thị nhãn chuyên nghiệp
Như hình trên, một lỗ khoan có thể show ra tới 4 thông số: Tên/ Độ cao miệng/  Chiều sâu/ Chiều dày khoáng hoá. v.v.
Đương nhiên, có thể còn làm thêm nhiều phân số nữa kèm theo cho dày đặc thông tin.

Cách làm cụ thể như sau:

1. Chuẩn bị

Tất nhiên phải có layer công trình rồi. Công trình đó phải có bảng thuộc tính gồm các cột (fields) thông tin cần hiển thị (tên, X, Y, Z, Độ sâu, Chiều dày quặng, v.v.v)

2. Duplicated layer đó (nhân bản thêm 1 lớp)

Duplicate layer
3. Nhấp đup vào layer "Nhân bản", và hiệu chỉnh:
- Symbology: chọn về single symbol.
Với đường gạch ngang ta chọn ở ô Symbol layer type là Simple maker, kéo chuột xuống chọn là đường kẻ dọc.


Chú ý: Size cho to lên thì nó dài ra, Rotation: quay 90 thì nằm ngang, Offset: chính là vị trí của đường, cứ thay đổi x,y tới khi phù hợp.

- Tiếp theo là thêm các cột thông tin, ta vào nút dấu (+) để add thêm symbol, kiểu ta chọn Font maker
Font chữ, màu sắc, cỡ chữ tuỳ ta chỉnh cho phù hợp bản vẽ.





Vị trí để chữ nó chạy gần ra cái đường kẻ vừa tạo, ta chỉnh x, y như ảnh.
Tiếp theo là quan trọng nhất: kéo xuống dưới và chọn Edit như hình:


Sau đó ta tìm vào mục Fields and Values để hiển thị các trường thông tin cần thiết:


Bấm OK và Apply để xem kết quả.
Làm tương tự với các trường còn lại ta sẽ có kết quả cuối cùng như hình 1.

Quan trọng: sau khi làm xong và thấy hiển thị đẹp rồi, ta cần lưu file style này lại, lần sau chỉ việc import nó vào là xong, không phải làm nhiều bước như trên.

Nói thì lâu/ à quên nhanh, chứ ngồi làm theo thì phải mất 1h là ít với các bạn chưa làm bao giờ. Thôi thời gian là tiền bạc mà, học phải mất nhiều bạc lắm :).
Viết ra thì lâu, chứ nếu quay video thì cũng nhanh lắm. Nhưng mà đã có nhiều người làm rồi, nếu chưa hiểu có thể lên youtube xem lại nhé!

Nếu thấy nội dung hữu ích, bạn có thể mời Ad 1 ly cafe động viên.