excel - 使用数据库时如何使用 Anylogic 对象 (INode) 作为类型

标签 excel database anylogic inode

问题:我有带有 的数据库表(导入的 excel)订单 地点 .订单有一个名为“destination”的列,它被交叉引用(使用“外键”来引用locations.location)到位置列地点 应该代表实际 INode 的表。如何在 moveTo block 中指定此地址?

  • 我没有看到可以将 INode 指定为数据库表中的类型的选项。如果我选择 Other 作为类型并尝试编写 INode,则会收到权限错误。
  • 我如何在代码或 Actions 行中影响此交叉引用?它已经在代理表/参数中设置了外键。
  • 最佳答案

    你不能表示像 INode 这样的 AnyLogic 对象作为数据库条目。相反,您可以存储有关节点的特征并在模型开始时以编程方式创建节点。

    所以存储诸如 X/Y 坐标之类的东西。

    下面是一个 GIS 点的示例,向您展示了该方法。您需要为 INode 做类似的事情(查看 INode API 的 AnyLogic 帮助以了解如何创建它们)。

    我将位置名称作为字符串存储在 dbase 中:
    enter image description here

    在模型启动时,我以编程方式创建 GISPoint数据中的元素(假设我有一个名为 map 的 GIS map ):

    List<Tuple> rows = selectFrom(routes)
    .list();
    
    for (Tuple row : rows) {
            GISPoint locationFrom = map.searchFirst(row.get( routes.location_from ));
            GISPoint locationTo = map.searchFirst(row.get( routes.location_to ));
            map.add(locationFrom);
            map.add(locationTo);
            GISRoute route = map.getRoute(locationFrom.getLatitude(), locationFrom.getLongitude(), 
                 locationTo.getLatitude(), locationTo.getLongitude());
            route.setLineColor( spectrumColor(uniform_discr(1,10), 10) );
    }
    

    关于excel - 使用数据库时如何使用 Anylogic 对象 (INode) 作为类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59167557/

    相关文章:

    anylogic - 将代理从现有队列移动到行人库中较短的队列

    excel - Google 电子表格 - 向下舍入为 0.5,但高于该值向上舍入

    java - 如何将 .jar 内的文件中的数据加载到 Mysql 表中?

    Mysql workbench同步不同数据库

    java - 如何在Anylogic的一个流程图中处理不同的 Material ?

    java - 选择输出故障

    excel - 将表格行设置为范围

    excel - 未找到 getElementById 时捕获错误

    excel - 在不同的标准中排名前 5 名

    mysql - uml问题——泛化