Я предполагаю, что (Геолокация) в таблице SCAN имеет значения Широта и Долгота. Пожалуйста, обратитесь к этой ссылке (хотя это PostgreSQL, понятия должны быть применимы к любой СУБД, такой как sqlite. Ограничения DDL для внешнего ключа
TL; DR: ограничение внешнего ключа указывает, что Значения в столбце (или группе столбцов) должны соответствовать значениям, появляющимся в некоторой строке другой таблицы. Мы говорим, что это поддерживает ссылочную целостность между двумя связанными таблицами. Так что в случае, если вы хотите сделать (Geolocation) в качестве внешнего ключа - Вы должны найти первичный ключ в таблице геолокации, поэтому возможно добавление даты и внесение (date, lat, lon) в качестве составного первичного ключа сделает его пригодным для ссылочной целостности.