Это нелегко сделать (если не считать магию git filter-branch
)
Если вы посмотрите « Настройка источника публикации для GitHub Pages » вместо этого вы должны создать свой сайт непосредственно в ветке gh-pages
.
Или, вы можете остаться в ветке master
, но создавать в папке docs/
вместо dist
.
В обоих случаях страницы GitHub будут отображать этот контент.
Однако для Пользовательской страницы :
Если ваш сайт является страницей пользователя или организации, в которой есть хранилище с именем [115 ] или
blockquote>, вы не можете публиковать исходные файлы вашего сайта из разных мест.
.github.io
Страницы пользователей и организаций, имеющие такое имя репозитория, публикуются только из веткиmaster
.В этом случае измените рабочий процесс:
- создайте свой сайт в ветке
dev
,- создайте свой сайт в ветке
master
[ 1126]Когда вы находитесь в ветке
dev
, вы можете объявить веткуmaster
как подмодуль (см. Здесь для процедуры ), которая поэтому будет отображаться как «подпапка» (например, подпапка «dist
», за исключением того, что подпапка фактически будет вашим тем же репозиторием Git вmaster
)Создайте свой сайт как обычно (в [ 1114]), перейдите в dist, добавьте, зафиксируйте и нажмите (эта подпапка, являющаяся подмодулем, она выдвинет связанную с ней ветвь:
master
)
Затем вернитесь в папку репозитория вашего проекта (родитель [ 1116], в настоящее время на веткеdev
), добавить, зафиксировать и нажать (чтобы записать новое состояние подмодуляdist
)
Вы могли попробовать алгоритм кластеризации k-средств.
Вы хотите векторное квантование:
http://en.wikipedia.org/wiki/Vector_quantization
"Это работает путем деления большого набора точек (векторы) на группы, имеющие приблизительно то же число очков, самое близкое к ним. Каждая группа представлена ее центроидной точкой, как в k-средствах и некоторых других алгоритмах кластеризации".
Здесь векторы являются географическими координатами каждого адреса, и можно подать алгоритмы с другими параметрами в зависимости от ограничений (близость, размер группы, количество групп...).
Можно запустить с k-средств, но на основе моего опыта базировался Voronoi, алгоритм более гибок. Хорошее введение здесь.
Если бы адреса были распределены равномерно, то у каждой группы была бы своего рода круговая форма вокруг начального адреса. Проблема возникает, когда начальные адреса являются близкими существующими группами. Когда это произойдет, новая группа отсортирует, переносят старый и мог даже окружить его полностью, если Ваши критерии остановки являются только размером группы. Если Вы используете макс. ограничение расстояний, то это не собирается происходить (принимающий никакие другие ограничения).
Я действительно не знаю - ли это хороший способ сделать его, но это - то, что я попробовал бы. Я уверен, что большая оптимизация требовалась бы. Специально для адресов на краях.
"N группы" и "M адреса на группу" ограничения являются взаимоисключающими. Каждый подразумевает другой.
Это зависит немного от масштаба данных, которые Вы желаете кластеризировать. Метод решения "в лоб" состоит в том, чтобы вычислить расстояние между всей комбинацией точек в массив расстояния. Полученный массив является N^2 и так как расстояние от до B совпадает с B к Вам, только нуждаются в половине их, таким образом, получающийся набор является N^2/2.
Для относительно близкого lat lon координаты можно иногда сходить с рук использование lat долго как x, y сетка и вычисление Декартова расстояния. Так как реальный мир не является плоским, Декартово расстояние будет иметь ошибку. Для более точного вычисления, которое необходимо использовать, если адреса расположены по всей стране, см. эту ссылку из Mathforum.com.
Если у Вас не будет масштаба для обработки всей матрицы расстояния, то необходимо будет сделать некоторое программирование алгоритма для увеличения эффективности.