001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.tools; 003 004import org.openstreetmap.josm.data.coor.LatLon; 005import org.openstreetmap.josm.data.osm.BBox; 006 007/** 008 * A method to look up a property of the earth surface. 009 * 010 * User input for the {@link GeoPropertyIndex}. 011 * @param <T> the property 012 */ 013public interface GeoProperty<T> { 014 015 /** 016 * Look up the property for a point. 017 * @param ll the point coordinates 018 * @return property value at that point. Must not be null. 019 */ 020 T get(LatLon ll); 021 022 /** 023 * Look up the property for a coordinate rectangle. 024 * @param box the rectangle 025 * @return the property, if it is the same in the entire rectangle; 026 * null otherwise 027 */ 028 T get(BBox box); 029 030}