owntracks / ios

OwnTracks' iPhone App
http://owntracks.org
Other
339 stars 91 forks source link

Photo taking/tagging/submitting from within OwnTracks app #824

Open jpmens opened 4 days ago

jpmens commented 4 days ago

Would it be technically possible to take photographs from within the OwnTracks iOS app (Android would follow suit if feasable) which are then either submitted via MQTT (or HTTP if that is the selected transport) tagged in such a way (EXIF data?) that there can be a direct association between the picture and the OwnTracks location?

I'm thinking along the lines of:

This might be quite a bit of work, but possibly a neat feature to have, and in fact somebody at #geomobNL recently actually asked for this.

ckrey commented 1 day ago

Yes!

First thoughts:

We could either take a photograph or select an existing photograph from the photo library. This would be similar to the process to create a card. With the photograph we could require a "POI" to be entered.

As the next step, we would

jpmens commented 1 day ago

or somehow link the full size image information to the location message

Is it possible to manipulate / augment the EXIF data in a taken photograph with, say, a designated UUID which is could be submitted with the location message to later associate location with the image?

ckrey commented 1 day ago

I can extract the original filename e.g. IMG_1255 and put this into the location message. How would you transmit the actual photo? Via the app or the way you transfer your photos normally? If you do it via OwnTracks, we could create an UUID and use it both in the location and the image playload.

jpmens commented 7 hours ago

I suspect the taken photograph would remain on the iPhone storage which it should.

Its filename or UUID would be transported in a _type:photo message to the broker at an owntracks/<user>/<device>/img ideally with the current location in it (lat, lon should suffice).

I would suggest the _type:photo has an encoding:base64 tag (maybe one day distinct encodings will be possible) and an "img":<base64-encoded>" photo.