车辆配送的时间,路径问题具体怎么操作和设置然后怎么显示博主帮忙给指点一下叭
参考GPT和自己的思路:关于 #ArcGIS# 的车辆配送时间和路径问题,你可以用 ArcGIS Network Analyst 执行网络分析来解决。首先,你需要输入起点和终点,然后选择车辆和配送点等要素进行分析。在分析过程中,你要设置相关的时间和距离参数,例如车辆速度、配送时间窗、停车时间等。完成分析后,你可以在 ArcGIS 地图中显示出最优路径和配送时间等信息。希望这个答案对你有所帮助。
参考GPT和自己的思路:针对您提出的关于车辆配送时间和路径问题的操作和设置以及显示情况,我建议您可以使用#arcGIS的Network Analyst扩展来进行分析和解决。您需要利用地图上的路网和其他相关的数据设置一些属性,如速度限制,道路方向,拐角限制等,并利用Network Analyst的算法分析车辆路线和时间。 分析完毕后,您可以将分析的结果通过arcGIS中的可视化工具进行显示和呈现。如果您需要更具体的操作和设置步骤,建议您可以到arcGIS的官方论坛或网站中获取更加详细和具体的信息。
编号 | 数据文件 | 描述 |
1 | testDEM_RasterToNetCDF.nc | 按上述操作使用栅格数据从ArcGIS中导出为nc文件 |
2 | testpoints.csv | 用于测试的点图层,由ArcGIS的Table to excel工具导出 |
数据可视化:
testpoints.csv
FID,Id,x,y
0,0,117.1320038,27.94029999
1,0,117.1269989,27.95089912
2,0,117.1380005,27.93440056
3,0,117.1500015,27.93400002
4,0,117.1240005,27.95350075
5,0,117.1299973,27.9333992
6,0,117.1669998,27.90069962
7,0,117.2109985,27.8743
8,0,117.2190018,27.85849953
9,0,117.1470032,27.87400055
10,0,117.1849976,27.91769981
11,0,117.2040024,27.94039917
12,0,117.137001,27.9076004
13,0,117.1269989,27.89550018
14,0,117.1340027,27.89089966
15,0,117.1309967,27.88010025
16,0,117.1320038,27.86790085
17,0,117.1429977,27.85759926
18,0,117.2149963,27.92300034
19,0,117.197998,27.89679909
20,0,117.1869965,27.86879921
21,0,117.1699982,27.9239006
testDEM_RasterToNetCDF.nc
代码:
import netCDF4 as nc
import numpy as np
import pandas as pd
def LookShape(d1):
# 取出各variable的数据看看,数据格式为numpy数组
for var in d1.variables.keys():
data = d1.variables[var][:].data
print(var, data.shape)
def GetStationArr(station_lon, station_lat, raster_lon, raster_lat, arr, station):
# 读取站点经纬度,按照经纬度最近的位置,找到在栅格数据集的数组lat,lon的索引位置
lon_index = GetPoistion(raster_lon, station_lon)
lat_index = GetPoistion(raster_lat, station_lat)
# 查看属性数据&数据切片
# numpy数组切片,取数
myvalues = arr[lat_index, lon_index] # 取出某个格点所有时间的属性值
print('站点{}的在栅格图像的经纬度lon和lat数组索引[列,行]:'.format(station) + str(lon_index) + ',' + str(lat_index))
# print(temp_timeseq)
return myvalues, lon_index, lat_index
def GetPoistion(a, b):
t = []
for ii in range(len(a)):
t.append(abs(a[ii] - b))
return t.index(min(t))
def readcsv(filename):
myfile = pd.read_csv(filename, encoding='utf-8')
a = []
station = myfile.iloc[:, 0]
lon1 = myfile.iloc[:, 2]
lat1 = myfile.iloc[:, 3]
'''
station = myfile.iloc[:, 2]
lon = myfile.iloc[:, 5]
lat = myfile.iloc[:, 6]
'''
for i1 in range(len(station)):
tup = (station[i1], lon1[i1], lat1[i1])
a.append(tup)
return a
def my_process(dataset,testpoints):
myrowcol=[]
d = nc.Dataset(dataset)
d_lon = np.array(d.variables['lon'])
d_lat = np.array(d.variables['lat'])
values = np.array(d.variables['testDEM'])
#LookShape(d)
b1 = readcsv(testpoints)
#LookShape(d)
for i in range(len(b1)):
_, lon, lat = GetStationArr(b1[i][1], b1[i][2], d_lon, d_lat, values, b1[i][0])
myrowcol.append((b1[i][0],lon,lat,_))
# print(values[0][1], d_lon[0], d_lat[1])
#print(myrowcol)
return myrowcol
my_process('data/testDEM_RasterToNetCDF.nc','data/testpoints.csv')