Извините за публикацию того, что, вероятно, очевидно, но у меня нет большого опыта работы с базами данных. Будем признательны за любую помощь, но помните, я новичок :-)
У меня есть такая таблица:
Table.fruit
ID type Xcoordinate Ycoordinate Вкус Фруктовость
1 Яблоко 3 3 Хорошо 1,5
2 Апельсин 5 4 Плохо 2,9
3 Яблоко 7 77 Среднее 1,4
4 Банановое 4 69 Плохое 9,5
5 Груша 9 15 Среднее 0,1
6 Яблочное 3 38 Хорошее -5,8
7 Яблочное 1 4 Хорошее 3
8 Банан 15 99 Плохой 6,8
9 Груша 298 18789 Средний 10,01
… … … … … …
1000 Яблоко 1344 1388 Плохой 5
… … … … … …
1958 Банан 759 1239 Хорошее 1
1959 Банан 3 4 Среднее 5,2
Мне нужно: Таблица, которая дает мне
n (например: n=5) ближайших точек к КАЖДОЙ точке в исходной таблице, включая расстояние Table.5ближайшего (обратите внимание, что расстояния являются поддельными). Таким образом, результирующая таблица имеет ID1, ID2 и расстояние между ID1 и ID2 (к сожалению, пока не могу публиковать изображения).
ID.Fruit1 ID.Fruit2 Distance 1 1 1959 1 1 7 2 1 2 2 1 5 30 1 14 50 2 1959 1 2 1 2 … … … 1000 1958 400 1000 Xxx Xxx … … …
Как я могу это сделать (в идеале с помощью SQL/управления базой данных) или в ArcGis или подобном? Любые идеи? К сожалению, моя таблица содержит 15 000 наборов данных, поэтому результирующая таблица будет содержать 75 000 наборов данных, если я выберу n=5. Любые предложения БОЛЬШИМ образом оценены.
РЕДАКТИРОВАТЬ:
Большое спасибо за ваши комментарии и предложения. Позвольте мне немного расширить это: первый предложенный метод — это своего рода сканирование всей таблицы целиком, отображающее огромные файлы или, скорее всего, сбои, верно? Теперь фрукт — это просто муляж, реальная таблица содержит идентификатор исправления, номинальные атрибуты («типы фруктов» и т. д.), пространственные столбцы X и Y (по Гауссу-Крюгеру) и некоторые числовые атрибуты. Теперь, я думаю, есть способ закодировать в этом «ограничивающую рамку», поэтому расчет расстояний выполняется для моей рассматриваемой точки (скажем, 1) и каждой другой точки в квадрате с определенной длиной ребра. Я могу представить (удаленно) кодирование или запрос для этого, но как мне заставить скрипт делать это для КАЖДОЙ точки в моем столбце идентификаторов. Насколько я понимаю, это должно либо создать «подтаблицу» для каждой записи/точки в моем «Table.Fruit», содержащую все точки в квадрате вокруг записи/точки с добавленным полем расстояния, либо одну большую новую таблицу ( "Табл.5ближайший")). Я надеюсь, что это имеет какой-то смысл. Любые идеи? Еще раз спасибо