private static void setFlagCoding(Band band, FlagCoding flagCoding) { if (flagCoding != null) { final String flagCodingName = flagCoding.getName(); final Product product = band.getProduct(); if (!product.getFlagCodingGroup().contains(flagCodingName)) { addFlagCoding(product, flagCoding); } band.setSampleCoding(product.getFlagCodingGroup().get(flagCodingName)); } }
private void handleMaskRemoved(ProductNodeEvent event) { final Mask mask = (Mask) event.getSourceNode(); final Band[] bands = getBands(); for (Band band : bands) { band.getOverlayMaskGroup().remove(mask); } final TiePointGrid[] tiePointGrids = getTiePointGrids(); for (TiePointGrid tiePointGrid : tiePointGrids) { tiePointGrid.getOverlayMaskGroup().remove(mask); } }
private void handleGeoCodingChange() { for (int i = 0; i < pinGroup.getNodeCount(); i++) { final Placemark pin = pinGroup.get(i); final PlacemarkDescriptor pinDescriptor = pin.getDescriptor(); final PixelPos pixelPos = pin.getPixelPos(); GeoPos geoPos = pin.getGeoPos(); if (pixelPos != null) { geoPos = pinDescriptor.updateGeoPos(getGeoCoding(), pixelPos, geoPos); } pin.setGeoPos(geoPos); } }
public static void main(String[] args) throws TransformException, FactoryException { Product product1 = new Product("A", "B", 360, 180); product1.setGeoCoding(new CrsGeoCoding(DefaultGeographicCRS.WGS84, 360, 180, -180.0, 90.0, 1.0, 1.0, 0.0, 0.0)); PinDescriptor descriptor = PinDescriptor.getInstance(); Placemark pin1 = Placemark.createPointPlacemark(descriptor, "pin_1", "Pin 1", "Schnatter!", new PixelPos(0, 0), new GeoPos(), product1.getGeoCoding()); product1.getPinGroup().add(pin1); showEditPlacemarkDialog(null, product1, pin1, descriptor); } }
private void addMetadata(Product sp) { final MetadataElement meta1 = new MetadataElement("meta1"); meta1.addAttribute(new MetadataAttribute("attrib1", ProductData.createInstance("value"), true)); final MetadataElement meta2 = new MetadataElement("meta2"); final MetadataElement meta2_1 = new MetadataElement("meta2_1"); meta2_1.addAttribute(new MetadataAttribute("attrib2_1", ProductData.createInstance("meta2_1_value"), true)); meta2.addElement(meta2_1); final MetadataElement metadataRoot = sp.getMetadataRoot(); metadataRoot.addAttribute(new MetadataAttribute("attribRoot", ProductData.createInstance("rootValue"), true)); metadataRoot.addElement(meta1); metadataRoot.addElement(meta2); }
public void testNodeChangeIsObservable() { final Product p = new Product("p", "t", 10, 10); final ProductNodeGroup<Placemark> pinGroup = p.getPinGroup(); final Placemark placemark = Placemark.createPointPlacemark(PinDescriptor.getInstance(), "p1", "l1", "", new PixelPos(0, 0), null, null); pinGroup.add(placemark); final PNL listener = new PNL(Placemark.class); p.addProductNodeListener(listener); placemark.setLabel("new label"); assertEquals(true, p.isModified()); assertEquals("c:p1.label;", listener.trace); }
private static void addMask(Product mod35Product, ProductNodeGroup<Mask> maskGroup, String bandName, String flagName, String description, Color color, float transparency) { int width = mod35Product.getSceneRasterWidth(); int height = mod35Product.getSceneRasterHeight(); String maskPrefix = ""; Mask mask = Mask.BandMathsType.create(maskPrefix + flagName, description, width, height, bandName + "." + flagName, color, transparency); maskGroup.add(mask); }
public void testBitmaskDefExpressionsAreUpdateIfForeignNodeNameChanged() { final Product product1 = new Product("P1", "t", 1, 1); final VirtualBand p1v1 = new VirtualBand("P1V1", ProductData.TYPE_FLOAT32, 1, 1, "42"); product1.addBand(p1v1); final Product product2 = new Product("P2", "t", 1, 1); final BitmaskDef p2bd = new BitmaskDef("P2BD", "P2-Bitmask", "$1.P1V1 == 42.0", Color.RED, 0.5f); product2.addBitmaskDef(p2bd); _productManager.addProduct(product1); _productManager.addProduct(product2); p1v1.setName("TheAnswer"); assertEquals("$1.TheAnswer == 42.0", p2bd.getExpr()); }
public static void addIntAttributte(final MetadataElement elem, final String name, final int value) { final ProductData data = ProductData.createInstance(ProductData.TYPE_INT8); data.setElemInt(value); elem.addAttribute(new MetadataAttribute(name, data, true)); }
private static void addFlagCoding(Product product) { final FlagCoding flagCoding = new FlagCoding("Flags"); flagCoding.addFlag("land", 1, "Land Flag"); flagCoding.addFlag("bright", 2, "Bright Flag"); product.getFlagCodingGroup().add(flagCoding); }
private Band createFloatTestBand(int w, int h, float min, float max) { final Product product = createTestProduct(w, h); final Band band = product.addBand("float", ProductData.TYPE_FLOAT32); final float[] values = new float[w * h]; for (int i = 0; i < values.length; i++) { values[i] = min + i * (max - min) / (values.length - 1); } band.setData(new ProductData.Float(values)); return band; }
@Override protected void setUp() { _nodeList = new ProductNodeList<MetadataAttribute>(); _attribute1 = new MetadataAttribute("attribute1", ProductData.createInstance(ProductData.TYPE_INT32), true); _attribute2 = new MetadataAttribute("attribute2", ProductData.createInstance(ProductData.TYPE_INT32), true); _attribute3 = new MetadataAttribute("attribute3", ProductData.createInstance(ProductData.TYPE_INT32), true); _attribute4 = new MetadataAttribute("attribute4", ProductData.createInstance(ProductData.TYPE_INT32), true); }
private static void addIndexCoding(Product product) { final IndexCoding indexCoding = new IndexCoding("Indexes"); indexCoding.addIndex("land", 12, "Land Index"); indexCoding.addIndex("bright", 13, "Bright Index"); product.getIndexCodingGroup().add(indexCoding); }
private synchronized PlacemarkGroup createPinGroup() { final VectorDataNode vectorDataNode = new VectorDataNode(PIN_GROUP_NAME, Placemark.createPinFeatureType()); vectorDataNode.setDefaultStyleCss( "symbol:pin; fill:#0000ff; fill-opacity:0.7; stroke:#ffffff; stroke-opacity:1.0; stroke-width:0.5"); vectorDataNode.setPermanent(true); this.vectorDataGroup.add(vectorDataNode); return vectorDataNode.getPlacemarkGroup(); }
public void testThatReverseIsInvOfForward() { final GeoPos geoPos = new GeoPos(); final PixelPos pixelPos = new PixelPos(12.5f, 349.1f); _geoCoding.getGeoPos(pixelPos, geoPos); final PixelPos pixelPosRev = new PixelPos(); _geoCoding.getPixelPos(geoPos, pixelPosRev); assertEquals(pixelPos.x, pixelPosRev.x, 1e-4); assertEquals(pixelPos.y, pixelPosRev.y, 1e-4); }
private static void testPixelToMapTransform(MapGeoCoding mapGeoCoding, float x, float y, float lat, float lon) { GeoPos expectedGP = new GeoPos(lat, lon); PixelPos expectedPP = new PixelPos(x, y); GeoPos someGP = mapGeoCoding.getGeoPos(expectedPP, null); assertEquals(expectedGP.lon, someGP.lon, 1e-4f); assertEquals(expectedGP.lat, someGP.lat, 1e-4f); PixelPos somePP = mapGeoCoding.getPixelPos(expectedGP, null); assertEquals(expectedPP.x, somePP.x, 1e-4f); assertEquals(expectedPP.y, somePP.y, 1e-4f); }
static Mask createSubset(Mask sourceMask, Scene targetScene, ProductSubsetDef subsetDef) { final Mask targetMask = Mask.BandMathsType.create(sourceMask.getName(), sourceMask.getDescription(), targetScene.getRasterWidth(), targetScene.getRasterHeight(), Mask.BandMathsType.getExpression(sourceMask), sourceMask.getImageColor(), sourceMask.getImageTransparency()); targetMask.setSourceImage(getSourceImage(subsetDef, sourceMask)); return targetMask; }
public void testTransferGeoCodingWithoutSubset() { final Band srcNode = new Band("srcDummy",ProductData.TYPE_INT8, 10,20); srcNode.setGeoCoding(_geoCoding); final Scene srcScene = SceneFactory.createScene(srcNode); final Band destNode = new Band("destDummy",ProductData.TYPE_INT8, 10,20); final Scene destScene = SceneFactory.createScene(destNode); srcScene.transferGeoCodingTo(destScene, null); assertFXYGeoCodingIsCopied((FXYGeoCoding)destNode.getGeoCoding(), null); }
private ImageInfo createImageInfo() { ColorPaletteDef.Point[] points = new ColorPaletteDef.Point[3]; points[0] = new ColorPaletteDef.Point(0.1d, Color.black); //black = new Color( 0, 0, 0, 255) points[1] = new ColorPaletteDef.Point(1.3d, Color.cyan); //cyan = new Color( 0, 255, 255, 255) points[2] = new ColorPaletteDef.Point(2.8d, Color.white); //white = new Color(255, 255, 255, 255) ColorPaletteDef paleteDefinition = new ColorPaletteDef(points, 180); final ImageInfo imageInfo = new ImageInfo(paleteDefinition); imageInfo.setNoDataColor(Color.BLUE); imageInfo.setHistogramMatching(ImageInfo.HistogramMatching.Normalize); return imageInfo; }
public void testSetAndGetBandStatistics() { RasterDataNode rasterDataNode = createRasterDataNode(); assertEquals(null, rasterDataNode.getImageInfo()); final ImageInfo imageInfo = new ImageInfo(new ColorPaletteDef(0, 1)); rasterDataNode.setImageInfo(imageInfo); assertSame(imageInfo, rasterDataNode.getImageInfo()); }