Object detection using sensors and then reporting the location
Detecting vehicles above a roadway is usually done by what is essentially a large metal detector.  A coil of wire is embedded in the pavement.  Together with other circuitry, a oscillator is created such that the oscillation frequency is sensitive to the coil inductance.  Since frequency can be measured very accurately (50 ppm is cheap), even small changes of inductance can be detected.  Detecting a steel car chassis 1 foot above the loop is routine.  This is how most sensors for automatic traffic lights work, for example.

As for how to get the data back to a central location, you haven't given us enough details.  You mentioned parking spots, which implies a fixed installation that needs to run for a long time, so running wires for power seems appropriate.  While you're providing the wired power, you can run some communication lines at the same time.  There are various options, but CAN sounds quite appropriate as a first reaction.  Your bandwidth requirements are quite low.  CAN running at 125 kbits/s can easily cover something the size of a parking lot.  The limit with CAN will be the number of nodes the bus can handle electrically, which is usually 80-95 nodes per bus, depending on exactly what transceivers are used.  Even with a separate CAN bus for each 80 parking spots, the extra master nodes will be a tiny fraction of the overall cost.