Package org.geotools.coverage

Examples of org.geotools.coverage.GridSampleDimension


    private static Style createRGBRasterStyle(GridCoverage2D cov) {       
        int numBands = cov.getNumSampleDimensions();       
        String[] sampleDimensionNames = new String[numBands];
        for (int i = 0; i < numBands; i++) {
            GridSampleDimension dim = cov.getSampleDimension(i);
            sampleDimensionNames[i] = dim.getDescription().toString();
        }
        final int RED = 0, GREEN = 1, BLUE = 2;
        int[] channelNum = { -1, -1, -1 };
       
        for (int i = 0; i < numBands; i++) {
View Full Code Here


             */

            // .geophysics(false) because our sample model always corresponds to the packed view
            // (whether it matches the underlying sample depth or we're promoting in order to make
            // room for the nodata value).
            GridSampleDimension sampleDim = new GridSampleDimension(bandName, categories, null)
                    .geophysics(false);

            dimensions.add(sampleDim);
        }
        return dimensions;
View Full Code Here

         */
        int countGeophysics = 0;
        int countIndexed    = 0;
        GridSampleDimension[] defaultSD = null;
        for (int i=0; i<numBands; i++) {
            GridSampleDimension sd = (src!=null) ? src[i] : null;
            if (sd == null) {
                /*
                 * If the user didn't provided explicitly a SampleDimension, create a default one.
                 * We will creates a SampleDimension for all bands in one step, even if only a few
                 * of them are required.
                 */
                if (defaultSD == null) {
                    defaultSD = new GridSampleDimension[numBands];
                    create(name, RectIterFactory.create(image, null), image.getSampleModel(),
                           null, null, null, null, defaultSD, null);
                }
                sd = defaultSD[i];
            }
            sd = new RenderedSampleDimension(sd, image, i);
            dst[i] = sd;
            if (sd.geophysics(true ) == sd) countGeophysics++;
            if (sd.geophysics(false) == sd) countIndexed++;
        }
        if (countGeophysics == numBands) {
            return true;
        }
        if (countIndexed == numBands) {
View Full Code Here

                sourceRange = NumberRange.create(min[b], max[b]).castTo(sourceRange.getElementClass());
                categories[0] = new Category(n, c, targetRange, sourceRange);
            } else {
                categories[0] = new Category(n, c, targetRange, LinearTransform1D.IDENTITY);
            }
            dst[b] = new GridSampleDimension(name,categories, units).geophysics(true);
        }
    }
View Full Code Here

        views = new EnumMap<ViewType,GridCoverage2D>(ViewType.class);
        boolean geophysics   = true; // 'true' only if all bands are geophysics.
        boolean photographic = true; // 'true' only if no band have category.
        final int numBands = coverage.getNumSampleDimensions();
scan:   for (int i=0; i<numBands; i++) {
            final GridSampleDimension band = coverage.getSampleDimension(i);
            if (band != null) {
                final List<Category> categories = band.getCategories();
                if (categories == null || categories.isEmpty()) {
                    // No category. The image is treated as photographic.
                    continue;
                }
                photographic = false;
                final GridSampleDimension packed = band.geophysics(false);
                if (band != packed) {
                    for (final Category category : packed.getCategories()) {
                        if (category.isQuantitative()) {
                            // Preserves the geophysics value if at least one category
                            // is quantitative. Otherwise it will be set to 'false'.
                            continue scan;
                        }
View Full Code Here

            "name",
            PlanarImage.wrapRenderedImage(RasterSymbolizerTest
                .getSynthetic(Double.NaN)),
            new GeneralEnvelope(new double[] { -90, -180 },
                new double[] { 90, 180 }),
            new GridSampleDimension[] { new GridSampleDimension(
                "sd", new Category[] { new Category("",
                    Color.BLACK, 0) }, null) }, null, null);
      }
    };
    this.testedObject2 = new BaseCoverageProcessingNode(1,
        SimpleInternationalString.wrap("fake node"),
        SimpleInternationalString.wrap("fake node")) {

      protected GridCoverage2D execute() {
        return CoverageFactoryFinder.getGridCoverageFactory(null).create(
            "name",
            PlanarImage.wrapRenderedImage(RasterSymbolizerTest
                .getSynthetic(Double.NaN)),
            new GeneralEnvelope(new double[] { -90, -180 },
                new double[] { 90, 180 }),
            new GridSampleDimension[] { new GridSampleDimension(
                "sd", new Category[] { new Category("",
                    Color.BLACK, 0) }, null) }, null, null);
      }
    };
  }
View Full Code Here

        // Calculate a gridGeometry from the image and the MathTransform
        Rectangle bounds = image.getBounds();
        GridGeometry2D gg2D = new GridGeometry2D(new GridEnvelope2D(bounds), raster2Model, spatialReferenceSystem2D);
       
        GeneralEnvelope coverageEnvelope2D = new GeneralEnvelope(gg2D.getEnvelope());
        GridSampleDimension[] sampleDimensions = new GridSampleDimension[]{new GridSampleDimension("testDim")};
        boolean getGeophysics = false;
        // Creation of the Coverage
        GridCoverage2D coverage1 = (GridCoverage2D) Utilities.createCoverageFromImage(coverageFactory , coverageName , imageIndex, image ,
                raster2Model , spatialReferenceSystem2D, null, sampleDimensions,
                getGeophysics);
View Full Code Here

            envelope.setCoordinateReferenceSystem(DefaultGeographicCRS.WGS84);       
    GridCoverage2D gc = CoverageFactoryFinder.getGridCoverageFactory(null)
        .create(
            "name",
            JAI.create("ImageRead", new File(TestData.url(this, "hs.tif").toURI())),
            envelope,new GridSampleDimension[]{new GridSampleDimension("test1BandByte_SLD")},null,null);

    // ////////////////////////////////////////////////////////////////////
    //
    // Test #1: [SLD]
    //    - Opacity: 1.0
    //    - ChannelSelection: Gray {Contrast Enh: Histogram}
    //
    // ////////////////////////////////////////////////////////////////////
    java.net.URL surl = TestData.url(this, "histogram.sld");
    SLDParser stylereader = new SLDParser(sf, surl);
    StyledLayerDescriptor sld = stylereader.parseSLD();
    // the RasterSymbolizer Helper
    SubchainStyleVisitorCoverageProcessingAdapter rsh_SLD = new RasterSymbolizerHelper(gc, null);

    // build the RasterSymbolizer
    final RasterSymbolizer rs_1 = extractRasterSymbolizer(sld);

    // visit the RasterSymbolizer
    rsh_SLD.visit(rs_1);
   
    testRasterSymbolizerHelper(rsh_SLD);

    // ////////////////////////////////////////////////////////////////////
    //
    // Test #2: [StyleBuilder]
    //    - Opacity: 1.0
    //    - ChannelSelection: Gray {Contrast Enh: Histogram}
    //
    // ////////////////////////////////////////////////////////////////////
    gc = CoverageFactoryFinder.getGridCoverageFactory(null)
    .create(
        "name",
        JAI.create("ImageRead", new File(TestData.url(this, "hs.tif").toURI())),
        new GeneralEnvelope(new double[] { -90, -180 },
            new double[] { 90, 180 }),new GridSampleDimension[]{new GridSampleDimension("test1BandByte_SLD")},null,null);

    // the RasterSymbolizer Helper
    SubchainStyleVisitorCoverageProcessingAdapter rsh_StyleBuilder = new RasterSymbolizerHelper(gc, null);
    // build the RasterSymbolizer
    StyleBuilder sldBuilder = new StyleBuilder();
    // the RasterSymbolizer Helper
    rsh_StyleBuilder = new RasterSymbolizerHelper(gc, null);

    final RasterSymbolizer rsb_1 = sldBuilder.createRasterSymbolizer();
    final ChannelSelection chSel = new ChannelSelectionImpl();
    final SelectedChannelType chTypeGray = new SelectedChannelTypeImpl();
    final ContrastEnhancement cntEnh = new ContrastEnhancementImpl();

    cntEnh.setMethod(ContrastMethod.HISTOGRAM);;
    //cntEnh.setType(type);
    //cntEnh.setGammaValue(sldBuilder.literalExpression(0.50));
   
    chTypeGray.setChannelName("1");
    chTypeGray.setContrastEnhancement(cntEnh);
    chSel.setGrayChannel(chTypeGray);
    rsb_1.setChannelSelection(chSel);
    rsb_1.setOpacity(sldBuilder.literalExpression(1.0));
    rsb_1.setOverlap(sldBuilder.literalExpression("AVERAGE"));
   
    // visit the RasterSymbolizer
    rsh_StyleBuilder.visit(rsb_1);
    testRasterSymbolizerHelper(rsh_StyleBuilder);
   
    // ////////////////////////////////////////////////////////////////////
    //
    // Test #3: [SLD]
    //    - Opacity: 1.0
    //    - ChannelSelection: Gray {Contrast Enh: Logarithmic}
    //
    // ////////////////////////////////////////////////////////////////////
    gc = CoverageFactoryFinder.getGridCoverageFactory(null)
    .create(
        "name",
        JAI.create("ImageRead", new File(TestData.url(this, "hs.tif").toURI())),
        new GeneralEnvelope(new double[] { -90, -180 },
            new double[] { 90, 180 }),new GridSampleDimension[]{new GridSampleDimension("test1BandByte_SLD")},null,null);

    surl = TestData.url(this, "logarithmic.sld");
    stylereader = new SLDParser(sf, surl);
    sld = stylereader.parseSLD();
    // the RasterSymbolizer Helper
    rsh_SLD = new RasterSymbolizerHelper(gc, null);

    // build the RasterSymbolizer
    final RasterSymbolizer rs_2 = extractRasterSymbolizer(sld);

    // visit the RasterSymbolizer
    rsh_SLD.visit(rs_2);
   
    testRasterSymbolizerHelper(rsh_SLD);

    // ////////////////////////////////////////////////////////////////////
    //
    // Test #4: [StyleBuilder]
    //    - Opacity: 1.0
    //    - ChannelSelection: Gray {Contrast Enh: Logarithmic}
    //
    // ////////////////////////////////////////////////////////////////////
    gc = CoverageFactoryFinder.getGridCoverageFactory(null)
    .create(
        "name",
        JAI.create("ImageRead", new File(TestData.url(this, "hs.tif").toURI())),
        new GeneralEnvelope(new double[] { -90, -180 },
            new double[] { 90, 180 }));

    // the RasterSymbolizer Helper
    rsh_StyleBuilder = new RasterSymbolizerHelper(gc, null);
    // build the RasterSymbolizer
    sldBuilder = new StyleBuilder();
    // the RasterSymbolizer Helper
    rsh_StyleBuilder = new RasterSymbolizerHelper(gc, null);

    final RasterSymbolizer rsb_2 = sldBuilder.createRasterSymbolizer();
    final ChannelSelection chSel_2 = new ChannelSelectionImpl();
    final SelectedChannelType chTypeGray_2 = new SelectedChannelTypeImpl();
    final ContrastEnhancement cntEnh_2 = new ContrastEnhancementImpl();

    cntEnh_2.setLogarithmic();
    //cntEnh.setType(type);
    //cntEnh.setGammaValue(sldBuilder.literalExpression(0.50));
   
    chTypeGray_2.setChannelName("1");
    chTypeGray_2.setContrastEnhancement(cntEnh_2);
    chSel_2.setGrayChannel(chTypeGray_2);
    rsb_2.setChannelSelection(chSel_2);
    rsb_2.setOpacity(sldBuilder.literalExpression(1.0));
   
    // visit the RasterSymbolizer
    rsh_StyleBuilder.visit(rsb_2);
    testRasterSymbolizerHelper(rsh_StyleBuilder);

    // ////////////////////////////////////////////////////////////////////
    //
    // Test #5: [SLD]
    //    - Opacity: 1.0
    //    - ChannelSelection: Gray {Contrast Enh: Hyperbolic}
    //
    // ////////////////////////////////////////////////////////////////////
    gc = CoverageFactoryFinder.getGridCoverageFactory(null)
    .create(
        "name",
        JAI.create("ImageRead", new File(TestData.url(this, "hs.tif").toURI())),
        new GeneralEnvelope(new double[] { -90, -180 },
            new double[] { 90, 180 }),new GridSampleDimension[]{new GridSampleDimension("test1BandByte_SLD")},null,null);

    surl = TestData.url(this, "exponential.sld");
    stylereader = new SLDParser(sf, surl);
    sld = stylereader.parseSLD();
    // the RasterSymbolizer Helper
    rsh_SLD = new RasterSymbolizerHelper(gc, null);

    // build the RasterSymbolizer
    final RasterSymbolizer rs_3 = extractRasterSymbolizer(sld);

    // visit the RasterSymbolizer
    rsh_SLD.visit(rs_3);
   
    testRasterSymbolizerHelper(rsh_SLD);

    // ////////////////////////////////////////////////////////////////////
    //
    // Test #6: [StyleBuilder]
    //    - Opacity: 1.0
    //    - ChannelSelection: Gray {Contrast Enh: Hyperbolic}
    //
    // ////////////////////////////////////////////////////////////////////
    gc = CoverageFactoryFinder.getGridCoverageFactory(null)
    .create(
        "name",
        JAI.create("ImageRead", new File(TestData.url(this, "hs.tif").toURI())),
        new GeneralEnvelope(new double[] { -90, -180 },
            new double[] { 90, 180 }),new GridSampleDimension[]{new GridSampleDimension("test1BandByte_SLD")},null,null);

    // the RasterSymbolizer Helper
    rsh_StyleBuilder = new RasterSymbolizerHelper(gc, null);
    // build the RasterSymbolizer
    sldBuilder = new StyleBuilder();
View Full Code Here

            envelope.setCoordinateReferenceSystem(DefaultGeographicCRS.WGS84);       
    GridCoverage2D gc = CoverageFactoryFinder.getGridCoverageFactory(null)
        .create(
            "name",
            JAI.create("ImageRead", new File(TestData.url(this, "small_1band_Float32.tif").toURI())),
            envelope,new GridSampleDimension[]{new GridSampleDimension("test1BandByte_SLD")},null,null);
    // ////////////////////////////////////////////////////////////////////
    //
    // Test #1: [SLD]
    //    - Opacity: 1.0
    //    - ChannelSelection: Gray {Contrast Enh: Histogram}
View Full Code Here

            envelope.setCoordinateReferenceSystem(DefaultGeographicCRS.WGS84);       
    GridCoverage2D gc = CoverageFactoryFinder.getGridCoverageFactory(null)
        .create(
            "name",
            JAI.create("ImageRead", new File(TestData.url(this, "small_1band_Float32.tif").toURI())),
            envelope,new GridSampleDimension[]{new GridSampleDimension("test1BandByte_SLD")},null,null);

    // ////////////////////////////////////////////////////////////////////
    //
    // Test #2: [SLD]
    //    - Opacity: 1.0
View Full Code Here

TOP

Related Classes of org.geotools.coverage.GridSampleDimension

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.