앵커: 근거
보관함을 촬영 시각순으로 정렬하면 위치 정보가 없는 사진은 전부 위치 정보가 있는 사진 사이 어딘가에 놓입니다. 위치 정보가 있는 그 이웃 사진이 바로 앵커입니다. 14:02에 iPhone으로 분수를 찍고, 같은 장면을 30분 동안 카메라로 담고, 14:36에 다리를 찍었다면 카메라 사진은 알려진 그 두 장소 사이에서 찍힌 것입니다. 아이디어는 그게 전부이고, 나머지는 이를 조심스럽게 적용하는 일입니다.
그룹: 검토의 단위
같은 앵커 쌍을 공유하고, 같은 카메라에서 왔고, 짧은 시간 안에 찍힌 위치 없는 사진은 하나의 그룹으로 검토합니다. 시장에서 보낸 아침은 마흔 번이 아니라 한 번의 결정입니다. 확정한 그룹의 모든 사진은 같은 위치를 받습니다. 그중 한 장이 40 m 더 아래쪽 길에 있었다고 아는 척하지 않는 것은 앱이 일부러 택한 방식입니다.
확신도: 앱이 주장하는 것과 주장하지 않는 것
그룹은 앵커 사이의 거리, 그 사이의 시간, 거기서 나오는 속도로 분류합니다. 이 분류가 지도에 무엇을 보여 줄지 정합니다:
| 분류 | 근거 | 지도에 보이는 것 |
|---|---|---|
| 확실 | 앵커에서 몇 초 안에 촬영, 또는 양쪽 앵커가 같은 자리 | 추측이 아닌 핀 |
| 추정 | 앵커끼리 가깝고, 그 사이는 걸어갈 만한 속도 | 시간으로 가중치를 준 핀, 한 번 볼 만함 |
| 불확실 | 비행, 긴 공백, 멀리 떨어진 앵커 | 핀 없음. 점선 경로와 있는 그대로의 사실 |
| 수동 | 핀을 직접 끌어다 놓음 | 직접 정한 위치, 그렇게 표시됨 |
정직함의 규칙: 불확실한 제안은 앱 안에 좌표 자체가 없습니다. 그래서 어떤 화면에서도, 엔진이 근거를 댈 수 없는 추측에 자신 있는 핀을 그릴 수 없습니다. 정직함은 덧칠이 아니라 구조로 지킵니다.
확실한 경우를 확실하게 지키는 세부 규칙이 둘 있습니다. 앵커 몇 초 뒤에 찍힌 연사는 그룹의 나머지가 확실하지 않아도 확실로 판정합니다. 가장 강한 신호가 끌려 내려가는 일은 없습니다. 그리고 모든 시간 창은 그룹에서 가장 먼 사진을 기준으로 판단하지, 가장 가까운 사진을 기준으로 삼지 않습니다. 운 좋게 가까웠던 한 장이 몇 시간 뒤에 찍힌 사진을 보증할 수는 없으니까요.
타임라인 바
그룹 카드마다 바가 하나 있습니다. 앞 앵커, 간격, 뒤 앵커. 너비는 실제 경과 시간대로 그립니다. 4분 간격은 고민 없이 확정하는 얇은 조각이고, 6시간 간격은 본능적으로 의심하게 되는 넓은 띠입니다. 숫자 하나 적지 않고 확신도를 전합니다.
검토: 몇 번의 쓸어넘김
- 확정하면 그룹의 모든 사진이 제안된 지점에 놓입니다.
- 쓸어넘기면 그룹을 건너뜁니다. 다음 세션에 다시 돌아옵니다.
- 핀을 끌어다 어디로든 옮기면 직접 정한 것이 되고, 그룹은 수동으로 바뀝니다.
- 탭하면 그룹의 격자가 열려 엉뚱하게 섞인 사진 한 장을 빼낼 수 있습니다.
- 앱이 확실하다고 판단한 그룹은 쓸어넘기기 한 번 없이 한꺼번에 받아들일 수 있습니다.
적용 & 실행 취소: 믿을 수 있는 쓰기
검토하는 동안에는 보관함에 손대지 않습니다. 결정은 기기 안에 준비만 해 두었다가 적용을 눌렀을 때만 씁니다. 그리고 사진 한 장이 바뀌기 전에 모든 쓰기를 그 사진의 이전 위치와 함께 저널에 남깁니다. 이전 위치가 “없음”이었을 때도 마찬가지입니다. 쓰는 도중에 앱이 멈춰도 저널은 온전합니다.
실행 취소는 저널을 거꾸로 재생해 모든 사진을 정확히 원래대로 되돌립니다. 그 사이에 직접 편집한 사진은 건너뛰고 알려 주며, 절대 덮어쓰지 않습니다. 보관함에 아예 쓰지 않는 편이 좋다면 확정한 위치를 GPX 트랙으로 내보내면 됩니다.