Well, I see you didn't get any help on this one. People tend to be a little sensitized this time of the year, as this is when all the students show up wanting last-minute solutions for their class projects.
1. don't believe the figures like 1600m outdoor range with an Xbee at 2.4Ghz. The best
I ever got reliably was 100m with XBee Pro using the whip antenna.
2. I've used XBees on my robots for 7 or 8 years now, and am currently vacating their
use completely. Where I live now, I can pick up 30 [wideband] wifi routers, and XBee
has to compete with all of them. 7-8 years ago, there were relatively few routers in
contention, so Xbee worked pretty good, now everyone has a router.
3. I am now going to 433 Mhz, although 915 might also be ok, and there is probably
very little interference on either band, as compared with 2.4 Ghz. Also, all trans-
missions are narrow bandwidth, and you have many more frequencies to choose
You might take a look at the Moteinos with RFM69HW radios. These might actually make 1600m under good conditions. Plus, the Moteino with radio, and including an Arduino chip, is about half the price of an XBee Pro.https://lowpowerlab.com/shop/https://lowpowerlab.com/shop/index.php?_route_=moteino-r4https://lowpowerlab.com/shop/index.php?_route_=moteinomega
Note that the original jeelib library for the RFM12 [low-power] radios was a piece of junk full of bugs, but Felix adapted it and fixed many of the bugs. He also wrote the new library for the RFM69HW radios from scratch, and that seems ok.
One more point. If you go to radios with external antennas, try to avoid the uFL connector types, and go for the SMA types. The uFL connectors are extremely flimsy, and easy to ruin.