不知啥时开始(至少半年前吧)微信调整了朋友圈的发图定位机制:在A地发送B地拍摄的照片,那么推荐的定位全是B地附近的。
经过多轮测试,实际使用情况大概是这样的。
只有拍摄的照片(准确的来讲是带有GPS信息的照片)才会被推荐拍摄地附近的定位地点,而且跟发图时的地点和时间毫无关系。也就是说,你在朋友圈里找一张别人拍的(丢失GPS信息)照片自己发出去是获取不到别人拍摄时的那个定位的,相册里即便是去年拍的距离当前位置很远的图仍然可以定位到原来的地点继续装个B。
异地定位是如何实现的呢?
既然是图像定位,肯定跟图像的构成元素有关系。一张拍摄的图片除了(肉眼所见)显示特征外,它还包括设备型号、GPS、拍摄时间等多种隐性特征,统称Exif。
Exif:是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。
如果用显性特征去处理这个问题就变得复杂了,估计只能利用图片相似性来处理,用现在比较流行的话来讲叫「图像识别」。问题是同一个地点拍摄角度各不相同上哪儿去找那么多图做相似度匹配,即便能找到对服务器也是不小的压力。
如果用隐性特征去处理就变得简单很多了,只要一个GPS信息(含有经纬度)就够了。如果不想给离拍摄时间太久的图片推荐拍摄地定位,也就加一个时间Exif信息的事。
既然用的是GPS信息,那是否意味着可修改随意定位呢?
(怎么愉快的躺在床上也能在朋友圈世界旅行啊?)
当然可以。只要对图片的GPS信息进行重新编辑即可生效,Windows上的Exif编辑软件有「MagicEXIF」,Mac上的编辑软件有「Exif Editor」。如果你像我一样无聊的话,可以尝试一下。
修改时需要注意的是:
经纬度单位必须转换成度分秒这种格式(网上有很多在线转换的工具),比如:132.27得表示成132°16'12"
修改后的图片必须以原图的形式传到手机上(不要有压缩,不然会丢失GPS信息)
这么设计是出于什么样的考虑呢?
我是这样想的。用户拍完照后发图无非就两种场景:
1)在当前位置发送到朋友圈。
这种场景在操作流程上最为自然,无需做特殊处理,按正常的方式定位即可。
2)离开当前位置,过段时间再发送到朋友圈。
这种场景就比较特殊了。比如你在旅游的时候拍了一堆照片,回去后总得精心挑选一下才能体现自己的逼格吧;或者是在看演唱会的时候,网络情况总是那么的糟糕,别提有多着急了。如果按照原来的处理方案即便是在同一个城市,也要搜索一下才能找到拍摄地的位置。
针对该场景,定位到拍摄地附近无疑是最好的解决方案。
你可能会说,我只想定位到当前的地点怎么办,特别是隔的时间比较久的照片。这确实是个问题,也可以同时推荐两处地点,但这会增加产品的复杂度(可能还没找到优雅的解决方案)。如果真的想定位到当前的地点也不是不可以,只要用图片软件处理下就好了,但很少有用户这么做。
做产品就是这样,当务之急是先满足大部分人的需求,而小众需求考虑到成本或解决复杂度的问题可能就暂时搁置了。
其实Instagram也有这个功能,体验了下基本差不多。看吧,这已是个较成熟的解决方案了。
欢迎关注我的微信公众号: