我有一个最好用图表表示的数据集.它由具有有向边的6或7种不同"类型"的节点组成(彼此依赖,保证不具有循环依赖性).数据集本质上是分层配置的模板,用户需要能够从所需的不同层中选择配置的位和部分,并自动引入相关位.
一般UI需要用户从多选框(每个节点类型一个这样的框)中选择或取消选择项目,并且根据需要使其他框中的"依赖"项目被选择或不被选择.我需要能够从服务器下拉数据集,让用户选择所需的位(依赖处理在客户端的javascript中完成响应),然后在结束时提交结果.
数据集很大且足够复杂,实际上将其显示为图形对于用户而言将是压倒性的并且令人困惑.只需要基本的图遍历操作,因为所需要的只是将选择级联出依赖项.(例如,如果没有其他选定节点依赖于节点,则取消选择节点的用户将导致节点依赖性变为未选中.选择节点的用户将导致所有该节点的依赖性被选中.)从起始节点开始的有向边之后的简单深度或广度优先搜索将足以访问所有受影响的节点.如果我可以跟随边缘任何方向,奖金.(如果不是,我可以轻松生成边缘反转图并在需要时使用它.)
我在这里进行了挖掘,发现了一些javascript图形可视化库的参考,但这些讨论中的大多数似乎将"图形"解释为"图表",我在这里没有图表需求.我的挖掘让我进入了这个名单:Raphael,protovis,flare,D3,jsVis,Dracula和prefuse.从这个列表看起来jsVis或Dracula可能有我需要的底层图形结构,如果我只是忽略可视化方面,但是我不清楚文档是否就是这种情况.我必须排除其他一些因为我无法引入任何闪存依赖项.不幸的是,我没有时间用这么多库来制作原型.(我将更多地挖掘jsVis和dracula,除非这里有一些方便的输入.)
如果有人对该列表中的某些东西有经验并且认为它的图形部分可以独立于可视化部分使用,那肯定会满足我的需求.如果有一些我可以使用的其他库满足我的需求,那也会很棒.关于许可的最后一个要求:库需要以非copyleft方式"免费" - 理想情况下Apache v2.0,BSD,MIT或类似的东西.
有没有建议的 javascript 替代 pythons pygraph或NetworkX?应该注意的是,可视化不是必需的(甚至不希望有可视化)。
该库应该能够解析能够保留节点和边上的标签和属性的格式(DOT、GraphML?)。它应该支持以下操作:
为了将其放在上下文中,基于 Web 浏览器的应用程序将从预先确定的起始节点遍历该图。每个节点都拥有一个属性“userValue”,该属性与节点外缘上作为属性保存的条件(规则?)进行比较。为了继续遍历,边缘条件必须针对“userValue”计算为 true。该图将始终包含预定的开始和结束(或目标)节点。
我正在研究我的最后一年计算项目,需要一些建议/帮助,因为我不是最自信的程序员.
该项目将创建一个软件,该软件使用Dijkstra算法的实现来找到机场之间的最短路径.该软件将允许用户在欧洲空域内的选定国家内输入起始机场和目的地机场.然后,软件将在从航路点到航路点到目的地机场的交互式地图上绘制最短路径,此外,路线将以文本打印出所有相关的空中导航信息.另外,不能输入飞行区域,以便可以在禁飞区域周围绘制路径.
我想在java中这样做,但我很困惑如何去做这个例子,我如何得到谷歌地图的地图,然后如何将机场和航点作为节点添加到图表上.