摄影

  • 年初还说今年认真写写博客,一转眼好几个月没更新。开始更起来吧… 😭

    前几天粗算了一下,到目前为止今年大概有两个月以上的时间都在旅行,今年使用相机拍摄的照片数量几乎赶上了过去两年。开始用 4TB 的 iCloud 之后,我开始将我所有的照片都放在 iCloud,这样的好处是让照片不再成为硬盘上一个吃灰的文件,而是可以通过 Memories 功能或者 Widgets 随时查看。

    我使用相机比手机拍摄数量多很多,然而手机的照片自带 GPS 坐标信息,而数码相机的通常没有,这样 Memories 在生成回忆时,或者我基于位置(Location)来回看照片时非常不方便。

    所以今年上半年,我就开始研究如何最快的方式为数码相机拍的照片,无论是 jpeg 还是 RAW 文件的 EXIF 添加 GPS 信息。

    为数码相机照片添加 GPS 信息

    在我搜索的时候,已经有很多解决方式,包括为相机添加外置硬件、使用 iOS 端的专用 App 记录,再通过 exiftool 写入照片。我自己也曾经尝试了一段时间使用 iOS 自带的健身 App 记录徒步路线,再导出 .gpx 轨迹信息。甚至一度打开 XCode 准备自己写一个 App 解决这个问题。然而最麻烦的是在记录 GPS 信息的时候,都需要主动开启 — 而很多时候你又会忘记这件事情。

    今天我来介绍一种最方便的方法:

    在手机记录轨迹:

    目前最方便的方式是使用一生足迹App。这个 App 可以在后台自动记录 iPhone 的轨迹信息,也支持读取 iPhone 图库已有照片的 GPS 信息 — 也就是无需手动开启记录。它同时支持将所有轨迹信息导出为 .csv 文件,将数据私有化,这为后面做照片匹配提供了基础。

    一生足迹 App Store 截图

    在 Mac 端匹配:

    目前我找到最好用的是一款叫 HoudahGEO 的 App,它支持导入 .csv / .gpx,同时通过时间戳批量匹配坐标,以及批量编辑 EXIF,它也支持操作 Lightroom 与 iCloud 图库。整个流程也非常简单,导入 .gpx / .csv,自动匹配,批量导出写入 EXIF。

    注意,它是一款付费软件,大概 291 人民币,同时需要安装 java runtime。

    HoudahGEO 截图

    如果你使用 iPhone 自带健康 App 导出的 .gpx 健身轨迹信息,那么可以被 Houdah 直接使用。而如果你使用「一生足迹」App 导出的 .csv 文件,则会遇到一些小问题:因为这个 .csv 文件的时间列格式为 UTC 时间,而 Houdah 只能读取 ISO8601 格式时间戳。不过问题不大,我花 5 分钟通过 chatGPT 写一个简单的 Python 解决:

    // 将一生足迹 App 导出的 .csv 文件中的时间戳信息变更为 ISO 8601 格式
    // 以便 HoudahGEO 可以读取 Track og
    
    import csv
    from datetime import datetime
    
    def convert_timestamp_to_iso8601(timestamp):
        # 将时间戳转换为datetime对象
        dt_object = datetime.utcfromtimestamp(int(timestamp))
        # 将datetime对象格式化为ISO 8601格式
        return dt_object.strftime('%Y-%m-%dT%H:%M:%SZ')
    
    def process_csv(input_file, output_file):
        with open(input_file, 'r', newline='', encoding='utf-8') as infile, \
             open(output_file, 'w', newline='', encoding='utf-8') as outfile:
    
            reader = csv.DictReader(infile)
            fieldnames = reader.fieldnames
            
            if 'dataTime' not in fieldnames:
                print("dataTime列不存在")
                return
    
            writer = csv.DictWriter(outfile, fieldnames=fieldnames)
            writer.writeheader()
            
            for row in reader:
                # 转换时间为ISO 8601格式
                row['dataTime'] = convert_timestamp_to_iso8601(row['dataTime'])
                writer.writerow(row)
    
    # 使用
    input_file = 'backUpData.csv' // 一生足迹 App 导出的 .csv 文件
    output_file = 'newData.csv' // 转换后的 .csv 文件
    process_csv(input_file, output_file)

    最后,导入到 iCloud 图库,你就得到了一张带有地理位置信息的照片记录。✌️

  • 因为山就在家跟前

    ·

    这是一篇照片分享。( 多图杀猫-.- )

    终于成功忽悠 Mono(我夫人)和我一起离职之后,终于开始了两个人工作日爬山的生活。本来的计划是可以出国转转,无奈签证太慢了,于是从计划就从出国变成了家门口遛弯。😓

    以前在北京,总觉得这个城市又闹又挤,一有假期恨不得赶快去旅行。最近最大的收获,是发现原来家门口,就在北京,也有很多地方可去。当然天气是一方面,要等一个无风温暖天蓝的时间。把附近的老年遛弯场所溜达了一遍之后,把目光放到了京郊。方法是打开地图,切换到卫星地图视角,看哪里有绿色就放大看看。

    北京白虎涧照片 photo by Frish

    上周二就去了一趟白虎涧,这个地方名字起得很好,副标题是“北京后花园”。听说山桃花开得正好,从家里开车大概一个小时左右,说走就走。

    非常不巧的是,当天赶上了轻微的沙尘暴,空气质量中度污染。所以并没有看到网红图那样的:蓝天、高山、漫山遍野山桃花。但是对于没怎么见过世面的我来说,也相当壮观。

    白虎涧大概有 4 条上山路线,一条楼梯步道直达,时间最快,有点虐,也无聊。一条高手路线,据说比较危险。我们选择的是一条路程相对长,坡度相对缓的路线。由于长期缺乏锻炼,走这都喘… 走了不到两公里问路人还有多久到山顶,人家摆出了一幅“这才刚开始怎么就问终点在哪”的眼神,被鄙视了。

    北京白虎涧照片 photo by Frish
    白虎涧的山桃花

    一天下来还是很开眼的:从来没见过长满粉毛的山 – 漫山遍野山桃花。远看很震撼,近看可细观。我觉得今年北京的春天来得特别扭捏,一会儿二十度,一会儿十几度。所以也造成了这次短途旅行的一个有趣景观:枯草、绿树。花开,含苞。流水,冰面。挺好看的。

    从公园遛弯,到近郊爬山。一天下来我觉得,也没什么嘛。可是第二天我们就哭了,腰酸、腿疼。因为使用了登山杖,胳膊也累得不行,还是得锻炼啊!

    北京白虎涧照片 photo by Frish
    传送中的默认路线,顺着可以一直到山顶。这条路陡峭又无聊,主要是非常费腿

    作为今天的标题,是因为想起了一句著名的话:为什么要登山?因为山在那里。我为什么不在家宅着跑去跑山?因为近啊,它就在家门口😄。颐和园和百望山的桃花开了,玉渊潭的樱花开了,植物园的杏花开了。我忽然觉得北京也还挺好的。

    前几天听到了一个理论,是说你不要一段时间就专注在唯一的一件事上,这样你会错过很多东西。这句话说得对也不对。因为我一直认为,你要专注在一件事情上忘我投入,才会带来超出预期的回报。但是呢,有时候这也会让你错过一些美好,尤其是投入这些注意力几乎也不需要太大的 Cost。就像我来北京这么多年,才知道 – 虽然也听过 – 但从来没有去过,这里原来有这么多地方可以走走,也开着千枝万柳,各式各样的花朵。

    北京白虎涧照片 photo by Frish

    北京白虎涧照片 photo by Frish

    北京白虎涧照片 photo by Frish

    北京白虎涧照片 photo by Frish

    北京白虎涧照片 photo by Frish

    北京白虎涧照片 photo by Frish
    传说中长满粉毛的山…

    北京白虎涧照片 photo by Frish
    漫山遍野山桃花

    北京白虎涧照片 photo by Frish
    山顶望另一座山,有一条弯曲的小路,给人遐想

    北京白虎涧照片 photo by Frish
    近看也很漂亮

    北京白虎涧照片 photo by Frish

    北京白虎涧照片 photo by Frish

    北京白虎涧照片 photo by Frish
    漂亮的树!

    补充几点:

    • 白虎涧,我一天全程下来 7.84km 多一些,爬升高度 521m,大概 5 个小时左右(Apple Watch 数据)
    • 一直使用 28mm – 50mm 的镜头,去年因为去野生动物园,所以搞了一套 Sigma FPL + 90mm/F2.8 DG DN 镜头。我觉得还蛮好用的,主要是没有想到 90mm 可以做得这么轻便,解析度也还 OK。