Here is how I programmed the lines and distance labels. I will probably adjust the formatting some more, but I am close to what I want. data maptest;
set maptes.sheet1;
format distance comma10.2;
distance=geodist(lat1, lon1, lat2, lon2, 'M');
Route+1;
DistLabel=catx(" ", round(distance, 0.01),"miles");
run;
data map_data_rotate (keep=year Location lat lon distance route DistLabel latmid lonmid);
set maptest;
format lat lon 8.4;
latmid=(lat1+lat2)/2;
lonmid=(lon1+lon2)/2;
array lata(2) 8 Lat1 Lat2;
array lona(2) 8 Lon1 Lon2;
do i= 1 to 2;
If lata(i) then lat=lata(i);
if lona(i) then lon=lona(i);
if i=1 then location=start_location;
if i=2 then location=Destination;
output;
end;
run;
title Years 2018 and 2019;
proc sgmap plotdata=map_data_rotate;
openstreetmap;
series x=lon y=lat /group=Route ;
scatter x=lonmid y=latmid /group=Route datalabel=distlabel DATALABELPOS=right DATALABELATTRS=(color=green size=8pt);
run;
title Year 2018;
proc sgmap plotdata=map_data_rotate;
openstreetmap;
where year=2018;
series x=lon y=lat /group=Route ;
scatter x=lonmid y=latmid /group=Route datalabel=distlabel DATALABELPOS=right DATALABELATTRS=(color=green size=8pt);
run;
title Year 2019;
proc sgmap plotdata=map_data_rotate;
openstreetmap;
where year=2019;
series x=lon y=lat /group=Route ;
scatter x=lonmid y=latmid /group=Route datalabel=distlabel DATALABELPOS=right DATALABELATTRS=(color=green size=8pt);
run;
title;
... View more