private double distanceTo(final int doc) { if ( docsWithLatitude.get( doc ) && docsWithLongitude.get( doc ) ) { return center.getDistanceTo( coordinate( latitudeValues, doc ), coordinate( longitudeValues, doc ) ); } else { return Double.MAX_VALUE; } }
private double distanceTo(final int doc) { if ( docsWithLatitude.get( doc ) && docsWithLongitude.get( doc ) ) { return center.getDistanceTo( coordinate( latitudeValues, doc ), coordinate( longitudeValues, doc ) ); } else { return Double.MAX_VALUE; } }
@Override public void collect(int doc) throws IOException { final int absolute = docBase + doc; if ( docsWithLatitude.get( doc ) && docsWithLongitude.get( doc ) ) { double lat = coordinate( latitudeValues, doc ); double lon = coordinate( longitudeValues, doc ); distances.put( absolute, lat, lon ); } else { distances.putIncomplete( absolute ); } } }
@Override public void collect(int doc) throws IOException { final int absolute = docBase + doc; if ( docsWithLatitude.get( doc ) && docsWithLongitude.get( doc ) ) { double lat = coordinate( latitudeValues, doc ); double lon = coordinate( longitudeValues, doc ); distances.put( absolute, lat, lon ); } else { distances.putIncomplete( absolute ); } } }
@Override public boolean matches() throws IOException { lazyInit(); int docID = approximation().docID(); if ( docsWithLatitude.get( docID ) && docsWithLongitude.get( docID ) ) { double lat = coordinate( latitudeValues, docID ); double lon = coordinate( longitudeValues, docID ); if ( center.getDistanceTo( lat, lon ) <= radius ) { return true; } } return false; }
@Override public boolean matches() throws IOException { lazyInit(); int docID = approximation().docID(); if ( docsWithLatitude.get( docID ) && docsWithLongitude.get( docID ) ) { double lat = coordinate( latitudeValues, docID ); double lon = coordinate( longitudeValues, docID ); if ( center.getDistanceTo( lat, lon ) <= radius ) { return true; } } return false; }