A method for determining occupancy of a parking space using heat maps of a surface area, the method comprising: Receiving, at a hardware processor, sensor data from one or more sensors in communication with the hardware processor, said one or more sensors being configured to sense one or more traffic participants (102, 102a-c) and positioned such that the surface area is within a field of view of the one or more sensors; Generating, at the hardware processor, a moving heat map and a parking heat map based on sensor data of the one or more traffic participants identified as vehicles and determining a heat index associated with each portion of both heat maps; wherein a high moving heat index of the moving heat map is associated with a portion of the surface area identified as vehicle pathways with lots of traffic and/or vehicles moving a higher relative speed, wherein a low moving heat index of the moving heat map is associated with a portion of the surface area identified as parking spaces (140 a-n) with less traffic and/or lower rates of speed; and wherein heat indices of the parking heat map indicate how frequently a parking space (140a-n) is occupied with respect to other spaces (140a-n); Receiving, at a hardware processor, sensor data indicating a speed and location of a traffic participant; determining (510, 516) a traffic participant is parking when the speed is slowing and the location moves from a high moving heat index portion to a low moving heat index portion; determining (512, 516) a traffic participant is parking when the speed is slowing, and the location moves from a low moving heat index portion to a high parking heat index portion; and determining (514, 520) a traffic participant is leaving a parking space when the speed is increasing, and the location moves from a low parking heat index portion to a low moving heat index portion; updating, both heat maps to show the associated parking spaces as occupied or not occupied accordingly. Receiving, at a hardware processor, sensor data from one or more sensors in communication with the hardware processor, said one or more sensors being configured to sense one or more traffic participants (102, 102a-c) and positioned such that the surface area is within a field of view of the one or more sensors; Generating, at the hardware processor, a moving heat map and a parking heat map based on sensor data of the one or more traffic participants identified as vehicles and determining a heat index associated with each portion of both heat maps; wherein a high moving heat index of the moving heat map is associated with a portion of the surface area identified as vehicle pathways with lots of traffic and/or vehicles moving a higher relative speed, wherein a low moving heat index of the moving heat map is associated with a portion of the surface area identified as parking spaces (140 a-n) with less traffic and/or lower rates of speed; and wherein heat indices of the parking heat map indicate how frequently a parking space (140a-n) is occupied with respect to other spaces (140a-n); Receiving, at a hardware processor, sensor data indicating a speed and location of a traffic participant; determining (510, 516) a traffic participant is parking when the speed is slowing and the location moves from a high moving heat index portion to a low moving heat index portion; determining (512, 516) a traffic participant is parking when the speed is slowing, and the location moves from a low moving heat index portion to a high parking heat index portion; and determining (514, 520) a traffic participant is leaving a parking space when the speed is increasing, and the location moves from a low parking heat index portion to a low moving heat index portion; updating, both heat maps to show the associated parking spaces as occupied or not occupied accordingly.