Tôi đang thêm điều này cho bất cứ ai trong tương lai đọc chủ đề này.
Đây là tất cả những gì tôi đã học được khi đào sâu vào vấn đề này và nhận được một khoảng cách hoàn toàn giữa các điểm gọi.
Vấn đề đầu tiên của chúng tôi bắt nguồn từ bản chất tĩnh của RasterCatalog. Thay đổi các raster mà điều này dựa trên KHÔNG thay đổi raster bên trong RasterCatalog. Hóa ra chúng ta đã có một phiên bản cổ xưa không nơi nào có bản đồ bờ biển. Bài học rút ra: Xây dựng lại RasterCatalog MERYI LẦN bạn thay đổi Raster mà nó dựa trên.
Khoảng cách Raster với trọng lượng được thêm vào trở thành một thứ khá cồng kềnh để làm việc. Nhìn vào kịch bản sau: Giá trị ban đầu của raster là 1 tổng khoảng cách tôi muốn xem là 117 km. Kích thước tế bào là 1 mét. Nếu raster bây giờ có giá trị trọng số là 48, thì tổng khoảng cách tôi muốn tìm trở thành 117 km * 48 !!! Vì vậy, khoảng cách trong phương pháp CostDistance không phải là khoảng cách ô mà là khoảng cách có trọng số, rõ ràng là thêm giá trị trong mỗi ô cho đến khi tổng của mỗi ô = giá trị được truyền cho tổng khoảng cách. Ngay cả khi kích thước tế bào chính nó là 1 mét !!!
Các raster khoảng cách là tất cả tập trung vào một điểm xuất phát. Vì vậy, khi bạn gọi thói quen CostDistance, bạn không muốn đưa điểm gốc vào danh sách đó. nếu bạn làm, bạn sẽ nhận được một điểm với khoảng cách bằng 0. (hỗ trợ ESRI thậm chí còn bị vấp ngã này)
Mặc dù nhiều phương pháp sử dụng Phong bì để hạn chế quy trình của họ, hai phương thức đắt nhất, đặt giá trị cho raster và trích xuất raster không có vùng trong đa giác, bỏ qua tất cả các cài đặt bao và tự động luôn áp dụng điều này cho toàn bộ raster. Thật không may cho chúng tôi, chúng tôi chỉ có thể rút ngắn điều này bằng cách tạo các phân đoạn chồng chéo lớn và gán một phân đoạn cho một khu vực được đóng hộp cụ thể. Nhưng khi làm như vậy, chúng ta phải cẩn thận (rất khó) rằng một khu vực hoạt động chính không tồn tại trong khu vực chồng chéo sai. (nói cách khác, tất cả các phần trùng lặp của chúng tôi phải được chọn cẩn thận để không chứa bất kỳ điểm quan tâm chính nào!) Lý do cho điều này là chúng tôi điều hướng RasterCatalog chọn raster chính xác dựa trên nơi trạm Cảnh sát biển được chọn tồn tại. Để làm phức tạp thêm quá trình của chúng tôi, sự chồng lấp phải cho phép chúng tôi điều hướng cách điểm xuất phát của chúng tôi tới 120km mà không phải chạy ra khỏi rìa bản đồ và không bị chồng chéo với các điểm quan tâm chính khác. Sheesh.
Điều khác duy nhất tôi học được là rất dễ để toán cho người raster nhưng khi bạn muốn 'chọc một lỗ' trong raster (chặn) hoặc đặt một cái bánh rán có giá trị và bên trong chiếc bánh rán có một giá trị là 1 (độ trễ như khóa) bạn kết thúc với sự kết hợp phức tạp của các công cụ và các cuộc gọi ArcObject. Điều này dẫn đến bài học cuối cùng đã học: ArcObjects không thể làm mọi thứ. Vì vậy, đôi khi tôi bị buộc phải làm mọi thứ trong các công cụ chậm chạp, cồng kềnh, tất cả đều được viết bằng python. Tôi cũng học được rằng các nhà phát triển công cụ ESRI không biết gì về việc duy trì tính nhất quán. Đôi khi, họ lấy một cơ sở dữ liệu raster vào những thời điểm khác, họ cần một raster và đôi khi họ cần một bộ tính năng. Và họ không trả lại dữ liệu theo cùng định dạng mà họ yêu cầu làm đầu vào!
Bối rối? Đừng lo lắng, đó là ESRI.