// License: GPL. See LICENSE file for details. Copyright 2012 by Josh Doe and others. package org.openstreetmap.josm.plugins.conflation; import org.openstreetmap.josm.data.osm.OsmPrimitive; import static org.openstreetmap.josm.tools.I18n.tr; /** * This class represents a potential match, i.e. a pair of primitives, a score * and related information. */ public class SimpleMatch { OsmPrimitive referenceObject; OsmPrimitive subjectObject; double score; double distance; public SimpleMatch(OsmPrimitive referenceObject, OsmPrimitive subjectObject, double score) { if (referenceObject == null || subjectObject == null) { throw new IllegalArgumentException(tr("Invalid reference or subject")); } this.referenceObject = referenceObject; this.subjectObject = subjectObject; this.score = score; // TODO: use distance calculated in score function, and make sure it's in meters? this.distance = ConflationUtils.getCenter(referenceObject).distance(ConflationUtils.getCenter(subjectObject)); } public OsmPrimitive getReferenceObject() { return referenceObject; } public OsmPrimitive getSubjectObject() { return subjectObject; } public Object getScore() { return score; } public Object getDistance() { return distance; } }