I have the following data
PS Lat Long SLOT
abc 75.8233 26.2454 1
abc 75.4785 26.4589 1
abc 75.5495 26.4679 1
abc 75.4875 26.8997 2
abc 75.5649 26.7268 2
abc 75.5666 26.8647 2
xyz 75.4875 26.3842 1
xyz 75.4937 26.5877 1
xyz 75.8473 26.3971 1
xyz 75.7861 26.6884 2
Now I want a new column which shows the distances in the following way:
All the points with PS=abc and Slot=1 should have their distances calculated from the first point of this group(i.e., 75.8233 26.2454), similarly all the points with PS=abc and Slot=2 should have their distances calculated from the first point of this group(i.e., 75.4875 26.8997) and so on.
So please suggest me a solution for this.
Check out the GEODIST function
Assuming your data are sorted by PS and Slot as implied by the example:
data want;
set have;
by ps slot;
retain firstLat Firstlong;
if first.slot then do;
firstlat=lat;
firstlong=long;
end;
Dist = geodist(firstlat,firstlong,lat,long);
drop firstlat firstlong;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.