private static int getValidGcpCount(PlacemarkGroup gcpGroup) { int count = 0; for (int i = 0; i < gcpGroup.getNodeCount(); i++) { final Placemark p = gcpGroup.get(i); if (isValid(p)) { count++; } } return count; }
@Override public Object getValueAt(int rowIndex, int columnIndex) { return vectorDataNode.getPlacemarkGroup().get(rowIndex).getFeature().getAttribute(columnIndex); } }
static ArrayList<Point2D> createPointList(Product product, Random random) { ArrayList<Point2D> pointList = new ArrayList<Point2D>(); if (product.getPinGroup().getNodeCount() > 0) { final PlacemarkGroup pinGroup = product.getPinGroup(); for (int i = 0; i < pinGroup.getNodeCount(); i++) { pointList.add(pinGroup.get(i).getPixelPos()); } } else { for (int i = 0; i < 2; i++) { final int x = (int) (random.nextFloat() * product.getSceneRasterWidth()); final int y = (int) (random.nextFloat() * product.getSceneRasterHeight()); pointList.add(new Point(x, y)); } } return pointList; } }
@Override protected Object getStandardColumnValueAt(int rowIndex, int columnIndex) { Assert.notNull(getProduct()); final Placemark placemark = getPlacemarkDescriptor().getPlacemarkGroup(getProduct()).get(rowIndex);
@Override public void productRemoved(ProductManager.Event event) { final Product product = event.getProduct(); if (getCurrentProduct() == product) { chartPanel.getChart().getXYPlot().setDataset(null); setCurrentView(null); setCurrentProduct(null); } if (productToAllSpectraMap.containsKey(product)) { productToAllSpectraMap.remove(product); } if (productToBandsMap.containsKey(product)) { productToBandsMap.remove(product); } PlacemarkGroup pinGroup = product.getPinGroup(); for (int i = 0; i < pinGroup.getNodeCount(); i++) { chartHandler.removePinInformation(pinGroup.get(i)); } } });
@Override protected Object getStandardColumnValueAt(int rowIndex, int columnIndex) { Assert.notNull(getProduct()); final Placemark placemark = getPlacemarkDescriptor().getPlacemarkGroup(getProduct()).get(rowIndex); float x = Float.NaN; float y = Float.NaN;
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); } }
@Test public void testChangingFeature() { placemarkGroup.add(createPlacemark("p1", new PixelPos(3, 1), new GeoPos(12, 34))); placemarkGroup.add(createPlacemark("p2", new PixelPos(5, 4), new GeoPos(16, 48))); placemarkGroup.add(createPlacemark("p3", new PixelPos(6, 2), new GeoPos(-45, 80))); assertAreEqual(placemarkGroup, pinFeatureCollection); final CoordinateArraySequence coordinates = new CoordinateArraySequence( new Coordinate[]{new Coordinate(-30, 70)}); final SimpleFeature changedFeature = placemarkGroup.get(2).getFeature(); changedFeature.setDefaultGeometry(new Point(coordinates, new GeometryFactory())); assertAreEqual(placemarkGroup, pinFeatureCollection); final SimpleFeature[] features = pinFeatureCollection.toArray(new SimpleFeature[pinFeatureCollection.size()]); assertEquals(changedFeature.getDefaultGeometry(), features[2].getDefaultGeometry()); }
final PlacemarkGroup pinGroup = selectedProduct.getPinGroup(); for (int i = 0; i < pinGroup.getNodeCount(); i++) { coordinateTableModel.addPlacemark(pinGroup.get(i));
private static void assertAreEqual(PlacemarkGroup group, FeatureCollection<SimpleFeatureType, SimpleFeature> collection) { final SimpleFeature[] features = collection.toArray(new SimpleFeature[collection.size()]); assertEquals(group.getNodeCount(), features.length); for (int i = 0; i < group.getNodeCount(); i++) { SimpleFeature pinGroupFeature = group.get(i).getFeature(); assertTrue("Feature of pin group is not contained in feature collection\n", collection.contains(pinGroupFeature)); } }
assertEquals(3, product2.getGcpGroup().getNodeCount()); assertEquals("P1", product2.getPinGroup().get(0).getName()); assertEquals("P2", product2.getPinGroup().get(1).getName()); assertEquals("P3", product2.getPinGroup().get(2).getName()); assertEquals("G1", product2.getGcpGroup().get(0).getName()); assertEquals("G2", product2.getGcpGroup().get(1).getName()); assertEquals("G3", product2.getGcpGroup().get(2).getName());
@Test public void testCopyPlacemarkGroups() throws IOException { final PlacemarkDescriptor pinDescriptor = PinDescriptor.getInstance(); final Placemark pin = Placemark.createPointPlacemark(pinDescriptor, "P1", "", "", new PixelPos(1.5f, 1.5f), null, sourceProduct.getGeoCoding()); final Placemark gcp = Placemark.createPointPlacemark(pinDescriptor, "G1", "", "", new PixelPos(2.5f, 2.5f), null, sourceProduct.getGeoCoding()); sourceProduct.getPinGroup().add(pin); sourceProduct.getGcpGroup().add(gcp); parameterMap.put("crs", WGS84_CODE); Product targetProduct = createReprojectedProduct(); assertEquals(1, targetProduct.getPinGroup().getNodeCount()); assertEquals(1, targetProduct.getGcpGroup().getNodeCount()); final Placemark pin2 = targetProduct.getPinGroup().get(0); final Placemark gcp2 = targetProduct.getGcpGroup().get(0); assertEquals("P1", pin2.getName()); assertEquals("G1", gcp2.getName()); assertEquals(pin.getGeoPos(), pin2.getGeoPos()); assertEquals(gcp.getGeoPos(), gcp2.getGeoPos()); assertNotNull(pin2.getPixelPos()); assertNotNull(gcp2.getPixelPos()); } }