If you have multiple antennas and receivers, you can measure the phase differences of signals using correlation, and from that you can determine direction. If the antennas are widely placed at known positions, and the receivers are time correlated, you can calculate distance reasonably accurately.
Using RSSI is often a waste of time for ranging in the real world of multipath and Rayleigh fading, it's only a broad indicative value. you'd also need to know what the ERP of each source is.
If it's possible to ping a device with an accurately known and deterministic latency, you can range that way too, but I don't believe there's a way of doing that with off the shelf APs. When I've done ranging and velocity measurement (using Doppler) this way, the ping is via a simple RF bent pipe transponder with no signal regeneration.