Package org.geotools.geometry.jts

Examples of org.geotools.geometry.jts.ReferencedEnvelope3D


        assertEquals("results_value", ((PropertyName) unmappedAtt).getPropertyName());
    }
   
    @Test
    public void testBBox3D() throws Exception {
      BBOX bbox = ff.bbox("location", new ReferencedEnvelope3D(0, 10, 20, 50, 60, 70, null));
     
      assertTrue(bbox instanceof BBOX3DImpl);
      BBOX3DImpl bbox3d = (BBOX3DImpl) bbox;
     
      Filter unrolled = (Filter) bbox.accept(visitor, null);
View Full Code Here


        }
        else {
            throw new IllegalArgumentException();
        }
       
        return new BBOX3DImpl(name, new ReferencedEnvelope3D(env), this)
    }
View Full Code Here

//
//Referenced Envelope 3D Examples
//
private void exampleReferencedEnvelope3D() throws Exception {
// exampleReferencedEnvelope3D start
ReferencedEnvelope3D envelope = new ReferencedEnvelope3D(0, 10, 0, 20, 0, 30, DefaultGeographicCRS.WGS84_3D);
double xMin = envelope.getMinX();
double yMin = envelope.getMinY();
double zMin = envelope.getMinZ();
double xMax = envelope.getMaxX();
double yMax = envelope.getMaxY();
double zMax = envelope.getMaxZ();
double width = envelope.getWidth();
double height = envelope.getHeight();
double depth = envelope.getDepth();
double xCenter = envelope.getMedian(0);
double yCenter = envelope.getMedian(1);
double zCenter = envelope.getMedian(2);
CoordinateReferenceSystem crs = envelope.getCoordinateReferenceSystem();
int dimension = envelope.getDimension();
// Direct access to internal upper and lower positions
DirectPosition lower = envelope.getLowerCorner();
DirectPosition upper = envelope.getUpperCorner();
// expand to include 15, 30, 40
envelope.include(15, 30, 40);
envelope.isEmpty(); // check if storing width and height are 0
envelope.isNull(); // check if "null" (not storing anything)
envelope.setToNull();
// exampleReferencedEnvelope3D end
}
View Full Code Here

      
       
        Feature f1 = SimpleFeatureBuilder.build(type, new Object[] { "testFeature1", gf.createPoint(new Coordinate(10, 20, 30)) }, null);
        Feature f2 = SimpleFeatureBuilder.build(type, new Object[] { "testFeature2", gf.createPoint(new Coordinate(10, 10, 60)) }, null);
       
        BoundingBox3D envelope1 = new ReferencedEnvelope3D( 0, 50, 0, 50, 0, 50, null);
        Filter bbox1 = ff.bbox(ff.property("geom"), envelope1);
        BoundingBox3D envelope2 = new ReferencedEnvelope3D( 0, 50, 0, 50, 50, 100, null);
        Filter bbox2 = ff.bbox(ff.property("geom"), envelope2);
       
        assertTrue(bbox1.evaluate(f1));
        assertFalse(bbox1.evaluate(f2));
        assertFalse(bbox2.evaluate(f1));
View Full Code Here

    @Test
    public void force3DCRS3DEnvelope() throws Exception {
        CoordinateReferenceSystem crs = CRS.decode("EPSG:4939", true);
        CoordinateReferenceSystem hcrs = CRS.getHorizontalCRS(crs);
        BBOX bbox = ff.bbox(ff.property("the_geom"), new ReferencedEnvelope3D(-180, 180, -90, 90,
                0, 100, null));
        DefaultCRSFilterVisitor visitor = new DefaultCRSFilterVisitor(ff, crs);
        BBOX filtered = (BBOX) bbox.accept(visitor, null);
        Literal box = (Literal) filtered.getExpression2();
        Geometry g = (Geometry) box.evaluate(null);
View Full Code Here

        if (node.getChild("lowerCorner") != null) {
            DirectPosition l = (DirectPosition) node.getChildValue("lowerCorner");
            DirectPosition u = (DirectPosition) node.getChildValue("upperCorner");

            if (l.getDimension() > 2) {
            return new ReferencedEnvelope3D(u.getOrdinate(0), l.getOrdinate(0), u.getOrdinate(1), l.getOrdinate(1), u.getOrdinate(2), l.getOrdinate(2), crs);
          }
         
          return new ReferencedEnvelope(u.getOrdinate(0), l.getOrdinate(0), u.getOrdinate(1), l.getOrdinate(1), crs);
        }

        if (node.hasChild(Coordinate.class)) {
            List c = node.getChildValues(Coordinate.class);
            Coordinate c1 = (Coordinate) c.get(0);
            Coordinate c2 = (Coordinate) c.get(1);

            if (!Double.isNaN(c1.z)) {
              return new ReferencedEnvelope3D(c1.x, c2.x, c1.y, c2.y, c1.z, c1.z, crs);
            } else {
              return new ReferencedEnvelope(c1.x, c2.x, c1.y, c2.y, crs);
            }
        }

        if (node.hasChild(DirectPosition.class)) {
            List dp = node.getChildValues(DirectPosition.class);
            DirectPosition dp1 = (DirectPosition) dp.get(0);
            DirectPosition dp2 = (DirectPosition) dp.get(1);

            if (dp1.getDimension() > 2) {
            return new ReferencedEnvelope3D(dp1.getOrdinate(0), dp2.getOrdinate(0), dp1.getOrdinate(1), dp2.getOrdinate(1), dp1.getOrdinate(2), dp2.getOrdinate(2), crs);
          } else {
            return new ReferencedEnvelope(dp1.getOrdinate(0), dp2.getOrdinate(0),
                dp1.getOrdinate(1), dp2.getOrdinate(1), crs);
          }
        }

        if (node.hasChild(CoordinateSequence.class)) {
            CoordinateSequence seq = (CoordinateSequence) node.getChildValue(CoordinateSequence.class);
           
            if (seq.getDimension() > 2) {
              return new ReferencedEnvelope3D(seq.getX(0), seq.getX(1), seq.getY(0), seq.getY(1), seq.getOrdinate (0, 2), seq.getOrdinate( 1, 2), crs);
            } else {           
              return new ReferencedEnvelope(seq.getX(0), seq.getX(1), seq.getY(0), seq.getY(1), crs);
            }
        }
View Full Code Here

            throw new IllegalFilterException(tex.toString());
        }

        Polygon polygon = gfac.createPolygon(ring, null);
        if (envelope instanceof ReferencedEnvelope3D) {
            ReferencedEnvelope3D refEnv = (ReferencedEnvelope3D) envelope;
            polygon.setUserData(refEnv.getCoordinateReferenceSystem());
        }
       
        return factory.literal(polygon);
    }
View Full Code Here

    }
   
    public ReferencedEnvelope3D get3DEnvelope(Geometry geom) {
      Coordinate[] coordinates = geom.getCoordinates();
     
      ReferencedEnvelope3D env = new ReferencedEnvelope3D();
      for (Coordinate coordinate : coordinates) {
        env.expandToInclude(coordinate);
      }
      return env;
    }
View Full Code Here

                setConvertedInput(null);
            } else {
              if( is3D() ){
              double minZsafe = minZ == null ? Double.NaN : minZ;
              double maxZsafe = maxZ == null ? Double.NaN : maxZ;
            setConvertedInput(new ReferencedEnvelope3D(minX, maxX, minY, maxY, minZsafe, maxZsafe,crs));
            }
              else {
                setConvertedInput(new ReferencedEnvelope(minX, maxX, minY, maxY, crs));
              }
            }
View Full Code Here

            srs = sb.toString();
        }
       
        if (countco == 6) {
            CoordinateReferenceSystem crs = srs != null ? CRS.decode(srs) : null;
            return new ReferencedEnvelope3D(minx, maxx, miny, maxy, minz, maxz, crs);
        } else {
            return new SRSEnvelope(minx, maxx, miny, maxy, srs);
        }
    }
View Full Code Here

TOP

Related Classes of org.geotools.geometry.jts.ReferencedEnvelope3D

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.