Ignore:
Timestamp:
2013-11-18T03:05:56+01:00 (10 years ago)
Author:
Don-vip
Message:

fix #9274 - GeoImageLayer functionality enhancements (patch by holgerosm)

Location:
trunk/src/org/openstreetmap/josm/io/session
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/session/GeoImageSessionExporter.java

    r6070 r6392  
    6666        layerElem.setAttribute("type", "geoimage");
    6767        layerElem.setAttribute("version", "0.1");
     68        addAttr("show-thumbnails", Boolean.toString(layer.isUseThumbs()), layerElem, support);
    6869
    6970        for (ImageEntry entry : layer.getImages()) {
     
    101102                addAttr("exif-time", Long.toString(entry.getExifTime().getTime()), imgElem, support);
    102103            }
     104            if (entry.getExifGpsTime() != null) {
     105                addAttr("exif-gps-time", Long.toString(entry.getExifGpsTime().getTime()), imgElem, support);
     106            }
    103107            if (entry.getExifCoor() != null) {
    104108                Element posElem = support.createElement("exif-coordinates");
     
    109113            if (entry.getExifImgDir() != null) {
    110114                addAttr("exif-image-direction", entry.getExifImgDir().toString(), imgElem, support);
     115            }
     116            if (entry.hasNewGpsData()) {
     117                addAttr("is-new-gps-data", Boolean.toString(entry.hasNewGpsData()), imgElem, support);
    111118            }
    112119
  • trunk/src/org/openstreetmap/josm/io/session/GeoImageSessionImporter.java

    r6093 r6392  
    3232        List<ImageEntry> entries = new ArrayList<ImageEntry>();
    3333        NodeList imgNodes = elem.getChildNodes();
     34        boolean useThumbs = false;
    3435        for (int i=0; i<imgNodes.getLength(); ++i) {
    3536            Node imgNode = imgNodes.item(i);
     
    5657                                } else if (attrElem.getTagName().equals("gps-time")) {
    5758                                    entry.setGpsTime(new Date(Long.parseLong(attrElem.getTextContent())));
    58                                 } else if (attrElem.getTagName().equals("gps-orientation")) {
     59                                } else if (attrElem.getTagName().equals("exif-orientation")) {
    5960                                    entry.setExifOrientation(Integer.parseInt(attrElem.getTextContent()));
    6061                                } else if (attrElem.getTagName().equals("exif-time")) {
    6162                                    entry.setExifTime(new Date(Long.parseLong(attrElem.getTextContent())));
     63                                } else if (attrElem.getTagName().equals("exif-gps-time")) {
     64                                    entry.setExifGpsTime(new Date(Long.parseLong(attrElem.getTextContent())));
    6265                                } else if (attrElem.getTagName().equals("exif-coordinates")) {
    6366                                    double lat = Double.parseDouble(attrElem.getAttribute("lat"));
     
    6669                                } else if (attrElem.getTagName().equals("exif-image-direction")) {
    6770                                    entry.setExifImgDir(Double.parseDouble(attrElem.getTextContent()));
     71                                } else if (attrElem.getTagName().equals("is-new-gps-data")) {
     72                                    if (Boolean.parseBoolean(attrElem.getTextContent())) {
     73                                        entry.flagNewGpsData();
     74                                    }
    6875                                }
    6976                                // TODO: handle thumbnail loading
     
    7481                    }
    7582                    entries.add(entry);
     83                } else if (imgElem.getTagName().equals("show-thumbnails")) {
     84                    useThumbs = Boolean.parseBoolean(imgElem.getTextContent());
    7685                }
    7786            }
     
    8796        }
    8897
    89         return new GeoImageLayer(entries, gpxLayer);
     98        return new GeoImageLayer(entries, gpxLayer, useThumbs);
    9099    }
    91100
Note: See TracChangeset for help on using the changeset viewer.