当前位置: 首页>>代码示例>>Java>>正文


Java SpatialRelation.WITHIN属性代码示例

本文整理汇总了Java中com.spatial4j.core.shape.SpatialRelation.WITHIN属性的典型用法代码示例。如果您正苦于以下问题:Java SpatialRelation.WITHIN属性的具体用法?Java SpatialRelation.WITHIN怎么用?Java SpatialRelation.WITHIN使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在com.spatial4j.core.shape.SpatialRelation的用法示例。


在下文中一共展示了SpatialRelation.WITHIN属性的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getBoundingStateForCoordinate

public String getBoundingStateForCoordinate(Double lat, Double lng) {

		Point onePoint = ctx.makePoint(lat, lng);

		for (String oneShapeKey : geometries.keySet()) {

			Shape oneShape = geometries.get(oneShapeKey);

			SpatialRelation relation = oneShape.relate(onePoint);
			if (relation == SpatialRelation.CONTAINS || relation == SpatialRelation.INTERSECTS
					|| relation == SpatialRelation.WITHIN) {
				return oneShapeKey;
			} else {
				System.out.println("NOT IN:" + relation.toString());
			}
		}
		return null;
	}
 
开发者ID:InsightEdge,项目名称:geospatial-catastrophe-modeling,代码行数:18,代码来源:PointInPolygonHelper.java

示例2: isPointInPolygon

public Boolean isPointInPolygon(Double lat, Double lng) {

		Point onePoint = ctx.makePoint(lat, lng);

		for (Shape oneShape : geometries.values()) {

			SpatialRelation relation = oneShape.relate(onePoint);
			if (relation == SpatialRelation.CONTAINS || relation == SpatialRelation.INTERSECTS
					|| relation == SpatialRelation.WITHIN) {
				return true;
			} else {
				System.out.println("NOT IN:" + relation.toString());
			}
		}
		return false;
	}
 
开发者ID:InsightEdge,项目名称:geospatial-catastrophe-modeling,代码行数:16,代码来源:PointInPolygonHelper.java

示例3: evaluateRecord

@Override
public Object evaluateRecord(OIdentifiable iRecord, ODocument iCurrentResult, OSQLFilterCondition iCondition, Object iLeft,
    Object iRight, OCommandContext iContext) {

  List<Number> left = (List<Number>) iLeft;

  double lat = left.get(0).doubleValue();
  double lon = left.get(1).doubleValue();

  Shape shape = factory.context().makePoint(lon, lat);
  List<Number> right = (List<Number>) iRight;

  double lat1 = right.get(0).doubleValue();
  double lon1 = right.get(1).doubleValue();
  Shape shape1 = factory.context().makePoint(lon1, lat1);

  Map map = (Map) right.get(2);
  double distance = 0;

  Number n = (Number) map.get("maxDistance");
  if (n != null) {
    distance = n.doubleValue();
  }
  Point p = (Point) shape1;
  Circle circle = factory.context().makeCircle(p.getX(), p.getY(),
      DistanceUtils.dist2Degrees(distance, DistanceUtils.EARTH_MEAN_RADIUS_KM));
  double docDistDEG = factory.context().getDistCalc().distance((Point) shape, p);
  final double docDistInKM = DistanceUtils.degrees2Dist(docDistDEG, DistanceUtils.EARTH_EQUATORIAL_RADIUS_KM);
  iContext.setVariable("distance", docDistInKM);
  return shape.relate(circle) == SpatialRelation.WITHIN;
}
 
开发者ID:orientechnologies,项目名称:orientdb-spatial,代码行数:31,代码来源:OLuceneNearOperator.java

示例4: evaluateRecord

@Override
public Object evaluateRecord(OIdentifiable iRecord, ODocument iCurrentResult, OSQLFilterCondition iCondition, Object iLeft,
    Object iRight, OCommandContext iContext) {
  List<Number> left = (List<Number>) iLeft;

  double lat = left.get(0).doubleValue();
  double lon = left.get(1).doubleValue();

  Shape shape = SpatialContext.GEO.makePoint(lon, lat);

  Shape shape1 = shapeFactory.makeShape(new OSpatialCompositeKey((List<?>) iRight), SpatialContext.GEO);

  return shape.relate(shape1) == SpatialRelation.WITHIN;
}
 
开发者ID:orientechnologies,项目名称:orientdb-spatial,代码行数:14,代码来源:OLuceneWithinOperator.java

示例5: getSubCells

/**
 * Like {@link #getSubCells()} but with the results filtered by a shape. If
 * that shape is a {@link com.spatial4j.core.shape.Point} then it must call
 * {@link #getSubCell(com.spatial4j.core.shape.Point)}. The returned cells
 * should have {@link Cell#getShapeRel()} set to their relation with {@code
 * shapeFilter}. In addition, {@link Cell#isLeaf()}
 * must be true when that relation is WITHIN.
 * <p/>
 * Precondition: Never called when getLevel() == maxLevel.
 *
 * @param shapeFilter an optional filter for the returned cells.
 * @return A set of cells (no dups), sorted. Not Modifiable.
 */
public Collection<Cell> getSubCells(Shape shapeFilter) {
  //Note: Higher-performing subclasses might override to consider the shape filter to generate fewer cells.
  if (shapeFilter instanceof Point) {
    Cell subCell = getSubCell((Point) shapeFilter);
    subCell.shapeRel = SpatialRelation.CONTAINS;
    return Collections.singletonList(subCell);
  }
  Collection<Cell> cells = getSubCells();

  if (shapeFilter == null) {
    return cells;
  }

  //TODO change API to return a filtering iterator
  List<Cell> copy = new ArrayList<>(cells.size());
  for (Cell cell : cells) {
    SpatialRelation rel = cell.getShape().relate(shapeFilter);
    if (rel == SpatialRelation.DISJOINT)
      continue;
    cell.shapeRel = rel;
    if (rel == SpatialRelation.WITHIN)
      cell.setLeaf();
    copy.add(cell);
  }
  return copy;
}
 
开发者ID:europeana,项目名称:search,代码行数:39,代码来源:Cell.java

示例6: evaluateRecord

@Override
public Object evaluateRecord(OIdentifiable iRecord, ODocument iCurrentResult, OSQLFilterCondition iCondition, Object iLeft,
    Object iRight, OCommandContext iContext) {

  List<Number> left = (List<Number>) iLeft;

  double lat = left.get(0).doubleValue();
  double lon = left.get(1).doubleValue();

  Shape shape = SpatialContext.GEO.makePoint(lon, lat);
  List<Number> right = (List<Number>) iRight;

  double lat1 =  right.get(0).doubleValue();
  double lon1 =  right.get(1).doubleValue();
  Shape shape1 = SpatialContext.GEO.makePoint(lon1, lat1);

  Map map = (Map) right.get(2);
  double distance = 0;

  Number n = (Number) map.get("maxDistance");
  if (n != null) {
    distance = n.doubleValue();
  }
  Point p = (Point) shape1;
  Circle circle = SpatialContext.GEO.makeCircle(p.getX(), p.getY(),
      DistanceUtils.dist2Degrees(distance, DistanceUtils.EARTH_MEAN_RADIUS_KM));
  double docDistDEG = SpatialContext.GEO.getDistCalc().distance((Point) shape, p);
  final double docDistInKM = DistanceUtils.degrees2Dist(docDistDEG, DistanceUtils.EARTH_EQUATORIAL_RADIUS_KM);
  iContext.setVariable("distance", docDistInKM);
  return shape.relate(circle) == SpatialRelation.WITHIN;
}
 
开发者ID:orientechnologies,项目名称:orientdb-lucene,代码行数:31,代码来源:OLuceneNearOperator.java

示例7: getSubCells

/**
 * Like {@link #getSubCells()} but with the results filtered by a shape. If
 * that shape is a {@link com.spatial4j.core.shape.Point} then it must call
 * {@link #getSubCell(com.spatial4j.core.shape.Point)}. The returned cells
 * should have {@link Node#getShapeRel()} set to their relation with {@code
 * shapeFilter}. In addition, {@link org.apache.lucene.spatial.prefix.tree.Node#isLeaf()}
 * must be true when that relation is WITHIN.
 * <p/>
 * Precondition: Never called when getLevel() == maxLevel.
 *
 * @param shapeFilter an optional filter for the returned cells.
 * @return A set of cells (no dups), sorted. Not Modifiable.
 */
public Collection<Node> getSubCells(Shape shapeFilter) {
  //Note: Higher-performing subclasses might override to consider the shape filter to generate fewer cells.
  if (shapeFilter instanceof Point) {
    Node subCell = getSubCell((Point) shapeFilter);
    subCell.shapeRel = SpatialRelation.CONTAINS;
    return Collections.singletonList(subCell);
  }
  Collection<Node> cells = getSubCells();

  if (shapeFilter == null) {
    return cells;
  }

  //TODO change API to return a filtering iterator
  List<Node> copy = new ArrayList<Node>(cells.size());
  for (Node cell : cells) {
    SpatialRelation rel = cell.getShape().relate(shapeFilter);
    if (rel == SpatialRelation.DISJOINT)
      continue;
    cell.shapeRel = rel;
    if (rel == SpatialRelation.WITHIN)
      cell.setLeaf();
    copy.add(cell);
  }
  return copy;
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:39,代码来源:Node.java

示例8: getSubCells

/**
 * Like {@link #getSubCells()} but with the results filtered by a shape. If
 * that shape is a {@link com.spatial4j.core.shape.Point} then it must call
 * {@link #getSubCell(com.spatial4j.core.shape.Point)}. The returned cells
 * should have {@link Cell#getShapeRel()} set to their relation with {@code
 * shapeFilter}. In addition, {@link Cell#isLeaf()}
 * must be true when that relation is WITHIN.
 * <p/>
 * Precondition: Never called when getLevel() == maxLevel.
 *
 * @param shapeFilter an optional filter for the returned cells.
 * @return A set of cells (no dups), sorted. Not Modifiable.
 */
public Collection<Cell> getSubCells(Shape shapeFilter) {
  //Note: Higher-performing subclasses might override to consider the shape filter to generate fewer cells.
  if (shapeFilter instanceof Point) {
    Cell subCell = getSubCell((Point) shapeFilter);
    subCell.shapeRel = SpatialRelation.CONTAINS;
    return Collections.singletonList(subCell);
  }
  Collection<Cell> cells = getSubCells();

  if (shapeFilter == null) {
    return cells;
  }

  //TODO change API to return a filtering iterator
  List<Cell> copy = new ArrayList<Cell>(cells.size());
  for (Cell cell : cells) {
    SpatialRelation rel = cell.getShape().relate(shapeFilter);
    if (rel == SpatialRelation.DISJOINT)
      continue;
    cell.shapeRel = rel;
    if (rel == SpatialRelation.WITHIN)
      cell.setLeaf();
    copy.add(cell);
  }
  return copy;
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:39,代码来源:Cell.java

示例9: intersect

public boolean intersect(Geoshape other) {
    SpatialRelation r = getSpatialRelation(other);
    return r==SpatialRelation.INTERSECTS || r==SpatialRelation.CONTAINS || r==SpatialRelation.WITHIN;
}
 
开发者ID:graben1437,项目名称:titan1withtp3.1,代码行数:4,代码来源:Geoshape.java

示例10: within

public boolean within(Geoshape outer) {
    return getSpatialRelation(outer)==SpatialRelation.WITHIN;
}
 
开发者ID:graben1437,项目名称:titan1withtp3.1,代码行数:3,代码来源:Geoshape.java

示例11: evaluate

@Override
public boolean evaluate(Shape indexedShape, Shape queryShape) {
  Rectangle bbox = indexedShape.getBoundingBox();
  return bbox.relate(queryShape) == SpatialRelation.WITHIN || bbox.equals(queryShape);
}
 
开发者ID:europeana,项目名称:search,代码行数:5,代码来源:SpatialOperation.java

示例12: evaluate

@Override
public boolean evaluate(Shape indexedShape, Shape queryShape) {
  return indexedShape.getBoundingBox().relate(queryShape) == SpatialRelation.WITHIN;
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:4,代码来源:SpatialOperation.java

示例13: execute

@Override
public Object execute(Object iThis, OIdentifiable iCurrentRecord, Object iCurrentResult, Object[] iParams,
    OCommandContext iContext) {

  Shape shape = factory.fromObject(iParams[0]);

  Shape shape1 = factory.fromObject(iParams[1]);

  return shape.relate(shape1) == SpatialRelation.WITHIN;
}
 
开发者ID:orientechnologies,项目名称:orientdb-spatial,代码行数:10,代码来源:OSTWithinFunction.java


注:本文中的com.spatial4j.core.shape.SpatialRelation.WITHIN属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。