Long Range RF communication
If you are able to see the devices, then we can only assume line of sight, 2km distance 433Mhz (70cm) should be fine with quite a low power solution. If you can't see them then that drastically reduces the transmit range at 70cm without increasing power consumption. As with all radio communication it can be power hungry. I have created similar projects with the arduino using a radiometrix NTX2 transmitter at 434.650Mhz. My solution to save power was to turn the transmitter on, send a location 'ping' and then turn off the transmitter again rather than constantly transmitting. Easily done with an arduino.
The article "Extreme Range Links: LoRa 868 / 915MHz SX1272 LoRa module for Arduino, Raspberry Pi and Intel Galileo" mentions a test of LoRa spread-spectrum modulation that sent data up to 22km (13.6 miles) line-of-sight, and up to 2km (1.2miles) in an urban environment going through buildings. The data rate apparently slows down "to few bytes per second" in difficult conditions.
The articles "IBM, Cisco Back Semtech's LoRa Radio for IoT" and "Long-range Wireless IoT Protocol: LoRa" mention a few other long-range, low-rate data protocols.
I hear that OpenRF and IBM LoRaWAN are open-source implementations of LoRa. Apparently LoRa and OpenRF are so lower power that some implementations are expected to "operate for several years using inexpensive off the shelf batteries."