Package org.geotools.geometry.jts

Examples of org.geotools.geometry.jts.ReferencedEnvelope


            IGeoResourceInfo info = resource.getInfo( new SubProgressMonitor(monitor, 50));
   
            String srs = CRS.toSRS(info.getCRS());
            TileSet tileset = new WMSTileSet();
   
            ReferencedEnvelope bounds = info.getBounds();
            if (bounds == null ) { //$NON-NLS-1$
                WmsPlugin.log("Bounds required for TileSet definition", new NullPointerException("Bounds required for tileset definitio")); //$NON-NLS-1$
                return null;
            }
            double minX = bounds.getMinimum(0);
            double maxX = bounds.getMaximum(0);
            double minY = bounds.getMinimum(1);
            double maxY = bounds.getMaximum(1);
   
            CRSEnvelope bbox = new CRSEnvelope(srs, minX, minY, maxX, maxY);
            tileset.setBoundingBox(bbox);
            tileset.setCoorindateReferenceSystem(srs);
   
            Map<String, Serializable> properties = resource.getPersistentProperties();
            Integer width = Integer.parseInt((String) properties.get(PreferenceConstants.P_TILESET_WIDTH));
            Integer height = Integer.parseInt((String) properties.get(PreferenceConstants.P_TILESET_HEIGHT));
   
            if (width == null) {
                width = PreferenceConstants.DEFAULT_TILE_SIZE;
            }
   
            if (height == null) {
                height = PreferenceConstants.DEFAULT_TILE_SIZE;
            }
   
            tileset.setWidth(width);
            tileset.setHeight(height);
   
            String imageType = (String) properties.get(PreferenceConstants.P_TILESET_IMAGE_TYPE);
   
            if (imageType == null || "".equals(imageType)) { //$NON-NLS-1$
                imageType = PreferenceConstants.DEFAULT_IMAGE_TYPE;
            }
   
            tileset.setFormat(imageType);
   
            /*
             * The layer ID
             */
            tileset.setLayers(info.getName());
   
            String scales = (String) properties.get(PreferenceConstants.P_TILESET_SCALES);
   
            String resolutions = workoutResolutions(scales, new ReferencedEnvelope(bbox), width);
   
            /*
             * If we have no resolutions to try - we wont.
             */
            if ("".equals(resolutions)) { //$NON-NLS-1$
View Full Code Here


    getRendererCreator().reset();
    validateRendererConfiguration();
    final SelectionLayer selectionLayer = getRendererCreator()
        .findSelectionLayer(layer);

    final ReferencedEnvelope bbox = bounds == null
        || bounds instanceof ReferencedEnvelope ? (ReferencedEnvelope) bounds
        : new ReferencedEnvelope(bounds, getRenderExecutor()
            .getContext().getCRS());

    getRenderExecutor().visit(new ExecutorVisitor() {
      public void visit(RenderExecutor executor) {
        if (executor.getContext().getLayer() == layer
View Full Code Here

        IRenderContext context = executor.getContext();
        if (selectionLayer == context.getLayer()) {
          executor.getRenderer().setRenderBounds(bounds);
          if (bounds != null) {
            Rectangle bounds2 = context.toShape(
                new ReferencedEnvelope(bounds,
                    getViewportModelInternal().getCRS()))
                .getBounds();
            context.clearImage(bounds2);
          } else {
            context.clearImage();
View Full Code Here

    Coordinate ul = pixelToWorld(minX, minY, currentBounds, displaySize);
    Coordinate lr = pixelToWorld(maxX, maxY, currentBounds, displaySize);

    if( ul==null || lr==null ){
      return new ReferencedEnvelope(new Envelope(), currentBounds.getCoordinateReferenceSystem());
    }
   
    return new ReferencedEnvelope(ul.x, lr.x, ul.y, lr.y, currentBounds
        .getCoordinateReferenceSystem());

  }
View Full Code Here

     * @param bbox the bbox to restrict to a value between the min and max scales.
     *
     * @return a new bounds that is withing the min and max bounds of the layer
     */
    public static ReferencedEnvelope fitToMinAndMax(ReferencedEnvelope bbox, ILayer layer) {
        ReferencedEnvelope bounds = restrictMinimum(bbox, layer);
        bounds = restrictMaximum(bounds, layer.getMap(), layer);

        return bounds;
    }
View Full Code Here

     */
    private static ReferencedEnvelope restrictMaximum(ReferencedEnvelope bounds,
            IMap map, ILayer layer) {
        double maxFromLayer = ((Layer) layer).getMaxScaleDenominator();

        ReferencedEnvelope result = bounds;
        ReferencedEnvelope maxBounds = calculateBoundsFromScale(bounds, maxFromLayer, layer);
        if (bounds.contains((Envelope)maxBounds))
            result = maxBounds;
        return result;
    }
View Full Code Here

        if (minimumScale == null) {
            minimumScale = ProjectPlugin.getPlugin().getPluginPreferences()
                    .getInt(PreferenceConstants.P_MINIMUM_ZOOM_SCALE);
        }

        ReferencedEnvelope result = bounds;
        if (minimumScale != null && minFromLayer < minimumScale) {
            ReferencedEnvelope minimumBounds = calculateBoundsFromScale(bounds,
                    minimumScale, layer);
            if (minimumBounds.contains((Envelope)bounds))
                result = minimumBounds;
        } else {
            ReferencedEnvelope minimumBounds = calculateBoundsFromScale(bounds,
                    minFromLayer, layer);
            if (minimumBounds.contains((Envelope)bounds))
                result = minimumBounds;
        }
        return result;
    }
View Full Code Here

  }

  private static Pair<Double, ReferencedEnvelope> calculateScaleFromZoom(double zoom,
      ReferencedEnvelope baseEnv, CalculateZoomLevelParameter params) {
    AffineTransform transformer = ScaleUtils.createScaleTransformWithFixedPoint(zoom,params.fixedPoint);
    ReferencedEnvelope transformedEnvelope = new ReferencedEnvelope(transformEnvelope(baseEnv, transformer),baseEnv.getCoordinateReferenceSystem());
    Double scale = ScaleUtils.calculateScaleDenominator(transformedEnvelope, params.display.getDisplaySize(), params.display.getDPI());
    // if there is a close match in preferred scale round to that scale
    Double closest = calculateClosestScale(params.model.getPreferredScaleDenominators(), scale, params.requiredCloseness);
    if(Math.abs(closest - scale)/scale < 0.01) {
      scale = closest;
View Full Code Here

        UDIGTestUtil.inDisplayThreadWait(10000,new WaitCondition(){

      public boolean isTrue()  { 
                try{

                    ReferencedEnvelope env = new ReferencedEnvelope(features[0].getBounds());
                    Envelope transformed = (Envelope)env.transform(layer.getCRS(), true,5);
        return features[0].equals(map.getEditManager().getEditFeature()) &&
        map.getViewportModel().getBounds().contains(transformed);
                }catch (Exception e) {
                    throw (RuntimeException)new RuntimeException().initCause(e);
                }
      }
         
        }, true);
        assertTrue(layer.getFilter() instanceof Id);
        assertEquals(features[0].getID(), ((Id)layer.getFilter()).getIDs().toArray(new String[0])[0]);
        assertEquals(features[0], map.getEditManager().getEditFeature());
        assertEquals("active map should be the map of the issue", map, ApplicationGIS.getActiveMap()); //$NON-NLS-1$
        ReferencedEnvelope env = new ReferencedEnvelope(features[0].getBounds());
        assertTrue("Map must contain feature", map.getViewportModel().getBounds().contains((Envelope)env.transform(layer.getCRS(), true,5))); //$NON-NLS-1$
  }
View Full Code Here

        context.getRenderManagerInternal().setMapDisplay(new TestMapDisplay(new Dimension( 1000, 200)));

        map.getViewportModelInternal().setBounds(0,100,0,90);
       
        CoordinateReferenceSystem crs = DefaultGeographicCRS.WGS84;
        Envelope result = BasicFeatureRenderer.validateBounds(new ReferencedEnvelope(0,50,0,10, crs), new NullProgressMonitor(), context);
       
        assertEquals( new Envelope( 0,50,0,10 ), result);

        result = BasicFeatureRenderer.validateBounds(new ReferencedEnvelope( 0,170,0,10, crs), new NullProgressMonitor(), context);
        assertEquals( new ReferencedEnvelope( 0,100,0,10, crs ), result);

        result = BasicFeatureRenderer.validateBounds(new ReferencedEnvelope( 0,300,0,200,crs ), new NullProgressMonitor(), context);
        assertEquals( new Envelope( 0,100,0,90 ), result);

        result = BasicFeatureRenderer.validateBounds(new ReferencedEnvelope( -100,-80,-70,-50, crs ), new NullProgressMonitor(), context);
        assertTrue( result.isNull() );
    }
View Full Code Here

TOP

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

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.