У меня есть несколько сотен точек данных с географической привязкой и взаимосвязей между этой точкой и другими точками. Я пытаюсь найти лучший способ визуализации этого на интерактивной карте (возможно, с помощью карт Google).
У меня была одна идея: когда пользователь нажимает на точку, он отображает все ссылки с этой точки на связанные точки.
Буду признателен за любые предложения или примеры того, как лучше всего это сделать.
У меня есть опыт использования ArcGIS, QGIS, Python и небольшого количества JavaScript.
Ответы:
Существуют разные методы в зависимости от того, чего вы хотите достичь, сколько у вас есть данных и насколько вы хотите. Ваша идея хорошая идея и, вероятно, будет работать хорошо. Конечно, другой очевидный ответ - показывать все отношения все время, но это добавило бы много визуального беспорядка. Возможно, хороший компромисс состоит в том, чтобы всегда показывать все отношения, но в полупрозрачном цвете, чтобы они были едва различимы. Затем, когда пользователь щелкает мышью или наводит указатель мыши на точке данных, ссылки из этой точки становятся непрозрачными.
Одна вещь, которую вы можете сделать, чтобы сделать карты немного более визуально привлекательными и интуитивно понятными, - это использовать кривые линии вместо прямых для соединения с точками данных. Это работает в двух измерениях или трех измерениях . Вы также можете делать интересные вещи, играя с цветами и уровнем прозрачности линий .
Одним из очень приятных и элегантных решений является Flow Map . Эта визуализация также была бы более интересной, если бы вы добавили интерактивность возможности навести указатель мыши или щелкнуть мышью на точке данных и увидеть соединительные точки данных.
Я позволю другим говорить с ArcGIS и QGIS, но я бы порекомендовал попробовать Protovis . Это предметно-ориентированный язык для визуализации, построенный на основе JavaScript, поэтому некоторые из этих визуализаций должны быть относительно простыми. Страница Flow Map содержит код на Java, который вы можете перевести на другие языки / платформы. Вероятно, было бы не слишком сложно перевести код Flow Map в Protovis, хотя я не пробовал.
источник
Два инструмента, которые я мог бы предложить для некоторого исследования:
Библиотека питонов NetworkX ;
Платформа Gephi , особенно с подключаемым модулем GeoLayout .
В обоих решениях вы можете указать географические координаты как положение узлов и получить хорошие представления потока по интенсивности и / или направлению.
Ни один из этих инструментов не предлагает простого экспорта в веб-карту, но с небольшим количеством взлома вы, вероятно, могли бы перевести вывод одного из них в KML для начала.
источник
Джей рассмотрел много предложений, которые я сразу же подумал с точки зрения визуализации. Тем не менее, это должна быть сеть? В зависимости от потребностей пользователя и кластеризации данных, лучшее решение может состоять в том, чтобы показать отношения с цветовым кодированием, а не с линиями.
Мое предложение: когда пользователь нажимает на точку, тогда все связанные точки усиливаются в цвете / включаются и выключаются (как индикатор сна на спящем Mac) / получают цветной ореол. Нажмите на значок или на другую точку, и первый набор отношений отключится. Это покончило бы с визуальным беспорядком линий.
Я подозреваю, что это решение будет работать лучше всего, если: - есть много отношений (может в конечном итоге выглядеть как бой спагетти) - точки сильно сгруппированы, линии будет менее легко увидеть, если точки находятся близко друг к другу
Не могли бы вы рассказать о кластеризации и общем количестве отношений?
источник
Ссылка: SharpMap (проект с открытым исходным кодом для ГИС)
источник
Здесь вы можете найти информацию о линиях желаний.
На изображении вы можете увидеть множество ссылок на связанные точки с помощью плагина FlowMapper .
Я знаю, что это не полный ответ на ваш вопрос, но я надеюсь, что это может помочь в чем-то
источник
Я сам недавно думал об этом и столкнулся с этим ...
http://hint.fm/wind/
В моем случае я смотрю, как ученики переходят из средних школ в университеты, так что имейте в виду, что происходит много кластеризации, и движение происходит только в одном направлении. Но я думаю, что способность видеть движение по сети поможет пользователям увидеть общую структуру.
источник