Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 矩形几何体,来自RectF';s数据不包括RectF';s中心_Java_Android_Measure_Jts - Fatal编程技术网

Java 矩形几何体,来自RectF';s数据不包括RectF';s中心

Java 矩形几何体,来自RectF';s数据不包括RectF';s中心,java,android,measure,jts,Java,Android,Measure,Jts,我无法将RectF转换为几何体,然后检测其中的点: public static Geometry RectFtoGeometry(RectF r) { GeometricShapeFactory gsf = new GeometricShapeFactory(); gsf.setBase(new Coordinate(r.left, r.bottom)); gsf.setNumPoints(4); gsf.setWidth(r.width()); gsf.

我无法将RectF转换为几何体,然后检测其中的点:

public static Geometry RectFtoGeometry(RectF r) {
    GeometricShapeFactory gsf = new GeometricShapeFactory();
    gsf.setBase(new Coordinate(r.left, r.bottom));
    gsf.setNumPoints(4);
    gsf.setWidth(r.width());
    gsf.setHeight(r.height());

    Geometry rect = gsf.createRectangle(), 
        point = new GeometryFactory().createPoint(new Coordinate(r.centerX(), r.centerY()));

    if(!rect.contains(point))
        throw new IllegalArgumentException();//This gets thrown

    return gsf.createRectangle();
}
如何从“可以包含”其点的RectF创建几何体


提前谢谢

GeometricShapeFactory.java中的代码使用以下方法创建信封:

public Envelope getEnvelope() {
  if (base != null) {
    return new Envelope(base.x, base.x + width, base.y, base.y + height);
  }
  ...
}
Android的原点(0,0)位于左上方;您必须将RectF的顶部与其高度相加,才能得到RectF的底部。因此,基础必须是:

gsf.setBase(new Coordinate(r.left, r.top));

GeometricShapeFactory.java中的代码通过以下方式创建信封:

public Envelope getEnvelope() {
  if (base != null) {
    return new Envelope(base.x, base.x + width, base.y, base.y + height);
  }
  ...
}
Android的原点(0,0)位于左上方;您必须将RectF的顶部与其高度相加,才能得到RectF的底部。因此,基础必须是:

gsf.setBase(new Coordinate(r.left, r.top));