Một điều cần lưu ý ở đây là bạn không cố gắng thể hiện chính xác khu vực nào thực sự được sử dụng để nuôi cây. Một quận có thể có tất cả sản lượng ngô của nó ở nửa phía đông, ví dụ. (Và một nhà máy thậm chí có thể không được kéo từ các quận lân cận.)
Bạn chỉ muốn một quy ước bản đồ hiển thị tỷ lệ tương đối gần đúng dựa trên các hạt liền kề. Đây là cách tôi sẽ đi về điều này ...
Trong lớp điểm nhà máy ethanol của bạn, tôi sẽ có bốn thuộc tính: ngô cần, năng suất trung bình, bán kính đệm và dư. Ngô cần sẽ không đổi. Bán kính bộ đệm là bán kính bộ đệm hiện đang sử dụng. Năng suất trung bình là năng suất trung bình trên mỗi dặm vuông bên trong bán kính đó và phần dư là chênh lệch giữa ngô cần và năng suất trung bình * pi * radius ^ 2. Lớp thực vật ethanol cũng nên có một định danh duy nhất (đối với các phép nối).
Bạn đang cố gắng giảm thiểu số dư của bạn. Bạn sẽ muốn thiết lập mức cắt cho phần dư của mình (ví dụ: nếu số lượng tính toán nằm trong 100 giạ ngô cần thiết, thì bạn sẽ không tinh chỉnh thêm bán kính).
Bạn cũng cần một lớp hạt có hai thuộc tính, năng suất ngô trung bình trên mỗi dặm vuông và lượng ngô được sản xuất (mà bạn có thể nhận được từ diện tích * năng suất ngô trung bình). Cuối cùng thực sự là một biến giả để tính toán sau. Nếu bạn có bất kỳ hạt nào có năng suất ngô trung bình trên mỗi dặm vuông bằng 0, thay vào đó hãy đặt số đó thành một số nhỏ tùy ý. Số không trong lĩnh vực đó sẽ gây ra vấn đề sau này.
Chọn bán kính tùy ý ban đầu, nhỏ hơn chiều rộng thông thường của một quận, chẳng hạn như 1 dặm và đặt giá trị bán kính cho giá trị đó cho tất cả các nhà máy. Chạy các hoạt động này trong cơ sở dữ liệu địa lý, để thuộc tính khu vực được tự động duy trì.
Phần tiếp theo này bạn có thể muốn tự động hóa dưới dạng tập lệnh python hoặc mô hình xử lý địa lý:
- Chạy bộ đệm trên các nhà máy ethanol của bạn bằng cách sử dụng cột bán kính cho khoảng cách bộ đệm.
- Giao cắt bộ đệm kết quả với lớp hạt, giữ tất cả các thuộc tính.
- Đối với đầu ra giao nhau, đối với từng tính năng tính toán lại ngô được sản xuất bằng năng suất ngô trung bình * diện tích mới của tính năng.
- Chạy hợp nhất trên đầu ra giao nhau bằng cách sử dụng ID duy nhất của nhà máy ethanol làm thuộc tính hợp nhất. Có một thống kê tóm tắt tổng hợp ngô được sản xuất từ tất cả các tính năng được hợp nhất. Điều này bây giờ sẽ cung cấp cho bạn ngô được sản xuất trong bán kính đệm của bạn cho mỗi nhà máy.
- Sử dụng thống kê tóm tắt, tính toán lại thuộc tính năng suất trung bình trên đầu ra hợp nhất, sử dụng tổng hợp góc được tạo ra chia cho diện tích của đối tượng địa lý.
- Sử dụng ID duy nhất của nhà máy ethanol, tham gia đầu ra hợp nhất với các nhà máy ethanol ban đầu. Tính năng suất trung bình trên nhà máy ethanol bằng với năng suất trung bình trên tính năng hợp nhất tương ứng. Hủy bỏ tham gia.
- Tính số dư. Giá trị này khá lớn với bán kính ban đầu của bạn, nhưng sẽ co lại đáng kể với lần vượt qua tiếp theo sau khi bạn tính bán kính mới.
- Chỉ với những cây có số dư lớn hơn mức cắt của bạn, hãy tính lại bán kính đệm. Bán kính mới là (ngô cần / (pi * năng suất trung bình)) ^ 0,5
- Lặp lại các bước từ 1 đến 8 cho đến khi tất cả các tính năng của bạn có số dư nhỏ hơn mức cắt của bạn. Nếu việc này mất hơn 3-4 lần, bạn có thể muốn xem xét tăng mức cắt của mình, vì, một lần nữa, đây chỉ là một quy ước bản đồ chứ không phải là một đại diện chính xác của khu vực chính xác được sử dụng để sản xuất ethanol.
Như tôi đã đề cập ở trên, bạn có thể muốn viết kịch bản hoặc mô hình các bước 1-8, vì bạn sẽ lặp lại những lần đó. Bạn cũng có thể dễ dàng chạy toàn bộ bằng tay. Ngoài ra, tùy ý, thay vì sử dụng phần dư trong bước 8, bạn chỉ có thể luôn tính toán lại bán kính cho tất cả các tính năng cho đến khi bạn có đầu ra từ bước 7 trong đó tất cả các tính năng đều có dư.
Khi bạn đã đạt đến điểm mà bạn hài lòng với phần dư, đầu ra bộ đệm của bạn từ bước 1 trên đường chuyền cuối cùng sẽ là bộ đệm bạn muốn sử dụng cho bản đồ của mình.