commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Piotr Czajka <>
Subject [sanselan] Removing GPS tags problem
Date Sat, 01 Dec 2012 17:08:11 GMT
I have a problem with removing gps data from photo.
It's works  but also other tags unrelated with gps are removed

code  :

 public void removeExifTag(File jpegImageFile, File dst) throws
IOException, ImageReadException,

              ImageWriteException {
OutputStream os = null;
try {
    TiffOutputSet outputSet = null;

    // note that metadata might be null if no metadata is found.
    IImageMetadata metadata = Imaging.getMetadata(
    JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
    if (null != jpegMetadata)
        // note that exif might be null if no Exif metadata is found.
        TiffImageMetadata exif = jpegMetadata.getExif();

        if (null != exif)
            // TiffImageMetadata class is immutable (read-only).
            // TiffOutputSet class represents the Exif data to write.
            // Usually, we want to update existing Exif metadata by
            // changing
            // the values of a few fields, or adding a field.
            // In these cases, it is easiest to use getOutputSet() to
            // start with a "copy" of the fields read from the image.
            outputSet = exif.getOutputSet();

    if (null == outputSet) {
        // file does not contain any exif metadata. We don't need to
        // update the file; just copy it.
        IoUtils.copyFileNio(jpegImageFile, dst);

        // Example of how to remove a single tag/field.
        // There are two ways to do this.

        // Option 1: brute force
        // Note that this approach is crude: Exif data is organized in
        // directories. The same tag/field may appear in more than one
        // directory, and have different meanings in each.

      // outputSet.removeField(ExifTagConstants.EXIF_TAG_GPSINFO);

        // Option 2: precision
        // We know the exact directory the tag should appear in, in this
        // case the "exif" directory.
        // One complicating factor is that in some cases, manufacturers
        // will place the same tag in different directories.
        // To learn which directory a tag appears in, either refer to
        // the constants in or go to Phil Harvey's
        // EXIF website.

     TiffOutputDirectory gpsDirectory = outputSet.getGPSDirectory();    //
        if (null != gpsDirectory)


    os = new FileOutputStream(dst);
    os = new BufferedOutputStream(os);

    new ExifRewriter().updateExifMetadataLossless(jpegImageFile, os,

    os = null;
} finally {
    if (os != null)
        try {
        } catch (IOException e) {


I want to remove only gps position information from photo

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message