2014-02-09 1 views
1

Этот вопрос предназначен для sigma.js.Динамическое сопоставление с sigma.js или другим плагином

Я храню в mysql несколько точек (размер, координата x, координата y) со ссылками между ними. Всего - миллионы.

Я хочу, чтобы проект был похож на карты Google, когда я могу редактировать и перемещать точки, такие как карта. Я нашел что-то подобное - http://neosigma.herokuapp.com/index.html Но у меня есть следующие вопросы:

Могу ли я загружать карту по частям через AJAX, так как у меня есть сценарий, который дает мне очки, которые видны в каком-то месте и некоторое увеличение. Когда пользователь перемещает карту, я добавляю больше очков. Когда пользователь уменьшает масштаб, я показываю более мелкие точки. Я посмотрел документацию, но не нашел ответов.

Если вы знаете другое решение, проконсультируйтесь.

ответ

1

Я бы порекомендовал вам сначала выбрать критерии, которые вы хотите использовать для анализа ваших данных. Возможно, вы не хотите сразу запрашивать все записи в базе данных.

  1. Я хотел бы определить начальную точку (например, узлы добавляют определенным пользователем, соседи У одного узла и т.д.)

  2. Я бы запросить эти данные из MySQL и преобразовать его в Sigma читаемого формат (предпочтительно JSON).

  3. Тогда вы можете подать этот JSON на сигму и показать график.

Как только пользователь нажимает на узел, вы можете загрузить его окрестности.

Здесь у вас есть два варианта:

3.a сделать новый запрос к базе данных и получить окружающую этот узел. Посмотрите, как это реализовано на http://www.textexture.com

3.b Вы также можете загрузить большую часть графика для исследования (возможно, в кеше), а затем показать только его локальные части, как это объясняется в этом очень приятном учебнике, сделанном Алексисом, который сделал Sigma: http://jcml.fr/~jacomyal/tuto-sigma/tuto-basics.html

Возможно, вам также будет интересно изучить Linkurious - у них есть решение, необходимое для запросов к базам данных Neo4J, но, возможно, они могут помочь вам с MySQL.