英语法语西班牙文

OnWorks 网站图标

v.net.salesmangrass - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 v.net.salesmangrass

这是命令 v.net.salesmangrass 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


诉网络销售员 - 创建一个连接给定节点的循环(旅行商问题)。
请注意,TSP 是 NP-hard,此模块使用启发式算法,并且创建循环可能
次优

关键词


矢量, 网络, 推销员

概要


诉网络销售员
诉网络销售员 - 帮帮我
诉网络销售员 [-g] 输入=姓名 产量=姓名 [弧层=绳子]
[弧类型=绳子[,绳子,...]] [节点层=绳子[弧柱=绳子]
[弧向后列=绳子[序列=姓名] 中心猫=范围 [--覆盖] [--帮助]
[--详细] [--安静] [--ui]

标志:
-g
对经纬度位置使用测地线计算

--覆盖
允许输出文件覆盖现有文件

- 帮帮我
打印使用摘要

--详细
详细模块输出

- 安静的
静音模块输出

--用户界面
强制启动 GUI 对话框

参数:
输入=姓名 [必需的]
输入向量图的名称
或用于直接 OGR 访问的数据源

产量=姓名 [必需的]
输出矢量图的名称

弧层=绳子
弧层
矢量特征可以在不同的层中具有类别值。 这个数字决定
使用哪个层。 当与直接 OGR 访问一起使用时,这是层名称。
默认: 1

弧类型=字符串[,字符串……]
弧型
选项: 线, 边界
默认: 线,边界

节点层=绳子
节点层(用于城市)
矢量特征可以在不同的层中具有类别值。 这个数字决定
使用哪个层。 当与直接 OGR 访问一起使用时,这是层名称。
默认: 2

弧柱=绳子
弧向前/双向成本列(数字)

弧向后列=绳子
实验:弧向后方向成本列(数字)

序列=姓名
保存节点序列的输出文件的名称(“-”代表标准输出)

中心猫=范围 [必需的]
类别值
节点上的点(“城市”)类别(层由 nlayer 指定)

商品描述


诉网络销售员 计算访问向量网络上节点的最佳路线。

成本可以是线长度,也可以是保存在数据库表中的属性。 这些属性
值被视为整个段的成本,而不是遍历长度单位的成本(例如
米)的段。 例如,如果限速为 100 公里/小时,则成本为
穿越 10 公里长的路段必须计算为
长度/速度 = 10 公里/(100 公里/小时)= 0.1 小时。
支持弧的成本分配,以及一个的两个方向的不同成本
矢量线。 对于区域,将沿边界线计算成本。

输入向量需要准备 网络 操作=连接 为了连接
代表网络中心节点的点。

类别指定的点必须正好在网络节点上,输入向量图
需要准备 网络 操作=连接.

附注


可以使用 cost = -1 关闭弧。


6个数字化节点的旅行推销员(Spearfish):

最短路径,沿着未改善的道路:

最快路径,沿高速公路:

使用距离寻找最短路径,使用旅行时间寻找最快路径
根据不同道路类型的限速:
# 矛鱼
g.copy vect=道路,我的道路
# 我们的旅行有 6 个地点可以参观
回声 "1|601653.5|4922869.2|a
2|608284|4923776.6|b
3|601845|4914981.9|c
4|596270|4917456.3|d
5|593330.8|4924096.6|e
6|598005.5|4921439.2|f" | v.in.ascii in=- cat=1 x=2 y=3 out=centers col="cat 整数,\
东双精度,北双精度,标签 VARCHAR(43)”
# 验证数据准备
v.db.select 中心
v.category 中心 op=report
# 输入count min max
# 点 6 1 6
# 创建线映射连接点到网络(在第 2 层)
v.net myroads 点=中心 out=myroads_net op=连接 thresh=500
v.category myroads_net op=报告
# 层/表:1/myroads_net
# 输入count min max
# 第 837 行 1 5
#
# 层:2
# 输入count min max
# 点 6 1 5
# 找到最短路径
v.net.salesman myroads_net center_cats=1-6 out=mysalesman_distance
# 将成本设置为旅行时间
# 为第 3 层中的每条道路创建唯一的类别
v.category in=myroads_net out=myroads_net_time opt=add cat=1 层=3 类型=线
# 为第 3 层添加新表
v.db.addtable myroads_net_time layer=3 col="cat integer,label VARCHAR(43),长度双精度,速度双精度,成本双精度,b成本双精度"
# 将道路类型复制到第 3 层
v.to.db myroads_net_time layer=3 qlayer=1 opt=query qcolumn=label 列=标签
# 以英里为单位上传道路长度
v.to.db myroads_net_time 层=3 类型=线路 选项=长度 col=长度 单位=英里
# 以英里/小时为单位设置速度限制
v.db.update myroads_net_time layer=3 col=speed val="5.0"
v.db.update myroads_net_time layer=3 col=speed val="75.0" where="label='interstate'"
v.db.update myroads_net_time layer=3 col=speed val="75.0" where="label='primary Highway, hard surface'"
v.db.update myroads_net_time layer=3 col=speed val="50.0" where="label='二级公路,硬面'"
v.db.update myroads_net_time layer=3 col=speed val="25.0" where="label='轻型道路,改善表面'"
v.db.update myroads_net_time layer=3 col=speed val="5.0" where="label='unimproved road'"
# 将旅行成本定义为以分钟为单位的旅行时间:
# 设置远期成本
v.db.update myroads_net_time layer=3 col=cost val="长度/速度* 60"
# 设置反向成本
v.db.update myroads_net_time layer=3 col=bcost val="长度/速度* 60"
# 找到最快的路径
v.net.salesman myroads_net_time arc_layer=3 node_layer=2 arc_column=cost arc_backward_column=bcost center_cats=1-6 out=mysalesman_time
要显示结果,请运行例如:
# 显示结果
g.region 向量=myroads_net
# 最短路径
d.mon x0
d.vect myroads_net 网站
d.vect 中心 -c icon=basic/triangle
d.vect mysalesman_distance col=绿色宽度=2
d.font Vera 字体
d.vect 中心 col=red disp=attr attrcol=label lsize=12
# 最快路径
d.mon x1
d.vect myroads_net 网站
d.vect 中心 -c icon=basic/triangle
d.vect mysalesman_time col=绿色宽度=2
d.font Vera 字体
d.vect 中心 col=red disp=attr attrcol=label lsize=12

使用 onworks.net 服务在线使用 v.net.salesmangrass


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad