%let name=airbnb_nc_top20_2019; filename odsout '.'; /* Plotting data from: https://www.wraltechwire.com/2019/06/17/airbnbs-top-wish-listed-homes-for-future-stays-across-nc-range-from-tiny-to-towering/ */ data my_data (drop=dashes); infile datalines pad truncover; length airbnb_url description location dashes $100; input airbnb_url $ 1-100; input description $ 1-100; input location $ 1-100; input dashes $ 1-100; datalines; https://www.airbnb.com/rooms/518527 Snow's Nest ~highest crowsnest in the OuterBanks! Kill Devil Hills, The Outer Banks ----- https://www.airbnb.com/rooms/4997928 Quiet 2 bedroom 1/2 duplex Emerald Isle ----- https://www.airbnb.com/rooms/15178711 Farmhouse Feel, 5 miles from Ft Bragg Fayetteville ----- https://www.airbnb.com/rooms/7581778 Wilmington's 'The Great Escape' with Hot Tub! Wilmington ----- https://www.airbnb.com/rooms/18444056 The Suite On Rock Spring Road Greenville ----- https://www.airbnb.com/rooms/2014453 Nature Lover's Retreat W/Asheville Asheville ----- https://www.airbnb.com/rooms/9554179 Enchanting Riverfront Retreat- Romantic Getaway Blowing Rock ----- https://www.airbnb.com/rooms/19951500 PIGEON RIVER CABINS Clyde ----- https://www.airbnb.com/rooms/828744 Moonbeam Bungalows:Satellite Cabin Horse Shoe ----- https://www.airbnb.com/rooms/7657209 Spectacular Valley Views - Rustic Smokies Comfort Whittier ----- https://www.airbnb.com/rooms/9448891 Chalet Ruisseau Boone ----- https://www.airbnb.com/rooms/15181845 Cozy school bus in NC foothills. Shelby ----- https://www.airbnb.com/rooms/8537233 Tiny House in the Trees Durham ----- https://www.airbnb.com/rooms/11043784 Artists Loft, Downtown Winston-Salem ----- https://www.airbnb.com/rooms/11141498 Eco-friendly Treehouse: The Roost! Greensboro ----- https://www.airbnb.com/rooms/4763962 Gorgeous Basement Apt Near Uptown Charlotte ----- https://www.airbnb.com/rooms/15716532 Charming Tiny House at Wildwoods Community Farm Chapel Hill ----- https://www.airbnb.com/rooms/1031582 PRIVATE 1B/1b Apt Historic Main St. Mt Airy Mount Airy ----- https://www.airbnb.com/rooms/23605923 Quiet country setting yet close to everything Monroe ----- https://www.airbnb.com/rooms/9494142 Updated and Spacious Cary Apartment Cary ----- ; run; data my_data; set my_data; length city $100; city=scan(location,1,','); state='NC'; run; /* Use proc geocode to estimate a lat/long for each marker */ proc geocode data=my_data out=my_data (rename=(x=long y=lat)) method=city lookupcity=sashelp.zipcode; run; data my_map; set mapsgfk.us_counties (where=(statecode="NC" and density<=3)); run; proc gproject data=my_map out=my_map latlong eastlong degrees dupok parmout=projparm; id statecode county; run; proc gproject data=my_data out=my_data latlong eastlong degrees parmin=projparm parmentry=my_map; id; run; data my_anno; set my_data; length function $8 color $12 style $35 html $300; xsys='2'; ysys='2'; hsys='3'; when='a'; function='pie'; size=1.9; rotate=360; style='psolid'; color='cyan'; output; html= 'title='||quote(trim(left(description))||'0d'x||trim(left(city)))|| ' href='||quote(trim(left(airbnb_url))); style='pempty'; color='gray33'; output; run; goptions device=png; goptions xpixels=1000 ypixels=500; goptions border; ODS LISTING CLOSE; ODS html path=odsout body="&name..htm" (title="Airbnb's Top 20 'Wish-Listed' Homes in NC") options(pagebreak='no') style=htmlblue; goptions gunit=pct ftitle='albany amt' ftext='albany amt' htitle=5.7 htext=3.0; goptions ctext=gray33; pattern1 v=s c=white; title1 link='https://www.wraltechwire.com/2019/06/17/airbnbs-top-wish-listed-homes-for-future-stays-across-nc-range-from-tiny-to-towering/' ls=3.5 "Airbnb's top 20 'wish-listed' homes in North Carolina (2019)"; proc gmap data=my_map map=my_map anno=my_anno; note move=(18,7) "Click dots to see details."; id statecode county; choro segment / levels=1 nolegend coutline=gray77 des='' name="&name"; run; data my_data; set my_data; length link $300 href $300; href='href='||quote(trim(left(airbnb_url))); link = '' || htmlencode(trim(description)) || ''; run; title; proc print data=my_data label noobs style(data)={font_size=11pt} style(header)={font_size=11pt}; label link='Description' label location='Location'; var link location; run; quit; ODS HTML CLOSE; ODS LISTING;