package net.osmand.osm.io; import net.osmand.osm.Entity; import net.osmand.osm.Node; import net.osmand.osm.Entity.EntityId; public class OsmBoundsFilter implements IOsmStorageFilter { private final double lonEnd; private final double latDown; private final double latUp; private final double lonStart; public OsmBoundsFilter(double latStart, double lonStart, double latEnd, double lonEnd){ this.latUp = latStart; this.lonStart = lonStart; this.latDown = latEnd; this.lonEnd = lonEnd; } @Override public boolean acceptEntityToLoad(OsmBaseStorage storage, EntityId entityId, Entity entity) { if(entity instanceof Node){ double lon = ((Node) entity).getLongitude(); double lat = ((Node) entity).getLatitude(); if (latDown <= lat && lat <= latUp && lonStart <= lon && lon <= lonEnd) { return true; } return false; } // unknown for other locations return true; } }