1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.imaging.formats.jpeg.exif;
19
20 import java.io.File;
21 import java.util.stream.Stream;
22
23 import org.apache.commons.imaging.Imaging;
24 import org.apache.commons.imaging.formats.jpeg.JpegImageMetadata;
25 import org.apache.commons.imaging.formats.tiff.TiffImageMetadata;
26 import org.apache.commons.imaging.internal.Debug;
27 import org.junit.jupiter.params.ParameterizedTest;
28 import org.junit.jupiter.params.provider.MethodSource;
29
30 public class GpsTest extends AbstractExifTest {
31
32 public static Stream<File> data() throws Exception {
33 return getImagesWithExifData().stream();
34 }
35
36 @ParameterizedTest
37 @MethodSource("data")
38 public void test(final File imageFile) throws Exception {
39 if (imageFile.getParentFile().getName().toLowerCase().equals("@broken")) {
40 return;
41 }
42
43 final JpegImageMetadata metadata = (JpegImageMetadata) Imaging.getMetadata(imageFile);
44 if (null == metadata) {
45 return;
46 }
47
48 final TiffImageMetadata exifMetadata = metadata.getExif();
49 if (null == exifMetadata) {
50 return;
51 }
52
53 final TiffImageMetadata.GpsInfo gpsInfo = exifMetadata.getGpsInfo();
54 if (null == gpsInfo) {
55 return;
56 }
57
58
59 Debug.debug("imageFile " + imageFile);
60 Debug.debug("gpsInfo " + gpsInfo);
61 Debug.debug("gpsInfo longitude as degrees east " + gpsInfo.getLongitudeAsDegreesEast());
62 Debug.debug("gpsInfo latitude as degrees north " + gpsInfo.getLatitudeAsDegreesNorth());
63 Debug.debug();
64
65 }
66 }