There's no known pixel-based methods to measure distances, and if there were, they would depend on scroll speed. For this reason, the BPM-ms technique is used to measure distances that do not depend on scroll speed or pixels. To do so, one must have a base BPM to calculate the distance.
BPM * time = distance
The unit of time, if you're working with distances by adding them or doing any equation with them, must be the same, but you can use any time unit.
Usual uses include for instance determining the BPM of teleports:
TeleportBPM * TeleportTime = BaseBPM * BaseTime
It likewise works for SVs, given that you interpret SVs as a speed multiplier of a base BPM. In other words
BPM1 / BaseBPM * time1 = BPM2 / BaseBPM * time2
is equivalent to
SV1 * time1 = SV2 * time2
This method of measuring distance is called Scroll-Speed Independant Distance.
To use this equation with a BPM and an SV effect, it suffices to multiply the resulting BPM-ms distance by the SV value:
BPM * SV * time = distanceWithSv
A way to prove this is by supposing that you have a distance equation that has a constant a that converts a number of beats to pixels on the screen. a may be defined in terms of the scroll speed, skin, and any other number of factors.
Since
bpm * time = beats
if time is in minutes, multiplying by a will give you a pixel distance:
a * bpm * time = distance
If you make this distance equal to any other distance, the a will cancel out, thus, our very first equation is a valid way of measuring distance in a map.