list.addAll(Arrays.asList(metadataElementGroup.toArray())); list.addAll(Arrays.asList(product.getIndexCodingGroup().toArray())); list.addAll(Arrays.asList(product.getFlagCodingGroup().toArray())); list.addAll(Arrays.asList(product.getVectorDataGroup().toArray())); list.addAll(Arrays.asList(product.getTiePointGridGroup().toArray())); list.addAll(Arrays.asList(product.getQuicklookGroup().toArray())); list.addAll(Arrays.asList(product.getBandGroup().toArray())); list.addAll(Arrays.asList(product.getMaskGroup().toArray()));
VectorDataNode[] vectorDataNodes = vectorDataGroup.toArray(new VectorDataNode[vectorDataGroup.getNodeCount()]); for (final VectorDataNode vectorDataNode : vectorDataNodes) { Layer layer = currentLayers.get(vectorDataNode);
final Mask[] overlayMasks = overlayMaskGroup.toArray(new Mask[overlayMaskGroup.getNodeCount()]); for (final Mask overlayMask : overlayMasks) { final String expression;
private static List<RasterDataNode> getReferencedMasks(final RasterDataNode node) { final Product product = node.getProduct(); final List<RasterDataNode> rasterList = new ArrayList<RasterDataNode>(); if (product != null) { final ProductNodeGroup<Mask> maskGroup = product.getMaskGroup(); final Mask[] masks = maskGroup.toArray(new Mask[maskGroup.getNodeCount()]); for (final Mask mask : masks) { final String expression; if (mask.getImageType() == Mask.BandMathsType.INSTANCE) { expression = Mask.BandMathsType.getExpression(mask); } else if (mask.getImageType() == Mask.RangeType.INSTANCE) { expression = Mask.RangeType.getRasterName(mask); } else { expression = null; } if (isNodeReferencedByExpression(node, expression)) { rasterList.add(mask); } } } return rasterList; }
private synchronized Layer createVectorDataCollectionLayer() { final LayerType collectionLayerType = LayerTypeRegistry.getLayerType(VectorDataCollectionLayerType.class); final Layer collectionLayer = collectionLayerType.createLayer(this, collectionLayerType.createLayerConfig(this)); final ProductNodeGroup<VectorDataNode> vectorDataGroup = getRaster().getProduct().getVectorDataGroup(); final VectorDataNode[] vectorDataNodes = vectorDataGroup.toArray(new VectorDataNode[vectorDataGroup.getNodeCount()]); for (final VectorDataNode vectorDataNode : vectorDataNodes) { final Layer layer = VectorDataLayerType.createLayer(this, vectorDataNode); collectionLayer.getChildren().add(layer); } return collectionLayer; }
Placemark[] getDisplayedPins() { if (isShowingSpectraForSelectedPins() && currentView != null) { return currentView.getSelectedPins(); } else if (isShowingSpectraForAllPins() && getCurrentProduct() != null) { ProductNodeGroup<Placemark> pinGroup = getCurrentProduct().getPinGroup(); return pinGroup.toArray(new Placemark[pinGroup.getNodeCount()]); } else { return new Placemark[0]; } }
public void updatePointDataSource(Product product) { if (product != null) { final Class pointClass = com.vividsolutions.jts.geom.Point.class; final ProductNodeGroup<VectorDataNode> vectorDataGroup = product.getVectorDataGroup(); final List<VectorDataNode> vectorDataNodes = new ArrayList<VectorDataNode>(); for (VectorDataNode vectorDataNode : vectorDataGroup.toArray(new VectorDataNode[vectorDataGroup.getNodeCount()])) { final GeometryDescriptor geometryDescriptor = vectorDataNode.getFeatureType().getGeometryDescriptor(); if (geometryDescriptor != null && pointClass.isAssignableFrom(geometryDescriptor.getType().getBinding())) { vectorDataNodes.add(vectorDataNode); } } final ValueSet valueSet = new ValueSet(vectorDataNodes.toArray()); pointDataSourceProperty.getDescriptor().setValueSet(valueSet); } else { pointDataSourceProperty.getDescriptor().setValueSet(null); dataFieldProperty.getDescriptor().setValueSet(null); try { pointDataSourceProperty.setValue(null); dataFieldProperty.setValue(null); } catch (ValidationException ignore) { } } }
private void writeGcpGeoCoding(GcpGeoCoding gcpGeoCoding, String nodeType) { addEmptyRow(); addRow("The " + nodeType + " uses a geo-coding which is based on ground control points (GCPs)."); addEmptyRow(); ProductNodeGroup<Placemark> gcpGroup = getProduct().getGcpGroup(); addRow("Number Of GCPs", String.valueOf(gcpGroup.getNodeCount())); addRow("Function", String.valueOf(gcpGeoCoding.getMethod())); addRow("Datum", String.valueOf(gcpGeoCoding.getDatum().getName())); addRow("Latitude RMSE", String.valueOf(gcpGeoCoding.getRmseLat())); addRow("Longitude RMSE", String.valueOf(gcpGeoCoding.getRmseLon())); addEmptyRow(); addRow("Table of used GCPs"); Placemark[] gcps = gcpGroup.toArray(new Placemark[0]); addRow("Number", "Label", "X", "Y", "Latitude", "Longitude"); for (int i = 0; i < gcps.length; i++) { Placemark gcp = gcps[i]; PixelPos pixelPos = gcp.getPixelPos(); GeoPos geoPos = gcp.getGeoPos(); addRow(String.valueOf(i), gcp.getLabel(), String.valueOf(pixelPos.getX()), String.valueOf(pixelPos.getY()), geoPos.getLatString(), geoPos.getLonString()); } // setFirstColumnWidth(40); }
sourceMasterProduct.getBand(masterSourceBand) == null) { throw new OperatorException("Band name " + masterSourceBand + " wrong for master product " + sourceMasterProduct.getName() + " having bands : " + Arrays.toString(sourceMasterProduct.getBandGroup().toArray())); sourceSlaveProduct.getName() + " having bands : " + Arrays.toString(sourceSlaveProduct.getBandGroup().toArray()));
} else if (isShowingForAllPins()) { final ProductNodeGroup<Placemark> pinGroup = currentProduct.getPinGroup(); pins = pinGroup.toArray(new Placemark[pinGroup.getNodeCount()]);
Placemark[] pins = pinGroup.toArray(new Placemark[pinGroup.getNodeCount()]); for (Placemark placemark : pins) { GeoPos geoPos = placemark.getGeoPos();