
點選集合點就可以用照片牆呈現
隨著GPS定位普及化,現在的手機或是相機都支援GPS全球衛星定位,想想剛有智慧型手機時代,2008年htc推出了htc Dream,2009年推出htc Hero,那時的手機很慢很慢,而且行動網路還不普及,過幾年大家還是在找哪裡有Wi-Fi,沒有網路輔助定位,開個手機GPS定位基本要花個1分鐘才能完成定位,而且對於訊號強度的要求比現在高多了,陰雨天、屋簷、樹蔭下就不太可能完成定位,而且又很耗費電力,所以相機App通常也不會預設開啟定位功能。
過了幾年2013開始有htc One系列手機也進步不少,而iPhone的能耗在當時也相對進步,2014 iPhone 6,2015 iPhone 6S,手機拍照GPS定位漸漸普及化,時間過了10年到了現在2025相信大家也累積了很多數位遺產,大量的有定位點的照片,可是市面上似乎沒有我覺得夠順眼好用的軟體,不然照片地圖在十多年也早就有人撰寫了。
撰寫這個軟體的想法過了好幾年,到了現在時代不一樣了,軟硬體的速度比起十年前至少是百倍、千倍的進步,瀏覽器都得到了GPU的加速,以前這種百萬筆資料點等級的頁面,想要用瀏覽器幾秒鐘內載入,根本不可能,而現在實現了,照片可以直接用原圖載入,不用縮圖,影片可以直接用現代HTML5瀏覽器播放(H.264, H.265等),想想以前要播影片還需要FlashPlayer,Java Applet,現在真是科技進步,還可以用黑魔法AI寫黑魔法前端Code,以前看到網頁的JS視覺化,我就覺得那是黑魔法。
照片篩選檢索,自己設計的軟體可以加上自己想要的功能,比方說熱力圖顯示每天照片的數量,年度、月份照片張數統計圖表,也可以透過拍照的相機型號來篩選照片,時間篩選更不用說,還可以篩選出每年幾月,或是每年幾月幾日的照片,這在其他軟體上我沒看過的功能。商業軟體有實現的EXIF篩選則是幾乎所有欄位都可以成為篩選條件,不過如果把所有欄位都寫入到html檔案,我覺得那是過度設計,平常也很少會用什麼快門速度、光圈、焦距、ISO來做為篩選條件,雖然有的人會用鏡頭來挑照片,不過相信是少數,要把資源放在刀口上,畢竟這個軟體設計是以百萬張照片為設計目標的,過幾年後的軟硬體,這個網頁跑幾百萬張都不是問題。
這個軟體以python撰寫,掃描指定目錄的所有照片,存成資料庫檔案,讀取資料庫產生單一html檔案,這樣就可以直接在本機打開網頁,不需要依賴其他軟體,在我的電腦上30萬張照片,產生的資料庫檔案跟html檔案都大約30MB,在我2022年式的intel個人電腦,瀏覽器可以在幾秒鐘打開。
這裡特別推薦EDGE瀏覽器有支援原生的HTML5影片播放子母畫面,在Windows下不愧是親生的,同時播放20支 FulHD1920x1080 H.265 60FPS的手機錄影也沒問題。

單一檢視,LiSA演唱會,台北新莊體育館,可以預覽照片或是影片,點擊地圖上的集合可以檢視該集合的所有照片,按上一張下一張則是呈現該地點的所有照片,而使用時間上一張、時間下一張則有可能跳出集合,因為是循著時間預覽的。

熱力圖的每一小格綠點就代表當天拍攝的照片數量。
設計了同時播放所有影片的功能,方便預覽影片。

篩選器可以選擇匹配日期相符的照片,同時符合時間區段、相機型號,選擇要不要顯示沒有定位的照片,預設都顯示,沒有定位的照片會被指定為成早於該時間的最後一個定位點,如果都沒有的話,就會被傳送到遙遠的尼莫點。


年度、月份的照片數量、拍攝相機的照片數量統計。
如何使用

Windows環境,第一次使用,點擊install.bat,安裝python的相依套件,之後要使用就點擊run.bat。

選項1掃描指定目錄下的所有照片、影片。

可以輸入多個目錄,使用逗點,分隔,在我的電腦一秒鐘大約可以掃描400張照片。

選項4產生英文版的網頁,選項5產生中文版網頁,掃描完就可以使用資料庫輸出成html檔案,會在output/photo_map.html點兩下就可以打開瀏覽器看看你的照片地圖了。
Unix-like環境(BSD,Linux)相信你會用。
享受前人的付出吧!
軟體已經開源上傳到gitHub了