本文整理汇总了Java中com.github.davidmoten.rtree.geometry.Geometries类的典型用法代码示例。如果您正苦于以下问题:Java Geometries类的具体用法?Java Geometries怎么用?Java Geometries使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Geometries类属于com.github.davidmoten.rtree.geometry包,在下文中一共展示了Geometries类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: entries1000
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
static List<Entry<Object, Rectangle>> entries1000() {
List<Entry<Object, Rectangle>> list = new ArrayList<Entry<Object, Rectangle>>();
BufferedReader br = new BufferedReader(
new InputStreamReader(RTreeBenchmark.class.getResourceAsStream("/1000.txt")));
String line;
try {
while ((line = br.readLine()) != null) {
String[] items = line.split(" ");
double x = Double.parseDouble(items[0]);
double y = Double.parseDouble(items[1]);
list.add(Entries.entry(new Object(), Geometries.rectangle(x, y, x + 1, y + 1)));
}
br.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
return list;
}
示例2: place
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
@Override
public boolean place(final Word word) {
final Rectangle wordRectangle = Geometries.rectangle(
word.getPosition().getX(),
word.getPosition().getY(),
word.getPosition().getX() + word.getDimension().getWidth(),
word.getPosition().getY() + word.getDimension().getHeight());
final Observable<Entry<String, Rectangle>> results = placedWordRTree.search(
wordRectangle);
final int matches = results.count().toBlocking().single();
if (matches > 0) {
return false;
}
placedWordRTree = placedWordRTree.add(word.getWord(), wordRectangle);
return true;
}
示例3: find
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
/**
* Find.
*
* @param longitude the longitude
* @param latitude the latitude
* @return the city
*/
public City find(Double longitude, Double latitude){
if(longitude == null || latitude == null){
return null;
}
Observable<Entry<City, Geometry>> result = this.rtree.nearest(Geometries.pointGeographic(longitude, latitude), 10000, 1);
if(result==null){
return null;
}
try{
return result.toBlocking().single().value();
}catch(NoSuchElementException e){
return null;
}
}
示例4: geometryAwtToRtree
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
public static Rectangle geometryAwtToRtree(Rectangle2D rect) {
// this is how those coordinates are considered in the Geometries.rectangle() factory method.
//double x1 = rect.getMinX();
//double x2 = rect.getMaxX();
//double y1 = rect.getY();
//double y2 = rect.getMaxY();
double y1 = Math.min(rect.getMinY(), rect.getMaxY());
return Geometries.rectangle(rect.getMinX(), y1, rect.getMaxX(), y1 + rect.getHeight());
}
示例5: add
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
/**
*
* @param f the feature to be added
*/
public void add(T f) {
list.add(f);
Rectangle2D bbox = f.getBounds();
Rectangle r = Geometries.rectangle(bbox.getMinX(), bbox.getMinY(), bbox.getMaxX(), bbox.getMaxY());
tree = tree.add(f, r);
}
示例6: addTile
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
/**
* Add a tile to this tree.
*
* @param tileBounds bounds for the tile.
*/
public void addTile(final TileBounds tileBounds) {
tileBoundsList.add(tileBounds);
tree = tree.add(tileBounds,
Geometries.rectangle(tileBounds.getMinX(),
tileBounds.getMinY(),
tileBounds.getMaxX(),
tileBounds.getMaxY()));
}
示例7: findTilesInBox
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
/**
* @return all tiles that intersect the specified bounding box.
*/
public List<TileBounds> findTilesInBox(final double minX,
final double minY,
final double maxX,
final double maxY) {
final Rectangle rectangle = Geometries.rectangle(minX, minY, maxX, maxY);
final Observable<Entry<TileBounds, Geometry>> searchResults = tree.search(rectangle);
return convertResultsToList(searchResults);
}
示例8: addToQueue
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
private Action1<VesselPosition> addToQueue() {
return new Action1<VesselPosition>() {
@Override
public void call(VesselPosition p) {
// System.out.println(p.lat() + "\t" + p.lon() + "\t"
// + p.id().uniqueId());
if (queue.size() % 10000 == 0)
System.out.println("queue.size=" + queue.size());
queue.add(p);
tree = tree.add(p, Geometries.point(p.lon(), p.lat()));
}
};
}
示例9: testRange
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
@Test
public void testRange() {
assertEquals(Geometries.rectangle(42.0d, 0.0d, 42.0d, 1.0d), range(Range.singleton(42L)));
assertEquals(Geometries.rectangle(24.0d, 0.0d, 42.0d, 1.0d), range(Range.closed(24L, 42L)));
assertEquals(Geometries.rectangle(24.0d, 0.0d, 41.0d, 1.0d), range(Range.closedOpen(24L, 42L)));
assertEquals(Geometries.rectangle(25.0d, 0.0d, 42.0d, 1.0d), range(Range.openClosed(24L, 42L)));
assertEquals(Geometries.rectangle(25.0d, 0.0d, 41.0d, 1.0d), range(Range.open(24L, 42L)));
}
示例10: searchOneGreek
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
@GenerateMicroBenchmark
public void searchOneGreek() {
rtreeGreek.search(Geometries.rectangle(40, 27.0, 40.5, 27.5)).subscribe();
}
示例11: searchOne1k
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
@GenerateMicroBenchmark
public void searchOne1k() {
rtree1k.search(Geometries.rectangle(500, 500, 630, 630)).subscribe();
}
示例12: searchOneBackpressureGreek
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
@GenerateMicroBenchmark
public void searchOneBackpressureGreek() {
rtreeGreek.search(Geometries.rectangle(40, 27.0, 40.5, 27.5)).take(1000).subscribe();
}
示例13: searchOneBackpressure1k
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
@GenerateMicroBenchmark
public void searchOneBackpressure1k() {
rtree1k.search(Geometries.rectangle(500, 500, 630, 630)).take(600).subscribe();
}
示例14: searchNearestGreek
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
@GenerateMicroBenchmark
public void searchNearestGreek() {
rtreeGreek.nearest(Geometries.point(40.0, 27.0), 1, 300).subscribe();
}
示例15: searchNearest1k
import com.github.davidmoten.rtree.geometry.Geometries; //导入依赖的package包/类
@GenerateMicroBenchmark
public void searchNearest1k() {
rtree1k.nearest(Geometries.point(500.0, 500.0), 10, 30).subscribe();
}