Package com.vividsolutions.jts.geom

Examples of com.vividsolutions.jts.geom.Envelope


    context.put(PipelineCode.TILE_METADATA_KEY, tileMetadata);
    Crs crs = geoService.getCrs2(tileMetadata.getCrs());
    context.put(PipelineCode.CRS_KEY, crs);
    CrsTransform layerToMap = geoService.getCrsTransform(layer.getCrs(), crs);
    context.put(PipelineCode.CRS_TRANSFORM_KEY, layerToMap);
    Envelope layerExtent = dtoConverterService.toInternal(layer.getLayerInfo().getMaxExtent());
    Envelope tileExtent = geoService.transform(layerExtent, layerToMap);
    context.put(PipelineCode.TILE_MAX_EXTENT_KEY, tileExtent);
    InternalTile tile = new InternalTileImpl(tileMetadata.getCode(), tileExtent, tileMetadata.getScale());
    GetTileContainer response = new GetTileContainer();
    response.setTile(tile);
    pipelineService.execute(PipelineCode.PIPELINE_GET_VECTOR_TILE, layerId, context, response);
View Full Code Here


    CrsTransform transform = transformCache.get(key);
    if (null == transform) {
      MathTransform mathTransform = getBaseMathTransform(sourceCrs, targetCrs);

      // as there was no transformable area configured, try to build it instead
      Envelope transformableArea = null;
      try {
        org.opengis.geometry.Envelope ogEnvelope = CRS.getEnvelope(targetCrs);
        if (null != ogEnvelope) {
          Envelope envelope = new Envelope(ogEnvelope.getLowerCorner().getCoordinate()[0], ogEnvelope
              .getUpperCorner().getCoordinate()[0], ogEnvelope.getLowerCorner().getCoordinate()[1],
              ogEnvelope.getUpperCorner().getCoordinate()[1]);
          log.info("CRS " + targetCrs.getId() + " envelope " + envelope);
          ReferencedEnvelope refEnvelope = new ReferencedEnvelope(envelope, targetCrs);
          transformableArea = refEnvelope.transform(sourceCrs, true);
View Full Code Here

  /** @{inheritDoc} */
  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "REC_CATCH_EXCEPTION")
  public Bbox transform(Bbox source, CrsTransform crsTransform) {
    try {
      if (crsTransform.isTransforming()) {
        Envelope envelope = new Envelope(source.getX(), source.getMaxX(), source.getY(), source.getMaxY());
        Envelope transformableArea = crsTransform.getTransformableEnvelope();
        if (null != transformableArea) {
          envelope = envelope.intersection(transformableArea);
        }
        if (envelope.isNull()) {
          return new Bbox();
View Full Code Here

  /** @{inheritDoc} */
  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "REC_CATCH_EXCEPTION")
  public Envelope transform(Envelope source, CrsTransform crsTransform) {
    try {
      if (crsTransform.isTransforming()) {
        Envelope transformableArea = crsTransform.getTransformableEnvelope();
        if (null != transformableArea) {
          source = source.intersection(transformableArea);
        }
        if (source.isNull()) {
          return source;
        } else {
          ReferencedEnvelope refEnvelope = new ReferencedEnvelope(source, crsTransform.getSource());
          return refEnvelope.transform(crsTransform.getTarget(), true);
        }
      } else {
        return source;
      }
    } catch (Exception e) { // typically TopologyException, TransformException or FactoryException, but be safe
      log.warn("Problem during transformation " + crsTransform.getId() + "of " + source
          + ", maybe you need to configure the transformable area using a CrsTransformInfo object for this "
          + "transformation. Object replaced by empty Envelope.", e);
      return new Envelope();
    }
  }
View Full Code Here

  /** @{inheritDoc} */
  public Coordinate transform(Coordinate source, CrsTransform crsTransform) {
    try {
      if (crsTransform.isTransforming()) {
        Envelope transformableArea = crsTransform.getTransformableEnvelope();
        if (null == transformableArea || transformableArea.contains(source)) {
          return JTS.transform(source, new Coordinate(), crsTransform);
        }
        return null;
      } else {
        return source;
View Full Code Here

      return serverBbox;
    }
    try {
      Crs mapCrs = geoService.getCrs2(mapCrsKey);
      Crs layerCrs = geoService.getCrs2(layerCrsKey);
      Envelope serverEnvelope = converterService.toInternal(serverBbox);
      CrsTransform transformer = geoService.getCrsTransform(layerCrs, mapCrs);
      Bbox res = converterService.toDto(geoService.transform(serverEnvelope, transformer));
      if (Double.isNaN(res.getX()) || Double.isNaN(res.getY()) || Double.isNaN(res.getWidth())
          || Double.isNaN(res.getHeight())) {
        throw new LayerException(ExceptionCode.LAYER_EXTENT_CANNOT_CONVERT, layer, mapCrsKey);
View Full Code Here

      return null;
    }
    LayerInfo layerInfo = layer.getLayerInfo();

    // base is the max bounds of the layer
    Envelope maxBounds = converterService.toInternal(layerInfo.getMaxExtent());
    PrecisionModel precisionModel = new PrecisionModel(PrecisionModel.FLOATING);
    int srid = geoService.getSridFromCrs(layer.getLayerInfo().getCrs());
    GeometryFactory geometryFactory = new GeometryFactory(precisionModel, srid);
    Geometry geometry = geometryFactory.toGeometry(maxBounds);
View Full Code Here

    String geomName = layer.getLayerInfo().getFeatureInfo().getGeometryType().getName();

    String epsg = Integer.toString(geoService.getSridFromCrs(layer.getCrs()));
    // transform tile bounds back to layer coordinates
    // TODO: for non-affine transforms this is not accurate enough !
    Envelope bounds = geoService.transform(response.getTile().getBounds(), maptoLayer);
    Filter filter = filterService.createBboxFilter(epsg, bounds, geomName);
    if (null != metadata.getFilter()) {
      filter = filterService.createAndFilter(filterService.parseFilter(metadata.getFilter()), filter);
    }
View Full Code Here

    Assert.assertEquals(jts.getCoordinates().length, gwt.getCoordinates().length);
  }

  @Test
  public void getBounds() {
    Envelope env = jts.getEnvelopeInternal();
    Bbox bbox = gwt.getBounds();
    Assert.assertEquals(env.getMinX(), bbox.getX(), DELTA);
    Assert.assertEquals(env.getMinY(), bbox.getY(), DELTA);
    Assert.assertEquals(env.getMaxX(), bbox.getMaxX(), DELTA);
    Assert.assertEquals(env.getMaxY(), bbox.getMaxY(), DELTA);
  }
View Full Code Here

    if (layers.length == 0) {
      // return empty bbox
      response.setBounds(new Bbox());
    } else {
      Envelope extent = new Envelope();
      for (String layerId : layers) {
        layer = configurationService.getLayer(layerId);
        if (layer != null) {
          Envelope bounds;
          if (layer.getLayerInfo().getLayerType() == LayerType.RASTER) {
            bounds = securityContext.getVisibleArea(layerId).getEnvelopeInternal();
            CrsTransform transform = geoService.getCrsTransform(layer.getCrs(), targetCrs);
            bounds = geoService.transform(bounds, transform);
          } else {
View Full Code Here

TOP

Related Classes of com.vividsolutions.jts.geom.Envelope

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.