2012-05-25 27 views
9

Tôi muốn triển khai bản đồ nhiệt trên bản đồ của Google với dữ liệu của riêng tôi ngoài ứng dụng Rails của tôi. Để thực hiện điều này, tôi cần phải tạo hình ảnh lớp phủ cho mỗi tọa độ bản đồ (lát) dựa trên dữ liệu của tôi.Làm cách nào để tạo hình ảnh trong Ruby mà không có phụ thuộc bên ngoài?

Tôi đã tìm cách tạo bằng cách sử dụng ImageMagick nhưng tôi không muốn phụ thuộc vào điều này, vì tôi dự định phân phối ứng dụng của mình ở một vài nơi, vì vậy tôi muốn làm điều này chỉ bằng ngôn ngữ Ruby.

Lưu ý rằng tôi chỉ cần vẽ các điểm bằng các màu khác nhau trên một ô vuông nhỏ trong suốt.

+1

Bạn cũng sẽ cần phải chuyển đổi hình ảnh thô sang một định dạng web khi bạn đã tạo ra nó. – x1a4

Trả lời

9

Tôi nghĩ rằng chunky_png hoặc oily_png sẽ là lựa chọn tốt nhất của bạn về vấn đề này. Nó không có phụ thuộc bên ngoài trên ImageMagick và tạo ra hình ảnh ở định dạng có thể sử dụng trên web.

+4

Lưu ý rằng Chunky là Ruby thuần khiết (và do đó đơn giản và dễ di chuyển hơn) trong khi Oily là một phần mở rộng C giúp tăng tốc độ hoạt động nhất định, nhưng yêu cầu bạn có thể lấy phần mở rộng được biên dịch vào mục tiêu bạn chọn. Tôi sẽ đi với Chunky đầu tiên và chỉ đi cho Oily ** nếu ** Chunky hóa ra là quá chậm. – Phrogz

0

Đây là một vấn đề lớn của chính nó, nhưng là một vấn đề được giải quyết, xem Geoserver hoặc Mapserver.

+1

Bởi vì các liên kết có thể ngừng hoạt động, chúng tôi yêu cầu câu trả lời không chỉ liên kết đến giải pháp. Bạn có thể chỉnh sửa câu trả lời của mình để bao gồm tóm tắt (các) giải pháp tại các bài viết được liên kết không? –

+0

Ngày nay, Google đã triển khai lớp bản đồ nhiệt, vì vậy có thể tạo bản đồ nhiệt mà không phải thực hiện câu hỏi này (https://developers.google.com/maps/documentation/javascript/heatmaplayer), trừ khi bạn không sử dụng Google Maps . Nhưng cảm ơn bạn bởi câu trả lời. –

Các vấn đề liên quan