Examples of ViewportModel


Examples of org.locationtech.udig.project.internal.render.ViewportModel

                Rectangle imageBounds = worldImage.getBounds();
                int h = (int) ((float) canvasBounds.width * (float) imageBounds.height / (float) imageBounds.width);
                e.gc.drawImage(worldImage, 0, 0, imageBounds.width, imageBounds.height, 0, 0, canvasBounds.width, h);

                IMap activeMap = ApplicationGIS.getActiveMap();
                ViewportModel viewportModel = (ViewportModel) activeMap.getViewportModel();
                ReferencedEnvelope bounds = viewportModel.getBounds();

                CoordinateReferenceSystem mapCrs = viewportModel.getCRS();
                CoordinateReferenceSystem imageCrs = DefaultGeographicCRS.WGS84;
                try {
                    MathTransform transform = CRS.findMathTransform(mapCrs, imageCrs);
                    Envelope targetEnv = JTS.transform(bounds, transform);
                    double west = targetEnv.getMinX();
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

    private void updateData() {
        Display.getDefault().asyncExec(new Runnable(){
            public void run() {
                IMap activeMap = ApplicationGIS.getActiveMap();
                ViewportModel viewportModel = (ViewportModel) activeMap.getViewportModel();
                activeMap.addMapListener(NavigationView.this);
                activeMap.addMapCompositionListener(NavigationView.this);

                ReferencedEnvelope bounds = viewportModel.getBounds();

                double west = bounds.getMinX();
                double east = bounds.getMaxX();
                double north = bounds.getMaxY();
                double south = bounds.getMinY();

                if (lowerLeftText.isDisposed()) {
                    return;
                }
                lowerLeftText.setText(numFormatter.format(west) + ", " + numFormatter.format(south));
                upperRightText.setText(numFormatter.format(east) + ", " + numFormatter.format(north));

                canvas.redraw();

                SortedSet<Double> preferredScaleDenominators = viewportModel.getPreferredScaleDenominators();
                Double[] scalesArray = (Double[]) preferredScaleDenominators.toArray(new Double[preferredScaleDenominators.size()]);
                String[] scales = new String[scalesArray.length];
                for( int i = 0; i < scales.length; i++ ) {
                    scales[i] = "1:" + String.valueOf(scalesArray[i]);
                }
                int itemCount = scaleCombo.getItemCount();
                int selectionIndex = scaleCombo.getSelectionIndex();
                scaleCombo.setItems(scales);
                if (scales.length == itemCount) {
                    scaleCombo.select(selectionIndex);
                }

                List<DateTime> availableTimesteps = viewportModel.getAvailableTimesteps();
                if (availableTimesteps != null) {
                    dateTimeCombo.setEnabled(true);
                    dtDownButton.setEnabled(true);
                    dtUpButton.setEnabled(true);
                    String[] dates = new String[availableTimesteps.size()];
                    for( int i = 0; i < dates.length; i++ ) {
                        dates[i] = ISO_DATE_TIME_FORMATTER.print(availableTimesteps.get(i));
                    }
                    itemCount = dateTimeCombo.getItemCount();
                    selectionIndex = dateTimeCombo.getSelectionIndex();
                    dateTimeCombo.setItems(dates);
                    if (dates.length == itemCount) {
                        dateTimeCombo.select(selectionIndex);
                    }
                } else {
                    dateTimeCombo.setEnabled(false);
                    dtDownButton.setEnabled(false);
                    dtUpButton.setEnabled(false);
                }

                List<Double> availableElevation = viewportModel.getAvailableElevation();
                if (availableElevation != null) {
                    verticalCombo.setEnabled(true);
                    verticalDownButton.setEnabled(true);
                    verticalUpButton.setEnabled(true);
                    String[] elev = new String[availableElevation.size()];
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

            }
        });
    }

    public void widgetSelected( SelectionEvent e ) {
        ViewportModel viewportModel = (ViewportModel) ApplicationGIS.getActiveMap().getViewportModel();

        Object source = e.getSource();
        if (source.equals(scaleCombo)) {
            int index = scaleCombo.getSelectionIndex();
            String item = scaleCombo.getItem(index);
            String scaleString = item.split(":")[1];
            double scale = Double.parseDouble(scaleString);
            viewportModel.setScale(scale);
        }
        if (source.equals(dateTimeCombo)) {
            int index = dateTimeCombo.getSelectionIndex();
            String item = dateTimeCombo.getItem(index);
            DateTime date = ISO_DATE_TIME_PARSER.parseDateTime(item);
            viewportModel.setCurrentTimestep(date);
        }
        if (source.equals(verticalCombo)) {
            int index = verticalCombo.getSelectionIndex();
            String item = verticalCombo.getItem(index);
            try {
                double vertical = Double.parseDouble(item);
                viewportModel.setCurrentElevation(vertical);
            } catch (NumberFormatException e1) {
                e1.printStackTrace();
            }
        }
        if (source.equals(verticalDownButton)) {
            int selectionIndex = verticalCombo.getSelectionIndex();
            selectionIndex++;
            if (selectionIndex > verticalCombo.getItemCount() - 1) {
                selectionIndex = verticalCombo.getItemCount() - 1;
            }
            String item = verticalCombo.getItem(selectionIndex);
            double vertical = Double.parseDouble(item);
            viewportModel.setCurrentElevation(vertical);
            verticalCombo.select(selectionIndex);
        }
        if (source.equals(verticalUpButton)) {
            int selectionIndex = verticalCombo.getSelectionIndex();
            selectionIndex--;
            if (selectionIndex < 0) {
                selectionIndex = 0;
            }
            String item = verticalCombo.getItem(selectionIndex);
            double vertical = Double.parseDouble(item);
            viewportModel.setCurrentElevation(vertical);
            verticalCombo.select(selectionIndex);
        }
        if (source.equals(scaleDownButton)) {
            int selectionIndex = scaleCombo.getSelectionIndex();
            selectionIndex--;
            if (selectionIndex < 0) {
                selectionIndex = 0;
            }
            String item = scaleCombo.getItem(selectionIndex);
            double scale = Double.parseDouble(item.split(":")[1]);
            viewportModel.setScale(scale);
            scaleCombo.select(selectionIndex);
        }
        if (source.equals(scaleUpButton)) {
            int selectionIndex = scaleCombo.getSelectionIndex();
            selectionIndex++;
            if (selectionIndex > scaleCombo.getItemCount() - 1) {
                selectionIndex = scaleCombo.getItemCount() - 1;
            }
            String item = scaleCombo.getItem(selectionIndex);
            double scale = Double.parseDouble(item.split(":")[1]);
            viewportModel.setScale(scale);
            scaleCombo.select(selectionIndex);
        }
        if (source.equals(dtDownButton)) {
            int selectionIndex = dateTimeCombo.getSelectionIndex();
            selectionIndex--;
            if (selectionIndex < 0) {
                selectionIndex = 0;
            }
            String item = dateTimeCombo.getItem(selectionIndex);
            DateTime dt = ISO_DATE_TIME_PARSER.parseDateTime(item);
            viewportModel.setCurrentTimestep(dt);
            dateTimeCombo.select(selectionIndex);
        }
        if (source.equals(dtUpButton)) {
            int selectionIndex = dateTimeCombo.getSelectionIndex();
            selectionIndex++;
            if (selectionIndex > dateTimeCombo.getItemCount() - 1) {
                selectionIndex = dateTimeCombo.getItemCount() - 1;
            }
            String item = dateTimeCombo.getItem(selectionIndex);
            DateTime dt = ISO_DATE_TIME_PARSER.parseDateTime(item);
            viewportModel.setCurrentTimestep(dt);
            dateTimeCombo.select(selectionIndex);
        }
        updateData();
    }
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

     * <!-- begin-user-doc --> <!-- end-user-doc -->
     * @generated
     */
    public NotificationChain basicSetViewportModelInternal(ViewportModel newViewportModelInternal,
            NotificationChain msgs) {
        ViewportModel oldViewportModelInternal = viewportModelInternal;
        viewportModelInternal = newViewportModelInternal;
        if (eNotificationRequired()) {
            ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
                    ProjectPackage.MAP__VIEWPORT_MODEL_INTERNAL, oldViewportModelInternal,
                    newViewportModelInternal);
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

                    .parseDouble(upperCorner[1]));
        } catch (Exception noBBox) {
            System.out.println("No BoundingBox" + boundingBox); //$NON-NLS-1$
        }
        if (env != null && crs != null) {
            ViewportModel viewportModel = map.getViewportModelInternal();
            viewportModel.setBounds(env);
            viewportModel.setCRS(crs);
        }
    }
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

   */
  @Ignore
  @Test
  public void testGetScaleDenominatorWGS84BoundsSmallerThanWorld() throws Exception {
    Map map = MapTests.createDefaultMap("test",4,true, new Dimension( 500,500 )); //$NON-NLS-1$
    ViewportModel viewportModel = map.getViewportModelInternal();
    viewportModel.setCRS(DefaultGeographicCRS.WGS84);
    viewportModel.setBounds(-20,20,-20,20);
    assertEquals(1.0d, viewportModel.getBounds().getWidth()/viewportModel.getHeight(), ACCURACY);
   
    assertEquals(calculateScale(viewportModel.getBounds(), viewportModel.getCRS(), 500,500),
        viewportModel.getScaleDenominator());
   
  }
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

   * Test method for 'org.locationtech.udig.project.internal.render.impl.ViewportModelImpl.getScaleDenominator()'
   */
    @Test
  public void testGetScaleDenominatorAlbersBoundsSmallerThanWorld() throws Exception {
    Map map = MapTests.createDefaultMap("test",4,true, new Dimension( 500,500 )); //$NON-NLS-1$
    ViewportModel viewportModel = map.getViewportModelInternal();
    viewportModel.setCRS(CRS.decode("EPSG:3005")); //$NON-NLS-1$
    viewportModel.setBounds(-140,-120,40,60);
    assertEquals(1.0d, viewportModel.getBounds().getWidth()/viewportModel.getHeight(), ACCURACY);
   
//    assertEquals(calculateScale(viewportModel.getBounds(), viewportModel.getCRS(), 500,500),
//        viewportModel.getScaleDenominator());
  }
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

   * Test method for 'org.locationtech.udig.project.internal.render.impl.ViewportModelImpl.getScaleDenominator()'
   */
    @Test
  public void testGetScaleDenominatorWGS84BoundsLongerThanWorldIn1Direction() throws Exception {
    Map map = MapTests.createDefaultMap("test",4,true, new Dimension( 500,500 )); //$NON-NLS-1$
    ViewportModel viewportModel = map.getViewportModelInternal();
    viewportModel.setCRS(DefaultGeographicCRS.WGS84);
    viewportModel.setBounds(-100,100,-100,100);
    assertEquals(1.0d, viewportModel.getBounds().getWidth()/viewportModel.getHeight(), ACCURACY);
   
    double trueScale = calculateScale(new Envelope(-180,-80, -90,10), viewportModel.getCRS(), 250,250);
    double viewportResults = viewportModel.getScaleDenominator();
    double d = Math.abs(trueScale-viewportResults);
  }
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

   * Test method for 'org.locationtech.udig.project.internal.render.impl.ViewportModelImpl.getScaleDenominator()'
   */
    @Test
  public void testGetScaleDenominatorWGS84BoundsLargerThanWorld() throws Exception {
    Map map = MapTests.createDefaultMap("test",4,true, new Dimension( 500,500 )); //$NON-NLS-1$
    ViewportModel viewportModel = map.getViewportModelInternal();
    viewportModel.setCRS(DefaultGeographicCRS.WGS84);
    viewportModel.setBounds(-180,320,-90,410);
    assertEquals(1.0d, viewportModel.getBounds().getWidth()/viewportModel.getHeight(), ACCURACY);
   
    double trueScale = calculateScale(new Envelope(-180,-80, -90,10), viewportModel.getCRS(), 100,100);
    double viewportResults = viewportModel.getScaleDenominator();
    double d = Math.abs(trueScale-viewportResults);
//    assertTrue(d+" should be less than "+ACCURACY_SCALE, d< ACCURACY_SCALE );     //$NON-NLS-1$
  }
View Full Code Here

Examples of org.locationtech.udig.project.internal.render.ViewportModel

   * Test method for 'org.locationtech.udig.project.internal.render.impl.ViewportModelImpl.getScaleDenominator()'
   */
    @Test
  public void testGetScaleDenominatorWGS84BoundsLargerThanWorldOffScreenData() throws Exception {
    Map map = MapTests.createDefaultMap("test",4,true, new Dimension( 500,500 )); //$NON-NLS-1$
    ViewportModel viewportModel = map.getViewportModelInternal();
    viewportModel.setCRS(DefaultGeographicCRS.WGS84);
    viewportModel.setBounds(500,500,1000,1000);
//    assertEquals(1.0d, viewportModel.getBounds().getWidth()/viewportModel.getHeight(), ACCURACY);
   
    double trueScale = calculateScale(new Envelope(-180,-80, -90,10), viewportModel.getCRS(), 100,100);
    double viewportResults = viewportModel.getScaleDenominator();
    double d = Math.abs(trueScale-viewportResults);
//    assertTrue(d+" should be less than "+ACCURACY_SCALE, d< ACCURACY_SCALE );     //$NON-NLS-1$
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.