I have a file with variables, ID, latitude and longitude, and with about 50,000 records. I want to calculate how many people are located within 10km of each person. The following code works, but is slow. It seems to be CPU rather than I/O bound (ie it is running one core at 100% on a windows server 2008 machine). (Running SAS 9.3 on x64). Any suggestions for how to optimize? proc sql; create table dist as select id1, n(id2) as N10 from test (rename=(latitude=lat1 longitude=long1 id=id1)), test (rename=(latitude=lat2 longitude=long2 id=id2)) where geodist(lat1,long1,lat2,long2)<10 group by id1 ; quit;
... View more