Добрый день!
Сразу прошу прощения, если ошибся разделом: возможно, мне не сюда, и тогда поправьте, пожалуйста.
Есть задача кластеризации (группировки) субъектов РФ (это для конкретики, а вообще — просто географических областей).
Дано: значения некого вещественного параметра
![$\[P\]$ $\[P\]$](https://dxdy-04.korotkov.co.uk/f/7/3/a/73ab3e4bb650d8967f87b120c0bd932b82.png)
— своё для каждого региона — и карта РФ.
Необходимо: сгруппировать субъекты в кластеры (не более 10, скажем), которые были бы, во-первых, связными георграфически, и во-вторых, характеризовались бы некой общностью значений параметра
![$\[P\]$ $\[P\]$](https://dxdy-04.korotkov.co.uk/f/7/3/a/73ab3e4bb650d8967f87b120c0bd932b82.png)
.
Подскажите, есть ли какие-то программные пакеты, позволяющие решать подобные задачи? Поиск в гугле показывает, что чаще всего решают задачи кластеризации на карте для набора точек, но не целых географических областей, граничащих между собой, или же кластеризации географических областей, но не ставят явное и строгое условие на связность полученных кластеров.
Одним способом я эту задачу уже решил. Упрощённо: для таблицы
![$\[N \times N\]$ $\[N \times N\]$](https://dxdy-01.korotkov.co.uk/f/0/d/7/0d7c21a3abd3f48261dfcac57641645482.png)
, где
![$\[N\]$ $\[N\]$](https://dxdy-03.korotkov.co.uk/f/e/d/9/ed9158d6db8b5a3126e26cb91ce8a2a682.png)
— число субъектов, заполнил значением 1 те ячейки с номерами столбца
![$\[i\]$ $\[i\]$](https://dxdy-04.korotkov.co.uk/f/3/3/3/33301aec7bd01feebce12abc943b0a3282.png)
и строки
![$\[j\]$ $\[j\]$](https://dxdy-04.korotkov.co.uk/f/b/d/e/bde5925a957e26113be446f83aa5592e82.png)
, для которых субъект с номером
![$\[j\]$ $\[j\]$](https://dxdy-04.korotkov.co.uk/f/b/d/e/bde5925a957e26113be446f83aa5592e82.png)
и субъект с номером
![$\[i\]$ $\[i\]$](https://dxdy-04.korotkov.co.uk/f/3/3/3/33301aec7bd01feebce12abc943b0a3282.png)
имеют общую границу, а значением 0 — остальные. Добавил ещё столбец с признаком
![$\[P\]$ $\[P\]$](https://dxdy-04.korotkov.co.uk/f/7/3/a/73ab3e4bb650d8967f87b120c0bd932b82.png)
. Таким образом получил таблицу из
![$\[N+1\]$ $\[N+1\]$](https://dxdy-04.korotkov.co.uk/f/b/3/1/b31f78d316e4b15542b19314a33fda2382.png)
столбца с отдельной строкой для каждого субъекта. Эти данные «засунул» в нейронную сеть Кохонена (ну или можно в кластеризатор — уже не столь принципиально) — получил разделение на кластеры. Даже связные. Но это какой-то очень «коленочный» метод. А ведь возможно есть специально предназначенные для подобных задач программные решения.
Насколько удалось выяснить, MapInfo Professional такие задачи не решает. С ArcGIS знаком только посредством Гугла, и похоже, что подобные задачи он решает опять-таки для точек, но не для областей.