Если делать "на коленке" то в SQL есть инструкция сравнения LIKE и сравнивать c строковой суммой всех полей через пробел.
Суть - все поля в 1 строку и проверять вхождение искомого в эту строку.
Y = (time<=25)?100:((time<=50)?100-(time-25)*4:(time<=75)?:0:((time<=100)?(time-75)*4:0))
X = (time<=25)?time*4:((time<=50)?100:((time<=75)?100-(time-50)*4:0))
time(0...25) - верхняя грань
time(26...50) - правая грань
time(51...75) - нижняя грань
time(76...100) - левая грань
Что делать когда у тебя только растровая версия, а пользователь хочет скачать SVG?
Правильно - использовать тег image+base64 - пусть качает свой SVG.
Самый быстрый способ получить SVG из растра - вставить его фоном и обрисовать ручками. Так как конвертеры много мусора плодят, а пока их настроишь - уже нарисовал.