zoukankan      html  css  js  c++  java
  • 【工作笔记002】在TC中建立应用于出行分布的阻抗矩阵(最短路矩阵)

    步骤0:数据准备

    所需数据包括小区层、路网层(以及节点层)。

    注意:若已经进行了小区与路网的连接,可跳过步骤1;若已经建立路网,可跳过步骤2。

    步骤1:小区层与路网层相连并进行ID转换

    在节点层的Dataview添加Index列,与小区层连接后对应小区层ID。

    【菜单】Tools—Map Editing—Connect…

    连接后,做选择集(selection),将对应小区层的节点放入选择集。

    问题:当小区重新编辑后,如何更新连接?

    步骤2:建立网络(network

    当前层选为路网层,【菜单】Networks/Paths—Create…打开Create Network对话框。

    clip_image002

    Read length from选Length

    Optional Fields选择所有Fields,Options依需要选择,单击OK,找个地方起个名字将network保存下来。创建Network成功的话,TC状态栏会显示Network的路径(绝对路径)。

    clip_image004

    步骤3:建立最短路矩阵

    当前层为路网层(或节点层),【菜单】Networks/Paths—Multiple Paths…,打开Multiple Shortest Path对话框。

    clip_image006

    Minimize选择需要参与计算的列(这里选择的是time,即TC按路段的行驶时间计算各小区间的最短值)。

    From和To都选择Selection。

    Store Results选择Matrix File。

    单击OK,出现成功对话框,成功生成最短路矩阵。

    clip_image008

    步骤4:建立可应用于出行分布的费用矩阵

    观察步骤3生成的阻抗矩阵可以发现,其矩阵ID是节点层的ID而非小区层的ID。而这个矩阵是无法参与到出行分布中去的。

    clip_image010

    因此,必须建立使用小区层ID作为ID的矩阵,才能够顺利进行出行分布的操作。

    步骤4.1:处理最短路矩阵

    【菜单】Matrix—Export,打开Maxtrix Export对话框,选择第2个互斥按钮,即按列输出该matrix。点击OK,选择bin格式保存。

    clip_image012

    得到包含RCIndex列的数据表。

    clip_image014

    选中RCIndex列,右键选择Fill…,弹出Fill对话框,可以快速修改该列的数据。

    clip_image016

    将RCIndex列的数值对应修改为小区层的ID值。

    clip_image018

    问题:手动修改RCIndex并不是推荐的方法,只不过笔者还没有找到更有效的方法,不得已而为之,不得已。

    步骤4.2:新建矩阵

    当前层为小区层(或节点层),【菜单】File—New—Matrix,打开Create Matrix File对话框。

    clip_image020

    IDs are in选择ID(若当前层为节点层,则选择Index),Rows from/Columns from选择All Features(若当前层为节点层,则选择Selection)。点击OK建立空白矩阵。

    步骤4.3:将数据导入新建矩阵

    当前矩阵为空白矩阵,选中矩阵第1,【菜单】Matrix—Import,打开Matrix Import Wizard对话框。

    clip_image022

    选择相应互斥按钮,单击Next,

    clip_image024

    按上图选择内容,单击Next,

    clip_image026

    选择All Columns,并相应选择From里面的列,之后单击Finish,导入完毕。如果不能成功导入,可能是因为打开的matrix太多导致选择矩阵的时候出现错误,最无脑的方法是关闭其他无关的矩阵,只留下空白矩阵和要处理完的数据表。

    步骤5:矩阵对角线0值的处理

    使用多路径最短路方法得到的区内的出行距离为0,关于该0值的处理问题。TransCAD交流QQ群的某人提出了一个简单的方法,即采用该行/列(?)最小值的一半作为该小区内部的出行距离。这个方法从直观上看,假设超出小区出行半径的出行都被认为是区外出行,还是有合理成分的,如果对精度要求不高的话,如此处理对角线0值不失为一个简单有效的方法。

    2010年07月20日晚于黄村

    End

  • 相关阅读:
    软件工程第一次作业(2)
    软件工程第一次作业
    TR111与STUN
    定制自己的ubuntu 镜像文件 (remastersys, respin, USB live CD)
    上层认证的安全协议 __〈无线局域网安全务实:WPA与802.11i〉读书笔记
    接入控制层的安全协议 __〈无线局域网安全务实:WPA与802.11i〉读书笔记
    WEP 协议__<无线局域网安全务实:WPA与802.11i〉读书笔记
    Python re模块中search与match的区别
    python中如何使用shell命令, 及python 与shell 中的变量相互通信
    sed命令简介及在sed命令中使用变量的方法
  • 原文地址:https://www.cnblogs.com/transteel/p/1781865.html
Copyright © 2011-2022 走看看