Skip to main content

Hi All,

I have a workbench that reads a feature service from ArcGIS Online exposing the actual attachment attribute associated with each feature and then extracting the photos attached to it.

I'm using RasteReplacer to convert the BLOB data to a JPEG and then writing it with a JPEG writer (with the option to save the EXIF data ticked).

However, it doesn't look like the EXIF metadata is writing to the JPEG.

I'm sure that the EXIF metadata does exist as I have an existing Python script that uses Arcpy to extract the JPEGs with EXIF out from a file geodatabase. But when I do it through the ArcGIS Online feature service reader, it doesn't seem to be retaining this information .

Any help on this would be much appreciated.

Hi @weng.ng,

Would it be possible to share your workspace template (by going to File > Save as Template), which would include your workspace and source data? Or else a sample of your data, which can be saved using the FFS Writer if you can't share too much data? I'd be curious to take a look at how these attributes in the JPEG writer feature representation might correspond to your exif metadata, and I think having some data to work with will let more people in the Community take a stab at it to provide more suggestions. Thanks!


I have a similar issue, using FME 2019.

I am trying to extract JPEG photos from ArcGIS attachments and write EXIF data to the output files.

However, the only EXIF value that I can alter is 'jpeg_exif_imagedescription', which updates both the 'Title' and 'Subject' of the image when the Details are viewed with Windows Explorer.

Do Safe have any example workbenches of how we can write EXIF data to an output JPEG, specifically based on associated attributes?


I have a similar issue, using FME 2019.

I am trying to extract JPEG photos from ArcGIS attachments and write EXIF data to the output files.

However, the only EXIF value that I can alter is 'jpeg_exif_imagedescription', which updates both the 'Title' and 'Subject' of the image when the Details are viewed with Windows Explorer.

Do Safe have any example workbenches of how we can write EXIF data to an output JPEG, specifically based on associated attributes?

Hi @lindsay,

I can't seem to find any examples lying around for this, but to my understanding you should be able to write the exif metadata in the JPEG writer as long as you can see the metadata (in the feature information window) when reading it in. On the writer be sure to set 'Write EXIF tags' to yes, according to this answer here.

I would suggest checking the Feature Information Window to see what EXIF data the image feature contains. In this answer here by lars_de_vries, they suggest a RasterReplacer which seems to work for the user in this scenario.

If you're able to share any data either in FFS format (FME's feature store format), I'd be happy to take a look at it as well.


Hi @lindsay,

I can't seem to find any examples lying around for this, but to my understanding you should be able to write the exif metadata in the JPEG writer as long as you can see the metadata (in the feature information window) when reading it in. On the writer be sure to set 'Write EXIF tags' to yes, according to this answer here.

I would suggest checking the Feature Information Window to see what EXIF data the image feature contains. In this answer here by lars_de_vries, they suggest a RasterReplacer which seems to work for the user in this scenario.

If you're able to share any data either in FFS format (FME's feature store format), I'd be happy to take a look at it as well.

Hi @jovitaatsafe,

Thanks for your response.

Because I'm creating my JPEGs from ArcGIS Portal attachments, using the RasterReplacer, there are no EXIF tags in the feature information window.

I am hoping to create/write to specific tags to populate these with attribute data such as date of capture, author and tags.

As mentioned above, when I try to achieve this with the AttributeManager, I can only seemingly update the 'Title' and 'Subject', which both populate with the 'jpeg_exif_imagedescription' value that I specify.


Hi @lindsay,

I can't seem to find any examples lying around for this, but to my understanding you should be able to write the exif metadata in the JPEG writer as long as you can see the metadata (in the feature information window) when reading it in. On the writer be sure to set 'Write EXIF tags' to yes, according to this answer here.

I would suggest checking the Feature Information Window to see what EXIF data the image feature contains. In this answer here by lars_de_vries, they suggest a RasterReplacer which seems to work for the user in this scenario.

If you're able to share any data either in FFS format (FME's feature store format), I'd be happy to take a look at it as well.

Hi again @jovitaatsafe,

I've done a little more investigation, using a simple workbench made up of a JPEG Reader, connected directly to a JPEG Writer. On the reader, I exposed all Format Attributes and the Writer was set to 'Automatic' Attribute Definition, so matched this schema. The writer was also set to 'Write EXIF tags'.

What I found is that, many of the 'jpeg_exif_xp*' Format Attributes aren't written as expected.

The attached spreadsheet shows the EXIF values of interest for the source and destination files, as reported by Windows File Explorer (right-click > Properties > Details tab) and FME's Feature Information for the source data within the workbench.

You will note that the the highlighted 'Windows Details - Destination' values don't match the 'Windows Details - Source' or 'FME Feature Information' values.

It seems that most of the 'jpeg_exif_xp*' attributes are simply not written by FME and, for some reason the 'Subject' property is populated by the 'jpeg_exif_imagedescription' value.

Is there any way to write the 'jpeg_exif_xp*' tags correctly, or is this a bug in FME?

Thanks again for your assistance.

FME_EXIF_Issues.xlsx


Hi again @jovitaatsafe,

I've done a little more investigation, using a simple workbench made up of a JPEG Reader, connected directly to a JPEG Writer. On the reader, I exposed all Format Attributes and the Writer was set to 'Automatic' Attribute Definition, so matched this schema. The writer was also set to 'Write EXIF tags'.

What I found is that, many of the 'jpeg_exif_xp*' Format Attributes aren't written as expected.

The attached spreadsheet shows the EXIF values of interest for the source and destination files, as reported by Windows File Explorer (right-click > Properties > Details tab) and FME's Feature Information for the source data within the workbench.

You will note that the the highlighted 'Windows Details - Destination' values don't match the 'Windows Details - Source' or 'FME Feature Information' values.

It seems that most of the 'jpeg_exif_xp*' attributes are simply not written by FME and, for some reason the 'Subject' property is populated by the 'jpeg_exif_imagedescription' value.

Is there any way to write the 'jpeg_exif_xp*' tags correctly, or is this a bug in FME?

Thanks again for your assistance.

FME_EXIF_Issues.xlsx

Hi @lindsay,

Thanks for the details! I gave it a test on my end and I see that only the Title and Subject are written out as the input title value. I've created an issue in our tracking system for our development team to look into it further (FMEENGINE-61215) and I'll let you know as soon as that has been addressed. Thanks for bringing it up!


Hi @lindsay,

Thanks for the details! I gave it a test on my end and I see that only the Title and Subject are written out as the input title value. I've created an issue in our tracking system for our development team to look into it further (FMEENGINE-61215) and I'll let you know as soon as that has been addressed. Thanks for bringing it up!

Hi Jovita,

Do you know if any progress has been made on this issue?

Thanks.


Hi Jovita,

Do you know if any progress has been made on this issue?

Thanks.

Hi @lindsay,

There's been some initial investigation but no updates on my end. There's no timeline on it just yet unfortunately.

Potential workaround:

 

I spoke with our development team and there doesn't seem to be a workaround available at the moment using only FME. One possibility they suggested was to use a third-party tool to copy exif tags from the input to the output. Something like ExifTool runs on command line, so you could use FME to automatically invoke that tool after a JPEG is written using SystemCaller. Sorry for the inconvenience, I'll be sure to let you know here when the issue has been resolved!

Hello FME Support,

 

Is there any news on the missing metadata of file attachments?

 

Thanks

 


Hello FME Support,

 

Is there any news on the missing metadata of file attachments?

 

Thanks

 

Hi @geobiker​, there doesn't seem to be any movement on the issue just yet. I'll give the issue a bump as we have had a few questions on it now and I'll update this post as soon as it has been addressed. Sorry for the inconvenience!


Hi everyone,

I'm glad to announce that the issue filed as (FMEENGINE-61215) about the the JPEG writer and writing jpeg_exif_* tags has been fixed for FME 2021 and is available in our latest beta version. This issue was to do with the written exif tags viewed in the Windows Properties appearing to be missing, so this should work now when writing exif tags using the JPEG writer.

 

For the main issue at hand, reading ArcGIS Online JPEG attachment's exif metadata, please see Mark I.'s post Question of the Week: The TempPathnameCreator and how it helps us read JPEG exif tags where he makes use of the RasterReplacer, TempPathnameCreator and AttributeFileWriter to leverage the JPEG reader's ability to read exifs, using the FeatureReader.


Hi @geobiker​, there doesn't seem to be any movement on the issue just yet. I'll give the issue a bump as we have had a few questions on it now and I'll update this post as soon as it has been addressed. Sorry for the inconvenience!

Hi @jovitaatsafe​, I am also hitting this issue where I have a File Geodatabase with photo attachments. I can use FME to extract these to JPEGs, but I can't get the EXIF tags. This enhancement request gets my vote too!


Reply