PerfectVector
Bởi Irene Kim9 phút đọc

Ký hiệu SVG QGIS: chuẩn bị biểu tượng đổi màu được

Chuẩn bị ký hiệu SVG QGIS tùy chỉnh có tham số màu tô, đường viền, lỗ khoét thực và điểm nhấn cố định. Giữ bản SVG thông thường và kiểm tra bản dùng cho QGIS.

Trên trang này

Để chuẩn bị ký hiệu SVG QGIS tùy chỉnh có màu chỉnh sửa được, thêm ký hiệu giữ chỗ param() của QGIS vào các thuộc tính tô/vẽ bạn muốn ứng dụng điều khiển. Giữ màu tường minh trên các vùng cần cố định. Hướng dẫn Symbol Selector của QGIS 3.44 mô tả ký hiệu giữ chỗ cho màu tô, đường viền, độ mờ đục của chúng và độ rộng đường viền.

Bắt đầu với biểu tượng nhỏ, gọn. Biểu tượng trông thuyết phục ở kích thước minh họa có thể mất lỗ, điểm nhấn hoặc đường viền khi dùng làm ký hiệu bản đồ.

Phạm vi hướng dẫn: chúng tôi hiển thị bản SVG thông thường trong trình duyệt và kiểm tra XML của bản có tham số. Chúng tôi không nhập bản đó vào QGIS. Cú pháp tham số bên dưới tuân theo tài liệu 3.44; bạn hoặc người nhận làm GIS cần hoàn thành các bước kiểm tra trong ứng dụng đích.

Giữ một bản gốc thông thường và một bản cho QGIS

Dùng hai tệp có cùng hình học:

TệpMục đích
marker-master.svgCác thuộc tính tô/vẽ SVG thông thường để chỉnh sửa và kiểm tra trong trình duyệt.
marker-qgis.svgBản dành cho ứng dụng đích có ký hiệu giữ chỗ QGIS trên các thuộc tính được chọn.

Tách như vậy giúp hình gốc dễ kiểm tra. Bản xem trước của bản gốc thông thường trong trình duyệt chứng minh cách nguồn đó hiển thị ở trình duyệt. Nó không chứng minh bản QGIS đã được nhập đúng hoặc các điều khiển hoạt động như dự định.

Ký hiệu gốc của chúng tôi có thân xanh lá, lỗ tròn trong suốt và điểm nhấn hình thoi vàng. Nó chứa hai đường dẫn và không có ảnh raster nhúng.

Hình gốc
Bản hiển thị trình duyệt của SVG ghim xanh lá thông thường với lỗ trong suốt và điểm nhấn vàng cố định, bao gồm bản xem trước ở 24, 32 và 48 pixel
Bản SVG thông thường được hiển thị trong trình duyệt. Nền caro hiện qua lỗ; đây không phải thử nghiệm nhập QGIS hoặc tham số màu.

Tạo lỗ thực sự trong nguồn

Lưu nội dung này thành marker-master.svg:

<svg xmlns="http://www.w3.org/2000/svg"
     width="64" height="64" viewBox="0 0 64 64">
  <path id="body" fill="#237466" fill-opacity="1"
        stroke="#173f37" stroke-opacity="1" stroke-width="2"
        fill-rule="evenodd"
        d="M32 5C19 5 10 14 10 27C10 42 32 59 32 59S54 42 54 27C54 14 45 5 32 5Z M32 17A10 10 0 1 0 32 37A10 10 0 1 0 32 17Z"/>
  <path id="accent" fill="#f2c96c" stroke="none"
        d="M32 41L36 46L32 51L28 46Z"/>
</svg>

Đường dẫn thân bao gồm đường bao ngoài và đường bao tròn bên trong. fill-rule="evenodd" khiến vùng bên trong trở thành lỗ khoét trong cấu trúc này. Nó để nền hiện qua ký hiệu thay vì tô một đĩa trắng lên trên. Tài liệu fill-rule của MDN giải thích cách quy tắc xác định vùng nào được tô.

viewBox xác định hình chữ nhật tọa độ nguồn. Ở đây nó là hình vuông cạnh 64 đơn vị, với khoảng trống quanh đường viền. Giữ khung đó nhất quán giữa hai bản. Nếu biểu tượng trông nhỏ bất ngờ trong khung, kiểm tra hình học và lề trống trước khi tăng kích thước hiển thị.

Điểm nhấn vàng là một đường dẫn riêng, giúp lựa chọn màu tô/vẽ rõ ràng. Với biểu tượng phức tạp hơn, hãy quyết định vùng nào thuộc màu thân chung trước khi thêm tham số. Hướng dẫn màu SVG của chúng tôi giải thích nơi lưu màu tô và đường viền.

Thêm tham số cho thân và giữ điểm nhấn cố định

Tạo bản sao tên marker-qgis.svg. Trên đường dẫn có id="body", thay năm thuộc tính tô/vẽ bằng khối thuộc tính này:

fill="param(fill) #237466"
fill-opacity="param(fill-opacity) 1"
stroke="param(outline) #173f37"
stroke-opacity="param(outline-opacity) 1"
stroke-width="param(outline-width) 2"

Giữ nguyên dữ liệu đường dẫn và fill-rule. Giữ nguyên fill="#f2c96c" cùng stroke="none" của đường dẫn accent.

Thuộc tính SVGKý hiệu giữ chỗ QGISĐiều khiển dự định
fillparam(fill)Màu tô thân
fill-opacityparam(fill-opacity)Độ mờ đục màu tô thân
strokeparam(outline)Màu đường viền thân
stroke-opacityparam(outline-opacity)Độ mờ đục đường viền thân
stroke-widthparam(outline-width)Độ rộng đường viền thân

Các giá trị sau ký hiệu giữ chỗ là giá trị mặc định tùy chọn trong cú pháp QGIS. Chúng không cam kết rằng trình xem SVG thông thường hiểu giá trị tô/vẽ có tham số. Dùng bản gốc thông thường cho việc chỉnh sửa và xem trước SVG nói chung.

Đừng tự động thay mọi màu bằng param(fill). Trong thiết kế này, làm vậy sẽ loại bỏ quyết định giữ điểm nhấn vàng riêng. Chỉ áp dụng ký hiệu giữ chỗ chung cho các vùng cần phản hồi cùng một điều khiển.

Kiểm tra bản dùng cho ứng dụng đích trước khi bàn giao

Phép kiểm tra XML của chúng tôi xác nhận cả hai tệp có cùng viewBox và dữ liệu đường dẫn giống hệt. Bản QGIS chứa năm ký hiệu giữ chỗ dự định trên body; accent giữ màu tô vàng cố định. Ví dụ này không có phần tử <image>, tệp ngoài hoặc phông chữ.

Với ký hiệu của bạn, hãy kiểm tra:

  • Nguồn chứa các hình vector bạn mong đợi. Thay đổi thuộc tính tô/vẽ không thể đổi màu riêng từng vùng pixel bên trong một ảnh nhúng.
  • Chỉ các đường dẫn dự định nhận tham số. Giữ màu tường minh cho điểm nhấn trang trí.
  • Không có khai báo kiểu giữ một giá trị tô/vẽ cố định xung đột ở nơi khác trong tệp.
  • Lỗ khoét vẫn là khoảng trống thực sự khi xem trên nền tương phản.
  • Ký hiệu có đủ khoảng trống cho đường viền nhưng không có khung trống quá lớn.

Phân tích XML thành công kiểm tra cú pháp. Nó không chứng nhận trình hiển thị đích hỗ trợ mọi tính năng SVG. Giữ nguồn đơn giản và tiếp tục hoàn thành kiểm tra trong ứng dụng.

Kiểm tra ký hiệu trong dự án QGIS của người nhận

Trong bộ chọn biểu tượng điểm, chọn lớp biểu tượng SVG marker và tải bản dành cho ứng dụng đích. Hướng dẫn QGIS theo phiên bản được liên kết ở trên mô tả kiểu biểu tượng này và các điều khiển có sẵn.

Trước khi dùng biểu tượng trên khắp bản đồ, yêu cầu người nhận xác minh riêng màu tô thân, đường viền và độ mờ đục; xác nhận điểm nhấn vàng giữ cố định; kiểm tra lỗ ở kích thước ký hiệu dự định; và mở lại dự án chia sẻ khi tệp biểu tượng có sẵn. Cũng kiểm tra bản đồ hoặc bố cục xuất ra, vì đó là tệp người xem sẽ nhận.

Những bước này hoàn tất việc bàn giao. Ảnh trình duyệt và kiểm tra nguồn của chúng tôi bao quát hình đầu vào, còn dự án QGIS thực tế quyết định kết quả cuối cùng.

Khi biểu tượng bắt đầu từ clipart raster

Nếu ký hiệu hình tùy chỉnh chỉ có dạng PNG hoặc JPG, công cụ clipart sang SVG của PerfectVector có thể khôi phục hình vector để chỉnh sửa. Kiểm tra đường dẫn, đơn giản hóa chi tiết biến mất ở kích thước ký hiệu và tách thân khỏi điểm nhấn cố định trước khi thêm tham số QGIS. Hướng dẫn chuẩn bị biểu tượng nhỏ trình bày độ rõ của nguồn và làm sạch ở kích thước nhỏ.

Thao tác này chuẩn bị diện mạo biểu tượng. Nó không gán tham chiếu địa lý cho ảnh, khôi phục tọa độ hay biến bản đồ vẽ thành dữ liệu địa lý chính xác. Hướng dẫn bản đồ vẽ tay của chúng tôi giải thích sự khác biệt đó. Nếu đầu vào đã có các đường dẫn vector cần thiết, dùng trực tiếp; hướng dẫn tệp SVG có thể giúp kiểm tra nội dung.

Câu hỏi thường gặp

Vì sao ký hiệu SVG nhập vào không cung cấp các màu tôi muốn? Kiểm tra các thuộc tính tô/vẽ liên quan có ký hiệu giữ chỗ QGIS không. Trong ví dụ này, chỉ thân có tham số; điểm nhấn vàng được chủ động giữ cố định. Sau đó xác minh các điều khiển trong phiên bản QGIS đích.

Tôi có thể giữ một màu điểm nhấn cố định không? Giữ màu tô vùng đó dưới dạng màu tường minh và chỉ áp dụng tham số chung cho các vùng muốn điều khiển. Giữ điểm nhấn trong đường dẫn riêng để nguồn dễ kiểm tra.

Vector hóa biểu tượng có biến nó thành dữ liệu địa lý không? Không. Nó tạo hình cho biểu tượng. Vị trí, tọa độ và độ chính xác của bản đồ vẫn phụ thuộc vào dữ liệu địa lý và quy trình GIS.

Nguồn tham khảo

  1. QGIS 3.44 — Bộ chọn biểu tượng — Tham số ký hiệu SVG và giá trị mặc định tùy chọn.
  2. MDN — fill-rule — Vùng tô và quy tắc even-odd dùng cho lỗ.
  3. MDN — viewBox — Hình chữ nhật tọa độ SVG dùng cho cả hai bản nguồn.

Với ký hiệu hình raster, chuyển clipart sang SVG, kiểm tra lỗ và chi tiết nhỏ, rồi chuẩn bị bản QGIS riêng. Giữ bản gốc thông thường, sau đó để người nhận thử màu và diện mạo của ký hiệu trong dự án thực tế trước khi bàn giao.

Thêm từ blog

Bắt đầu với SVG gọn sạch hơn
và dễ chỉnh sửa hơn