Bạn không cần phải chuyển đổi từ SVG sang GeoJSON để sử dụng hình ảnh cho một bản hợp xướng trong d3, mặc dù có thể cần thiết cho các thư viện khác.
Thông tin đường dẫn trên tệp SVG (phải có ít nhất một đường dẫn cho mỗi tiểu bang / quốc gia / tiểu bang / phân khu trong bản đồ của bạn) là đủ để ánh xạ dữ liệu tới hình ảnh SVG của bạn trong d3.
Hãy để tôi đặt nó theo một cách khác: nếu bạn có thể thực hiện một d3.select trên svg ban đầu của bạn sẽ trả về chỉ một đường dẫn cho mỗi tiểu bang / quốc gia / khu vực thì bạn có thể sử dụng d3 để xây dựng một bản hợp xướng. Đây thường là trường hợp khi bạn có một bản đồ trong SVG. Nó thực sự đơn giản hơn so với sử dụng tệp GeoJSON vì bạn không cần phải lo lắng về vị trí không gian, hình chiếu, v.v. Thậm chí bạn có thể muốn điều chỉnh SVG ban đầu để thêm thông tin bị thiếu (như tên trạng thái, mà bạn có thể thêm dưới dạng ID DOM hoặc Các lớp học) trước khi sử dụng nó với D3 nhưng điều đó thường không cần thiết.
Mặt khác, như đã nói trước đây, SVG chỉ có thông tin đường dẫn / dòng, không phải thông tin địa lý / không gian, vì vậy nếu bạn muốn chuyển đổi từ SVG sang GeoJSON thì bạn cần phải THÊM / MAP thông tin định vị địa lý vào hình ảnh SVG của bạn. Ví dụ: trước tiên, bạn có thể chuyển đổi từ svg sang JSON, sau đó tính toán / thêm thông tin định vị địa lý (điều này sẽ phụ thuộc vào khu vực bạn đang ánh xạ) và tạo GeoJSON từ đó. Theo như tôi biết thì không có công cụ nào phù hợp để thực hiện công việc này cho bạn cả.