11B交通巡警平台地图绘制_精简版
Demo1: 全市6区地图绘制
clc,clear,close all;
load zones_xy_data.mat
load zones_data2.mat
x_1 = [xy_data(:,1),xy_data(:,2),xy_data(:,3)]; %全市交通路口节点标号,x坐标,y坐标
x_2 = [zones_data2(:,1),zones_data2(:,2)]; %全市交通路口的路线
xx = zeros(582,1);
xy = zeros(582,1);
for i=1:582
xx(i)=x_1(i,2);
xy(i)=x_1(i,3);
%描点
if x_1(i,1)<=92
plot(xx(i),xy(i),'.','Color','#6495ED','markersize',20)
hold on
elseif 93<=x_1(i,1) && x_1(i,1)<=165
plot(xx(i),xy(i),'.','Color','#9ACD32','markersize',20)
elseif 166<=x_1(i,1) && x_1(i,1)<=319
plot(xx(i),xy(i),'.','Color','#FFD700','markersize',20)
elseif 320<=x_1(i,1) && x_1(i,1)<=371
plot(xx(i),xy(i),'.','Color','#B22222','markersize',20)
elseif 372<=x_1(i,1) && x_1(i,1)<=474
plot(xx(i),xy(i),'.','Color','#708090','markersize',20)
else
plot(xx(i),xy(i),'.','Color','#CD853F','markersize',20)
end
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',6);
text(300,320,'A','Color','#6495ED','fontsize',25);
text(170,90, 'B','Color','#9ACD32','fontsize',25);
text(340,460,'C','Color','#FFD700','fontsize',25);
text(50,395, 'D','Color','#B22222','fontsize',25);
text(140,210,'E','Color','#708090','fontsize',25);
text(370,180,'F','Color','#CD853F','fontsize',25);
end
for j=1:928 %路线连接
dotx=[xx(x_2(j,1)), xx(x_2(j,2))];
doty=[xy(x_2(j,1)), xy(x_2(j,2))];
if x_2(j,1)<=92 %各区按颜色分配
plot(dotx, doty,'-','Color','#6495ED','Linewidth',1.2)
elseif 93<=x_2(j,1) && x_2(j,1)<=165
plot(dotx, doty,'-','Color','#9ACD32','Linewidth',1.2)
elseif 116<=x_2(j,1) && x_2(j,1)<=319
plot(dotx, doty,'-','Color','#FFD700','Linewidth',1.2)
elseif 320<=x_2(j,1) && x_2(j,1)<=371
plot(dotx, doty,'-','Color','#B22222','Linewidth',1.2)
elseif 372<=x_2(j,1) && x_2(j,1)<=474
plot(dotx, doty,'-','Color','#708090','Linewidth',1.2)
else
plot(dotx, doty,'-','Color','#CD853F','Linewidth',1.2)
end
end
Demo2: 各区之间交通来往路口绘制(-m色圆点为各区交际路口)
clc,clear,close all;
load zones_xy_data.mat
load zones_data2.mat
load data4
x_1 = [xy_data(:,1),xy_data(:,2),xy_data(:,3)]; %全市交通路口节点标号,x坐标,y坐标
x_2 = [zones_data2(:,1),zones_data2(:,2)]; %全市交通路口的路线
x_2_copy = [zones_data2(:,1),zones_data2(:,2)];
for i = 1:928 %找出封锁路口
if x_2(i,1)<=92 && x_2(i,2)<=92
x_2(i,:) = 0;
elseif x_2(i,1)>92 && x_2(i,1)<=165 && x_2(i,2)>92 && x_2(i,2)<=165
x_2(i,:) = 0;
elseif x_2(i,1)>165 && x_2(i,1)<=319 && x_2(i,2)>165 && x_2(i,2)<=319
x_2(i,:) = 0;
elseif x_2(i,1)>319 && x_2(i,1)<=371 && x_2(i,2)>319 && x_2(i,2)<=371
x_2(i,:) = 0;
elseif x_2(i,1)>371 && x_2(i,1)<=474 && x_2(i,2)>371 && x_2(i,2)<=474
x_2(i,:) = 0;
elseif x_2(i,1)>474 && x_2(i,1)<=582 && x_2(i,2)>474 && x_2(i,2)<=582
x_2(i,:) = 0;
end
end
data2_stripped = x_2(any(x_2'),:); %剔除全0行
save data2_stripped data2_stripped
xx = zeros(582,1);
xy = zeros(582,1);
for i=1:582
xx(i)=x_1(i,2);
xy(i)=x_1(i,3);
%描点
if x_1(i,1)<=92
plot(xx(i),xy(i),'.','Color','#6495ED','markersize',20)
hold on
elseif 93<=x_1(i,1) && x_1(i,1)<=165
plot(xx(i),xy(i),'.','Color','#9ACD32','markersize',20)
elseif 166<=x_1(i,1) && x_1(i,1)<=319
plot(xx(i),xy(i),'.','Color','#FFD700','markersize',20)
elseif 320<=x_1(i,1) && x_1(i,1)<=371
plot(xx(i),xy(i),'.','Color','#B22222','markersize',20)
elseif 372<=x_1(i,1) && x_1(i,1)<=474
plot(xx(i),xy(i),'.','Color','#708090','markersize',20)
else
plot(xx(i),xy(i),'.','Color','#CD853F','markersize',20)
end
if x_1(i,1)<=92 && ismember(i,data2_stripped) %封锁路口标号
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif 93<=x_1(i,1) && x_1(i,1)<=165 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif 166<=x_1(i,1) && x_1(i,1)<=319 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif 320<=x_1(i,1) && x_1(i,1)<=371 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif 372<=x_1(i,1) && x_1(i,1)<=474 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif x_1(i,1)>474 && x_1(i,1)<=582 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
end
text(300,320,'A','Color','#6495ED','fontsize',25);
text(170,90, 'B','Color','#9ACD32','fontsize',25);
text(340,460,'C','Color','#FFD700','fontsize',25);
text(50,395, 'D','Color','#B22222','fontsize',25);
text(140,210,'E','Color','#708090','fontsize',25);
text(370,180,'F','Color','#CD853F','fontsize',25);
end
for j=1:928 %路线连接
dotx=[xx(x_2_copy(j,1)), xx(x_2_copy(j,2))];
doty=[xy(x_2_copy(j,1)), xy(x_2_copy(j,2))];
if x_2_copy(j,1)<=92 %各区按颜色分配
plot(dotx, doty,'-','Color','#6495ED','Linewidth',1.2)
elseif 93<=x_2_copy(j,1) && x_2_copy(j,1)<=165
plot(dotx, doty,'-','Color','#9ACD32','Linewidth',1.2)
elseif 116<=x_2_copy(j,1) && x_2_copy(j,1)<=319
plot(dotx, doty,'-','Color','#FFD700','Linewidth',1.2)
elseif 320<=x_2_copy(j,1) && x_2_copy(j,1)<=371
plot(dotx, doty,'-','Color','#B22222','Linewidth',1.2)
elseif 372<=x_2_copy(j,1) && x_2_copy(j,1)<=474
plot(dotx, doty,'-','Color','#708090','Linewidth',1.2)
else
plot(dotx, doty,'-','Color','#CD853F','Linewidth',1.2)
end
end
for j=1:33 %路线封锁
dotx=[xx(data2_stripped(j,1)), xx(data2_stripped(j,2))];
doty=[xy(data2_stripped(j,1)), xy(data2_stripped(j,2))];
plot(dotx, doty,'--k','Linewidth',1.3)
end
% for i=1:30 %未封锁出入口
% if ~ismember(data4(i,1),data2_stripped)
% disp(data4(i,1))
% end
% end
Demo3: 各区交际处与表4出入口绘制(-m色圆点为各区交际路口,带星为表4出入口)
clc,clear,close all;
load zones_xy_data.mat
load zones_data2.mat
load data4
x_1 = [xy_data(:,1),xy_data(:,2),xy_data(:,3)]; %全市交通路口节点标号,x坐标,y坐标
x_2 = [zones_data2(:,1),zones_data2(:,2)]; %全市交通路口的路线
x_2_copy = [zones_data2(:,1),zones_data2(:,2)];
for i = 1:928 %找出封锁路口
if x_2(i,1)<=92 && x_2(i,2)<=92
x_2(i,:) = 0;
elseif x_2(i,1)>92 && x_2(i,1)<=165 && x_2(i,2)>92 && x_2(i,2)<=165
x_2(i,:) = 0;
elseif x_2(i,1)>165 && x_2(i,1)<=319 && x_2(i,2)>165 && x_2(i,2)<=319
x_2(i,:) = 0;
elseif x_2(i,1)>319 && x_2(i,1)<=371 && x_2(i,2)>319 && x_2(i,2)<=371
x_2(i,:) = 0;
elseif x_2(i,1)>371 && x_2(i,1)<=474 && x_2(i,2)>371 && x_2(i,2)<=474
x_2(i,:) = 0;
elseif x_2(i,1)>474 && x_2(i,1)<=582 && x_2(i,2)>474 && x_2(i,2)<=582
x_2(i,:) = 0;
end
end
data2_stripped = x_2(any(x_2'),:); %剔除全0行
save data2_stripped data2_stripped
xx = zeros(582,1);
xy = zeros(582,1);
for i=1:582
xx(i)=x_1(i,2);
xy(i)=x_1(i,3);
%描点
if x_1(i,1)<=92
plot(xx(i),xy(i),'.','Color','#6495ED','markersize',20)
hold on
elseif 93<=x_1(i,1) && x_1(i,1)<=165
plot(xx(i),xy(i),'.','Color','#9ACD32','markersize',20)
elseif 166<=x_1(i,1) && x_1(i,1)<=319
plot(xx(i),xy(i),'.','Color','#FFD700','markersize',20)
elseif 320<=x_1(i,1) && x_1(i,1)<=371
plot(xx(i),xy(i),'.','Color','#B22222','markersize',20)
elseif 372<=x_1(i,1) && x_1(i,1)<=474
plot(xx(i),xy(i),'.','Color','#708090','markersize',20)
else
plot(xx(i),xy(i),'.','Color','#CD853F','markersize',20)
end
if x_1(i,1)<=92 && ismember(i,data2_stripped) %封锁路口标号
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif 93<=x_1(i,1) && x_1(i,1)<=165 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif 166<=x_1(i,1) && x_1(i,1)<=319 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif 320<=x_1(i,1) && x_1(i,1)<=371 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif 372<=x_1(i,1) && x_1(i,1)<=474 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
elseif x_1(i,1)>474 && x_1(i,1)<=582 && ismember(i,data2_stripped)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'.m','markersize',25)
end
if x_1(i,1)<=92 && ismember(i,data4) %全市出入口标号
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'*m','markersize',15)
elseif 93<=x_1(i,1) && x_1(i,1)<=165 && ismember(i,data4)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'*m','markersize',15)
elseif 166<=x_1(i,1) && x_1(i,1)<=319 && ismember(i,data4)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'*m','markersize',15)
elseif 320<=x_1(i,1) && x_1(i,1)<=371 && ismember(i,data4)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'*m','markersize',15)
elseif 372<=x_1(i,1) && x_1(i,1)<=474 && ismember(i,data4)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'*m','markersize',15)
elseif x_1(i,1)>474 && x_1(i,1)<=582 && ismember(i,data4)
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',8);
plot(xx(i),xy(i),'*m','markersize',15)
end
text(300,320,'A','Color','#6495ED','fontsize',25);
text(170,90, 'B','Color','#9ACD32','fontsize',25);
text(340,460,'C','Color','#FFD700','fontsize',25);
text(50,395, 'D','Color','#B22222','fontsize',25);
text(140,210,'E','Color','#708090','fontsize',25);
text(370,180,'F','Color','#CD853F','fontsize',25);
end
for j=1:928 %路线连接
dotx=[xx(x_2_copy(j,1)), xx(x_2_copy(j,2))];
doty=[xy(x_2_copy(j,1)), xy(x_2_copy(j,2))];
if x_2_copy(j,1)<=92 %各区按颜色分配
plot(dotx, doty,'-','Color','#6495ED','Linewidth',1.2)
elseif 93<=x_2_copy(j,1) && x_2_copy(j,1)<=165
plot(dotx, doty,'-','Color','#9ACD32','Linewidth',1.2)
elseif 116<=x_2_copy(j,1) && x_2_copy(j,1)<=319
plot(dotx, doty,'-','Color','#FFD700','Linewidth',1.2)
elseif 320<=x_2_copy(j,1) && x_2_copy(j,1)<=371
plot(dotx, doty,'-','Color','#B22222','Linewidth',1.2)
elseif 372<=x_2_copy(j,1) && x_2_copy(j,1)<=474
plot(dotx, doty,'-','Color','#708090','Linewidth',1.2)
else
plot(dotx, doty,'-','Color','#CD853F','Linewidth',1.2)
end
end
for j=1:33 %路线封锁
dotx=[xx(data2_stripped(j,1)), xx(data2_stripped(j,2))];
doty=[xy(data2_stripped(j,1)), xy(data2_stripped(j,2))];
plot(dotx, doty,'--k','Linewidth',1.3)
end
% for i=1:30 %未封锁出入口
% if ~ismember(data4(i,1),data2_stripped)
% disp(data4(i,1))
% end
% end
Demo4: A区站点+出入口
clc,clear,close all
load zones_xy_data.mat
load data2_stripped.mat %第一问封锁路口标号
load data2_A.mat
load data4_A.mat
x_1 = [xy_data(:,1),xy_data(:,2),xy_data(:,3)]; %全市交通路口节点标号,x坐标,y坐标
x_2 = [data2_A(:,1),data2_A(:,2)]; %A区交通路口的路线
x_3 = data4_A(:,1); %A区出入口
xx = zeros(582,1);
xy = zeros(582,1);
for i=1:92
xx(i)=x_1(i,2);
xy(i)=x_1(i,3);
%描点
hold on
if i<=20 %A区防疫点
plot(xx(i),xy(i),'^m','markerface','g','markersize',20)
if ismember(i,x_3)
plot(xx(i),xy(i),'.r','markerface','r','markersize',23) %A区出入口
end
elseif ismember(i,x_3) %A区出入口
plot(xx(i),xy(i),'.r','markerface','r','markersize',23)
else
plot(xx(i),xy(i),'.','Color','#6495ED','markersize',20)
end
text(xx(i),xy(i),num2str(x_1(i,1)),'color',[0 0 0],'fontsize',10);
text(300,320,'A','Color','#6495ED','fontsize',25);
end
for j=1:length(data2_A(:,1)) %路线连接
dotx=[xx(x_2(j,1)), xx(x_2(j,2))];
doty=[xy(x_2(j,1)), xy(x_2(j,2))];
plot(dotx, doty,'-','Color','#6495ED','Linewidth',1.2)
end