交通地理信息系统实习教程(二)

 这篇文章服务于GIS背景用户以及有志于GIS的朋友

操作源数据位置:【免费】交通地理信息系统实习二源数据资源-CSDN文库

软件安装包位置:【免费】TransCad-交通地理信息系统软件资源-CSDN文库


  • 一、最短路径分析

1.1软件启动说明

这里需要给出一个必要的说明,TransCAD6.0软件在重启后会出现概率的闪退或无法打开现象,这里给出如下解决方案:

我们需要将同时放在TransCAD压缩包中的《TC6.0补丁》文件夹下的所有文件复制到TransCAD6.0的安装目录下,替换掉原文件即可。

接下来我们打开TCW软件即可以运行TransCAD6.0软件,TCW应用程序如图1-1所示:

图1-1 TCW应用程序

这里需要说明的是,若未重启也无法打开软件,也可以尝试将放在TransCAD压缩包中的《TC6.0补丁》文件夹下的所有文件复制到TransCAD6.0的安装目录下替换掉原文件。

1.2数据导入

在第一次实习中,我们便已大体上清楚TransCAD6.0的操作逻辑,这里我们参照实习指导书以及此前的操作进行本次的数据导入,在Procedures中勾选Network/Path和Routing/Logistics,如图1-2所示:

图1-2 Procedures勾选

接下来,打开以下地理文件:BOSTON.CDF,DEPOTS.DBD和STOPS.DBD,文件类型下拉框中选择Geographic File (* .cdf, * .dbd),如图1-3所示:

图1-3 选择Geographic File文件

1.3图例显示

接下来,我们需要将站点和仓库显示出来。这里,我们首先点击Map--Scale,将地图的显示比例改为1:40000,接下来点击STOPS层(即Customers)的显示符号,将其改为红色点状符号,大小为6;再将DEPOTS层的显示符号改为蓝色方形符号,大小为10;最后点击工具栏中的​对STOPS层的ID和DEPOTS层的NAME进行标注;操作如图1-4,结果如图1-5所示:

图1-4 图例显示操作

图1-5 图例实现结果

1.4保存文件

进行完如上操作后,我们便完成了一个阶段性的小目标,接下来我们只需要按照规定操作Save Workspace as到Lab3Data文件夹中,并命名为Lab3NetworkA.wrk,操作结果如图1-6所示:

图1-6 保存操作

1.5插入网络图层

为了在TransCAD中执行网络相关功能,需要有一个网络文件。我们首先激活Streets图层,然后点击Networks/Paths--Settings,打开Lab3Data中的MYBOSTON.NET网络文件;插入操作如图1-7所示:

图1-7 插入街道图层

1.6分析最短路径

进行完如上插入操作后,我们需要进行最短路径分析,接下来,点击Networks/Paths--Shortest Path,在弹出的窗口中点击​工具,选择两个仓库所对应的节点。点击右侧​工具,将LENGTH和TIME(min)的Skim Method都设置为All Links,然后依次设置Minimize为最短距离和最短时间,最后点击​工具即可求解;最短路径操作结果如图1-8所示,最短时间操作结果如图1-9所示:

图1-8 最短路径操作结果

图1-9 最短时间操作结果

1.7问题解答(first)

现在假设你在快递公司担任GIS-T分析员。你的第一个任务是找到街道网络中从第一仓库到第二仓库的最短路径,同时回答下列问题:

①两个仓库之间沿最短距离条件下的最短路径的总旅行时间和旅行距离是多少?(2分)

②沿着最短时间条件下的最短路径,两个仓库之间的总旅行时间和距离是多少?(2分) (注意:须写下测量单位)

③这两条最短路径使用的街道段是否相同?(2分)

解答:

如图1-10可知,沿最短距离条件下的最短路径的总旅行时间为8.4013mins,旅行距离为2.5884Miles

图1-10 最短距离条件下最短路径分析结果图

如图1-11可知,沿着最短时间条件下的最短路径的总旅行时间为7.0499mins,旅行距离为2.6941Miles

图1-11 最短时间条件下最短路径分析结果图

如图1-12可知,这两条最短路径使用的街道段并不相同,但在某些街道有重叠(最短距离条件下的路径为绿色,最短时间条件下的路径为

图1-12 路径分析对比图

1.8清除操作

这里为了不对后续操作步骤产生影响,我们需要对业已完成部分进行清除操作,即清除显示屏上的最短路径。


  • 二、TSP问题分析

这里我们的实际操作依旧是参照王老师给定的实习指导书中的内容。进行TSP即“履行推销员分析”。

2.1数据导入

为了进行后续分析,我们仍需要继续导入数据。首先点击Map—Layers,把街道网络(CDF Nodes Layer)的节点层在地图上显示出来;如图2-1所示:

图2-1 节点层显示

2.2创建数据集

接下来我们需要创建一个新的选择集,包括TSP之旅的所有站点。点击Tool–Selection选项,以交互方式选择第一仓库和ID为1至10的网络节点,将该选择集命名为"TSPstops",这里需要注意的是必须将第一仓库作为选择集的第一个条目;操作如图2-2所示,结果如图2-3所示:

图2-2 建立TSPstops数据集

图2-3 数据集建立完成视图

2.3保存文件

进行完如上操作后,我们便完成了一个阶段性的小目标,接下来我们只需要按照规定操作Save Workspace as到Lab3Data文件夹中,并命名为Lab3NetworkB.wrk,操作结果如图2-4所示:

图2-4 保存结果示意图

2.4隐藏CDF Nodes layer图层

为了进行TSP分析操作,这里我们需要隐藏CDF Nodes layer图层,操作示意如图2-5所示:

图2-5 隐藏CDF Nodes layer图层

2.5 TSP分析

接下来我们直接借助TransCAD的Traveling Salesman Problem分析工具进行TSP分析。首先,点击Networks/Paths–Traveling Salesman Problem,在Stops框中选择TSPstops,在Minimize框中选择[TIME (min)],并勾选Display directions框;最后点击ok,即可得到输出结果;操作示意如图2-6所示,操作结果如图2-7所示:

图2-6 TSP分析操作示意图

图2-7 TSP分析操作结果图

2.6分析XML文件

接下来,关闭Traveling Salesman Problem窗口,TransCAD将在Internet Explorer窗口或TXT窗口中显示驾驶指南。将这个XML文件(V6.0)或TXT文件(V4.5)保存并命名为"TSPdirections.xml"或"TSPdirecions.txt";这里我使用的是TransCAD6.0,故打开的是.xml文件,如图2-8所示:

图2-8 在Excel中打开的TSPdirections.xml文件

2.7删除TSP路线

为了进行后续VRP问题分析,这里我们需要删除已有的TSP路线,直接右键点击删除即可。操作如图2-9所示:

图2-9 删除TSP路线

2.8问题解答(second)

这个TSP之旅的总行程时间是多少?(2分)

阅读文件"TSPdirections.xml",上面的行驶路线表明,最后一个行程段是"从第11站到第12站"。为什么在旅行推销员问题的结果中会出现第12站?什么是第12站? (3分)

解答:

如图2-10可知,总行程时间为32.3881mins

图2-10 TSP总时间视图

如图2-11可知,第1站和最终的第12站都是第一仓库First Depot,从Excel文件表即行驶路线表里可以看到,出发的第一站fromnode 编号为108139,最后一个行程段中的tonode编号仍是108139,因此第12站就是出发的第一仓库。推测可能由于该车走一圈后最终还是会回到起点第一仓库。

图2-11 Excel分析图

2.9文件保存

进行完如上操作后,我们便又完成了一个阶段性的小目标,接下来我们只需要按照规定操作Save Workspace as到Lab3Data文件夹中,并命名为Lab3NetworkC.wrk,操作结果如图2-12所示:

图2-12 保存Lab3NetworkC.wrk文件

  • 三、VRP分析

3.1数据导入

首先,我们需要更新DEPOTS层的属性表中,即输入开放时间,由题已知第一仓库(ID=26)经营一辆运载能力为40个单位,成本为200美元的送货车,第二仓库(ID=27)经营一辆运载能力为70个单位,成本为300美元的送货车。接下来只需创建一个车辆表并输入相关数据,将此表保存在Lab3Data文件夹中,然后命名为VehicleTable1.bin;操作示意如图3-1、图3-2、图3-3和图3-4所示:

图3-1 在DEPOTS层的属性表中更新时间

图3-2 创建新的车辆表

图3-3 添加车辆表信息

图3-4 保存操作

3.2创建矩阵

接下来点击Routing/Logistics—Vehicle Routing,点击Matrix File框右侧的"..."按钮,打开Lab3Data文件夹中的VRP_MAT.MTX矩阵文件,作为该车辆路径问题中使用的路径规划矩阵(见下图);同时在Vehicle选项中选择上一步建立的VehicleTable1.bin文件;操作示意如图3-5和图3-6所示:

图3-5 Vehicle Routing建立操作

图3-6 Cities属性表视图

3.3 VRP操作

接下来,我们可以使用已经加载/创建的数据解决VRP。将输出的路线表保存在Lab3Data中,并命名为VRP_RouteTable1.bin,然后看到Internet Explorer窗口中显示的VRP行程报告,这里我使用的是TransCAD6.0,故保存此报告并命名为"VRP_ItineraryReport1.xml";操作示意如图3-7、图3-8和图3-9所示:

图3-7 创建路线示意图

图3-8 选择示意图

图3-9 保存操作示意图

3.4问题解答(third)

①从第一车厂派出的车辆的"总时间"和"Depart Load"是多少?从第一车厂派出的车辆为哪些客户提供服务?(注意:按照该车所服务的客户的顺序,列出车站的编号) (5分)

②该车辆在第二仓库的"总时间"和"Depart Load"是多少?这辆车在第二仓库的出发时间和返回时间是什么?这辆车为多少客户提供服务?(6分)

③是否有客户没有被这两辆车所服务?如果有,有多少?(3分)

解答:

由图3-10及图3-11可知,第一仓库的总时间为4h35mins;Depart Load是40.0。从第一车厂派出的车辆提供服务的站点依次是:Stop 24,Stop 1,Stop 2,Stop 22(共4个客户)

图3-10 route2视图

图3-11 first站点视图

由图3-12及图3-13可知,第二仓库的总时间为7h23min;Depart Load是60.0。这辆车在第二仓库的出发时间为1:23pm,返回时间为8:46pm,服务次序分别为:Stop12、 Stop11、Stop14、Stop15、Stop8、Stop18(6个客户)

图3-12 route1视图

图3-13 second站点视图

还有未被这两辆车服务的客户,共计15个客户。

3.5增加车辆VRP分析

接下来,修改车辆表,重新解决VRP。将新输出的路线表命名为VRP_RouteTable2,并将其保存在Lab3Data文件夹中。然后,将新的输出行程文件保存并命名为VRP_ItineraryReport2;操作示意如图所示:

图3-14 属性表添加车辆信息操作示意图

图3-15 输出示意图

图3-16 保存到作业文件夹

3.6问题解答(forth)

①这三辆车从两个仓库出发,是否有可能为所有25个客户提供服务?列出这三辆车各自服务的站点编号。另外请列出这三辆车都不提供服务的站点ID(如果存在这种站点)。(5分)

解答:

由图3-17可知,增加一辆车后仍不能为所有客户提供服务。

第一辆车服务的站点为(按服务次序):Stop 9Stop10(共2个)

第二辆车服务的站点为:Stop 14Stop15Stop17Stop16Stop11(共5个)

第三辆车服务的站点为:Stop 1Stop2Stop25Stop5Stop21Stop22Stop4Stop3Stop6Stop12(共10个)

这三辆车都不提供服务的站点为:Stop 7Stop8Stop13Stop18Stop19Stop20Stop23Stop24(共8个)

图3-17 三车路线示意图

四、实习总结

这次实习不仅是对我课堂学习的检验,更是对我实践能力的锻炼和提升。这次实习主要是利用TransCAD软件进行最短路径分析(SPA)、交通网络路径分析(TRP)和车辆路径问题(VRP)的实践操作。这些分析方法是交通规划、物流管理和地理信息系统应用中的重要工具,对于提高交通效率和优化资源配置具有重要意义。

在最短路径分析中,通过TransCAD构建了交通网络模型,并设置了起始点和终点。通过软件的分析功能,得到了网络中的最短路径及其相关属性,如距离、时间等。

在TRP分析中,考虑了更多的约束条件,如道路通行能力、车辆类型等。通过设定不同的参数和条件,得到了更加符合实际需求的路径分析结果。

在VRP分析中,则更为复杂。需要综合考虑多个配送点、车辆数量、装载量等因素,以找到最优的车辆路径方案。这要求我们不断地调整参数和尝试不同的策略,最终得到了满意的解决方案。

在实习过程中,我也遇到了很多挑战和困难。有时候,我会因为模型构建不当或参数设置不合理而导致分析结果不准确。但是,通过不断地试错和向助教学姐请教,我逐渐克服了这些困难,并提高了自己的操作能力。

这次GIS-T实习让我深刻体会到了理论与实践相结合的重要性。感谢老师和学姐的悉心指导和帮助!在未来的学习和实践中,我将继续努力,争取取得更好的成绩。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/623664.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

png格式怎么压缩的更小?用这几个方法轻松搞定

png格式支持透明背景,因此在网页设计中经常使用,经常用于创建图标、按钮、徽标和其他元素,使其能够与不同背景颜色和图像融合,实现更好的视觉效果,所以有时候我们就会遇到需要把png图片压缩小一点的情况,这…

【计算机网络】Socket网络编程

💻文章目录 📄前言Socket编程基础概念工作原理 Socket API介绍socket函数绑定、监听函数accept、connect接受/发送函数 Socket API的应用Socket类与其派生类的设计服务器与客户端的设计使用 📓总结 📄前言 现今我们的日常生活当中…

【经典文献】光声立体成像的对极几何

文献标题:《Epipolar Geometry of Opti-Acoustic Stereo Imaging》作者列表:Shahriar Negahdaripour发表期刊:IEEE Transactions on Pattern Analysis and Machine Intelligence发表年份:2007DOI链接:10.1109/TPAMI.20…

EPS软件标注点坐标值

1、如下,点击右侧(尺寸标注)按钮: 2、弹出一个对话框,如下: 3、在上图对话框中设置好箭头样式和小数位数,然后点击图上一点,右击结束再鼠标指定位置,如下: 如…

Lists.partition用法详解

文章目录 一、引入依赖二、用法三、输出 一、引入依赖 依赖于谷歌的guava 包 <!-- guava --><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>28.1-jre</version></dependency&…

LeetCode算法题:49. 字母异位词分组(Java)

给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", …

【吃透Java手写】5-RPC-简易版

【吃透Java手写】RPC-简易版-源码解析 1 RPC1.1 RPC概念1.2 常用RPC技术或框架1.3 初始工程1.3.1 Productor-common&#xff1a;HelloService1.3.2 Productor&#xff1a;HelloServiceImpl1.3.3 Consumer 2 模拟RPC2.1 Productor2.2 模拟一个RPC框架2.2.1 HttpServer2.2.2 Http…

如何安全高效地进行4S店文件分发,保护核心资产?

4S店与总部之间的文件分发是确保双方沟通顺畅、信息共享和决策支持的重要环节。4S店文件分发涉及到以下文件类型&#xff1a; 销售报告&#xff1a;4S店需要定期向总部提交销售报告&#xff0c;包括销售数量、销售额、市场份额等关键指标。 库存管理文件&#xff1a;包括车辆库…

Linux-基础IO

&#x1f30e;Linux基础IO 文章目录&#xff1a; Linux基础IO C语言中IO交互       常用C接口         fopen         fputs         fwrite         fgets 当前路径       三个文件流 系统文件IO       open函数     …

windows 环境下安装《车辆动态监控系统》支持JT808、JT1078、苏标主动安全设备接入

《车辆动态监控系统》下载安装部署包 开放端口 80/443/8800&#xff0c;web后台端口&#xff0c;nginx代理服务&#xff0c;nginx默认为8800端口8808&#xff0c;JT808专用端口6802&#xff0c;视频播放推流端口6891-6898&#xff0c;FTP端口6821&#xff0c;苏标主动安全附件…

一. Ast - 反混淆(基础篇)

目录 ​编辑 1. 什么是Ast-了解 2. 什么是反混淆-了解 3. 了解Ast结构 4. 思考 5. 前置准备 6. 什么是babel 7. 安装babel 8. ast反混淆代码基本结构 9. babel中的组件 parser与generator 组件 traverse 组件 与visitor enter与exit visitor 其他写法 traverse …

Python API和微服务的测试库之httpretty使用详解

概要 在现代软件开发中,API和微服务的测试是确保应用稳定性和功能正确性的关键环节。Python的HTTPretty库提供了一个强大的工具,允许开发者在不实际发起网络请求的情况下模拟HTTP请求和响应。本文将全面介绍HTTPretty的安装、特性、基本与高级功能,并结合实际应用场景,展示…

FebHost:什么是汤加.TO域名?

什么是.TO域名&#xff1f; 汤加域名是指在顶级域.to下注册的域名&#xff0c;.to域名是汤加的国家代码顶级域&#xff08;ccTLD&#xff09;。它类似于其他特定国家的域名后缀&#xff0c;如美国的”.us “或英国的”.uk”。 汤加国家介绍 汤加正式名称为汤加王国&#xff…

Java入门基础学习笔记19——关系运算符、逻辑运算符

关系运算符&#xff1a; 判断数据是否满足条件&#xff0c;最终会返回一个判断的结果&#xff0c;这个结果是布尔类型的值&#xff1a;true或false。 注意&#xff1a;在java中判断是否相等一定是“”&#xff0c;不要把“”写成“”&#xff0c;“”是赋值表达式。 package c…

【kubeflow文档】kubeflow介绍与架构

1. kubeflow介绍 Kubeflow项目致力于使机器学习&#xff08;ML&#xff09;工作流在Kubernetes上的部署变得简单、可移植和可扩展。目标不是重新创建其他服务&#xff0c;而是提供一种直接的方法&#xff0c;将ML的开源系统部署到不同的基础设施中。无论在哪里运行Kubernetes&a…

2.1 软件工程

第2章 信息技术知识 2.1 软件工程 现状&#xff1a; 开发软件的规模越来越大复杂度越来越高用户需求并不十分明确缺乏软件开发方法和工具方面的有效支持 软件成本日益增长、开发进度难以控制、软件质量无法保证、软件维护困难等问题日益突出。人们开始用工程的方法进行软件…

K8S -----二进制搭建 Kubernetes v1.20

目录 一、准备环境 1.1 修改主机名 1.2 关闭防火墙&#xff08;三台一起&#xff0c;这里只展示master01&#xff09; 1.3 在master添加hosts&#xff08;依旧是三台一起&#xff09; 1.4 调整内核参数并开启网桥模式 二、部署docker引擎 三、部署 etcd 集群 1.在mast…

水电站机组油压自动化控制系统概述及优势介绍

一、系统背景 我国河流、湖泊分布广泛&#xff0c;落差巨大&#xff0c;蕴藏着丰富的资源优势&#xff0c;我国作为世界第二大能源消耗国&#xff0c;对于电力的需求是巨大的&#xff0c;水力发电具有高效、清洁、能量供给稳定充足的特点&#xff0c;因此&#xff0c;水电工程…

基础ArkTS组件:数据面板组件(图表),日期选择器组件(HarmonyOS学习第三课【3.5】)

tuoz数据面板组件 DataPanel 数据面板组件&#xff0c;用于将多个数据占比情况使用占比图进行展示。 说明 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 DataPanel(options:{values: numbe…

19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode)

基础知识要求&#xff1a; Java&#xff1a;方法、while循环、for循环 Python&#xff1a; 方法、while循环、for循环 题目&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head […