Hi,
you need to write GPS coordinates as string values in the format "deg,min,secR" or "deg,min.fracR", where 'R' is the reference direction (N,S,E,W).
So SetProperty("9,36.338E") will work.
I found the following in the XMP specification part 3 (section 3.2.3.3 Value conversions for TIFF and Exif tag values):
GPS latitude and longitude values are combined with their "ref" part to produce a single XMP map coordinate.
• The native numeric portion is 3 rational numbers for degrees, minutes, and seconds. If all 3 denominators
are 1, the numeric portion of the XMP is "deg,min,sec". Otherwise, floating-point arithmetic is used to
normalize the coordinate to "deg,min.frac", with enough fractional minute digits to cover the largest of the 3
denominators.
• The ref portion in the native format is an ASCII letter for the English compass directions ('N', 'S', 'E', 'W')
and is appended directly to the numeric portion in the XMP value. Assuming a ref of 'N', for example, the
native format (12/1,34/1,56/1) becomes "12,34,56N" in XMP. The native format (12/1,34/1,56789/1000)
becomes "12,34.946N".
Cheers,
Jens