Tôi đã hai ArrayList, kiểu dữ liệu Double, 1.latitudes 2. kinh độ, từng đã hơn 200 yếu tốTìm tọa độ gần nhất trong một mảng?
nói tôi cung cấp một tọa độ kiểm tra ngẫu nhiên, nói (1.33, 103,4), định dạng là [vĩ độ , kinh độ]
có thuật toán nào để dễ dàng tìm điểm gần nhất, hoặc tôi phải tính toán lực lượng vũ phu mọi điểm có thể, tìm cạnh huyền, và sau đó so sánh hơn 200 hypotenuses để trả lại điểm gần nhất? thanks
Nếu bạn làm tính toán tất cả hypotenuses, bạn có thể tính toán khoảng cách và thực hiện min (khoảng cách) logic tất cả trong một vòng lặp. Ngoài ra, tất cả các điểm của bạn nên có vị trí địa lý gần nhau để bạn có thể coi khu vực này là đồng bằng, nếu không bạn cần tính đến độ cong của Trái đất. –
định nghĩa của bạn về khoảng cách là gì?"hypothenuse" là một thuật ngữ từ hình học phẳng, nhưng việc bạn sử dụng "kinh độ" và "vĩ độ" dường như chỉ ra các điểm nằm trên bề mặt của một hình cầu ... – meriton
Bạn đã xem R-trees chưa (https: // vi .wikipedia.org/wiki/R-tree)? Hoặc thuật toán lập chỉ mục không gian nói chung (https://en.wikipedia.org/wiki/Spatial_index#Spatial_index)? –