/** * @return true if the feature type's name starts with "org.esa.beam." * @deprecated Since BEAM 4.10. No use. */ @Deprecated public boolean isInternalNode() { return getFeatureType().getTypeName().startsWith("org.esa.beam."); }
@Override public int getColumnCount() { return vectorDataNode.getFeatureType().getAttributeCount(); }
public static boolean isTrackPointNode(VectorDataNode node) { final Object trackPoints = node.getFeatureType().getUserData().get("trackPoints"); return trackPoints != null && trackPoints.toString().equals("true"); }
@Override public boolean accept(Layer layer) { return layer instanceof VectorDataLayer && featureTypeName.equals(((VectorDataLayer) layer).getVectorDataNode().getFeatureType().getTypeName()); } }
private int getAttributeIndex(VectorDataNode pointDataSource, AttributeDescriptor dataField) { final String fieldName = dataField.getLocalName(); if (fieldName.equals(CorrelativeFieldSelector.NULL_NAME)) { return -1; } return pointDataSource.getFeatureType().indexOf(fieldName); }
public SeparateGeometriesDialog(BasicApp.MainFrame mainFrame, VectorDataNode vectorDataNode, String helpId, String text) { super(mainFrame, "Import Geometry", ModalDialog.ID_YES_NO_HELP, helpId); JPanel content = new JPanel(new BorderLayout()); content.add(new JLabel(text), BorderLayout.NORTH); List<AttributeType> types = vectorDataNode.getFeatureType().getTypes(); ArrayList<String> names = new ArrayList<String>(); for (AttributeType type : types) { if (type.getBinding().equals(String.class)) { names.add(type.getName().getLocalPart()); } } comboBox = new JComboBox(names.toArray(new String[names.size()])); if (names.size() > 0) { JPanel content2 = new JPanel(new BorderLayout()); content2.add(new JLabel("Attribute for mask/layer naming: "), BorderLayout.WEST); content2.add(comboBox, BorderLayout.CENTER); content.add(content2, BorderLayout.SOUTH); } setContent(content); }
@Override public String getColumnName(int columnIndex) { return vectorDataNode.getFeatureType().getDescriptor(columnIndex).getLocalName(); }
@Override public Class<?> getColumnClass(int columnIndex) { return vectorDataNode.getFeatureType().getDescriptor(columnIndex).getType().getBinding(); }
void writeNodeProperties(VectorDataNode vectorDataNode, Writer writer) throws IOException { OrderRetainingMap properties = new OrderRetainingMap(); final Map<Object, Object> userData = vectorDataNode.getFeatureType().getUserData(); final Set<Map.Entry<Object, Object>> entries = userData.entrySet(); for (Map.Entry<Object, Object> entry : entries) { if (entry.getKey() instanceof String && entry.getValue() instanceof String) { properties.put(entry.getKey().toString(), entry.getValue().toString()); } } String description = vectorDataNode.getDescription(); if (StringUtils.isNotNullAndNotEmpty(description)) { properties.put(ProductNode.PROPERTY_NAME_DESCRIPTION, description); } String defaultCSS = vectorDataNode.getDefaultStyleCss(); if (StringUtils.isNotNullAndNotEmpty(defaultCSS)) { properties.put(VectorDataNodeIO.PROPERTY_NAME_DEFAULT_CSS, defaultCSS); } writeProperties(properties, writer); }
public static VectorDataNode[] getVectorDataNodes(VectorDataNode vectorDataNode, boolean individualShapes, String attributeName) { VectorDataNode[] vectorDataNodes; if (individualShapes) { FeatureCollection<SimpleFeatureType, SimpleFeature> featureCollection = vectorDataNode.getFeatureCollection(); SimpleFeature[] features = featureCollection.toArray(new SimpleFeature[0]); vectorDataNodes = new VectorDataNode[features.length]; for (int i = 0; i < features.length; i++) { SimpleFeature feature = features[i]; String newName; if (attributeName != null && feature.getAttribute(attributeName) != null && !feature.getAttribute(attributeName).toString().isEmpty()) { newName = feature.getAttribute(attributeName).toString().replace(" ", "_").replace("-", "_"); } else { newName = vectorDataNode.getName() + "_" + (i + 1); } vectorDataNodes[i] = new VectorDataNode(newName, new ListFeatureCollection(vectorDataNode.getFeatureType(), Arrays.asList(feature))); } } else { vectorDataNodes = new VectorDataNode[]{vectorDataNode}; } return vectorDataNodes; } }
public void updateDataField() { if (pointDataSourceProperty.getValue() != null) { final List<AttributeDescriptor> attributeDescriptors = ((VectorDataNode) pointDataSourceProperty.getValue()).getFeatureType().getAttributeDescriptors(); final List<AttributeDescriptor> result = new ArrayList<AttributeDescriptor>(); result.add(new NullAttributeDescriptor()); for (AttributeDescriptor attributeDescriptor : attributeDescriptors) { if (Number.class.isAssignableFrom(attributeDescriptor.getType().getBinding())) { result.add(attributeDescriptor); } } dataFieldProperty.getDescriptor().setValueSet(new ValueSet(result.toArray())); } else { dataFieldProperty.getDescriptor().setValueSet(null); try { dataFieldProperty.setValue(null); } catch (ValidationException ignore) { } } }
@Test public void testReadPropertiesInInput1() throws IOException { InputStreamReader reader = new InputStreamReader(getClass().getResourceAsStream("input_with_properties.csv")); final VectorDataNode dataNode = VectorDataNodeReader.read("non-empty", reader, createDummyProduct(), crsProvider, placemarkDescriptorProvider, DefaultGeographicCRS.WGS84, VectorDataNodeIO.DEFAULT_DELIMITER_CHAR, ProgressMonitor.NULL); final Map<Object, Object> properties = dataNode.getFeatureType().getUserData(); assertNotNull(properties); assertEquals(4, properties.size()); assertEquals("color:0,0,255", properties.get("styleCss")); assertEquals("TAB", properties.get("separator")); assertEquals("org.esa.beam.framework.datamodel.GeometryDescriptor", properties.get("placemarkDescriptor")); assertEquals("geom", properties.get("defaultGeometry")); }
private List<AttributeDescriptor> getAttributeDescriptors(String input) throws IOException { CsvReader csvReader = new CsvReader(new StringReader(input), new char[]{'\t'}, true, "#"); SimpleFeatureType simpleFeatureType = VectorDataNodeReader.read("blah", csvReader, createDummyProduct(), crsProvider, placemarkDescriptorProvider, DefaultGeographicCRS.WGS84, VectorDataNodeIO.DEFAULT_DELIMITER_CHAR, ProgressMonitor.NULL).getFeatureType(); assertNotNull(simpleFeatureType); assertEquals(9, simpleFeatureType.getAttributeCount()); return simpleFeatureType.getAttributeDescriptors(); }
protected VectorDataLayer(VectorDataLayerType vectorDataLayerType, VectorDataNode vectorDataNode, PropertySet configuration) { super(vectorDataLayerType, configuration); setUniqueId(); this.vectorDataNode = vectorDataNode; setName(vectorDataNode.getName()); figureFactory = new SimpleFeatureFigureFactory(vectorDataNode.getFeatureType()); figureCollection = new DefaultFigureCollection(); updateFigureCollection(); vectorDataChangeHandler = new VectorDataChangeHandler(); vectorDataNode.getProduct().addProductNodeListener(vectorDataChangeHandler); figureCollection.addChangeListener(new FigureChangeHandler()); }
@Before() public void setup() { Product product = new Product("PinGroup Test", "TestType", 10, 10); VectorDataNode pinVectorDataNode = product.getVectorDataGroup().get("pins"); pinBuilder = new SimpleFeatureBuilder(pinVectorDataNode.getFeatureType()); placemarkGroup = pinVectorDataNode.getPlacemarkGroup(); pinFeatureCollection = pinVectorDataNode.getFeatureCollection(); }
private static void testVectorData(VectorDataNode vectorDataNode, String expectedName, SimpleFeatureType expectedType) { assertNotNull(vectorDataNode.getPlacemarkDescriptor()); assertEquals(expectedName, vectorDataNode.getName()); assertNotNull(vectorDataNode.getFeatureCollection()); assertSame(expectedType, vectorDataNode.getFeatureType()); assertSame(expectedType, vectorDataNode.getFeatureCollection().getSchema()); }
@Test public void testAddingNonEmptyPinVectorDataNode() throws Exception { final Product p = new Product("n", "t", 1, 1); assertNotNull(p.getPinGroup()); final VectorDataNode node = p.getVectorDataGroup().get("pins"); // add non-empty "pins" VDN final VectorDataNode node2 = new VectorDataNode("pins", node.getFeatureType()); node2.getFeatureCollection().add(new SimpleFeatureBuilder(node.getFeatureType()).buildFeature("id")); final boolean added3 = p.getVectorDataGroup().add(node2); assertFalse(added3); assertSame(node, p.getVectorDataGroup().get("pins")); assertFalse(node.getFeatureCollection().isEmpty()); assertEquals(1, node.getPlacemarkGroup().getNodeCount()); assertTrue(node.isPermanent()); }
@Test public void testAddingNonEmptyGcpVectorDataNode() throws Exception { final Product p = new Product("n", "t", 1, 1); assertNotNull(p.getGcpGroup()); final VectorDataNode node = p.getVectorDataGroup().get("ground_control_points"); // add non-empty "pins" VDN final VectorDataNode node2 = new VectorDataNode("ground_control_points", node.getFeatureType()); node2.getFeatureCollection().add(new SimpleFeatureBuilder(node.getFeatureType()).buildFeature("id")); final boolean added3 = p.getVectorDataGroup().add(node2); assertFalse(added3); assertSame(node, p.getVectorDataGroup().get("ground_control_points")); assertFalse(node.getFeatureCollection().isEmpty()); assertEquals(1, node.getPlacemarkGroup().getNodeCount()); assertTrue(node.isPermanent()); } }
@Test public void testAddingEmptyGcpVectorDataNode() throws Exception { final Product p = new Product("n", "t", 1, 1); assertNotNull(p.getGcpGroup()); final VectorDataNode node = p.getVectorDataGroup().get("ground_control_points"); // add empty "GCP" VDN final VectorDataNode node2 = new VectorDataNode("ground_control_points", node.getFeatureType()); final boolean added = p.getVectorDataGroup().add(node2); assertFalse(added); assertSame(node, p.getVectorDataGroup().get("ground_control_points")); assertTrue(node.getFeatureCollection().isEmpty()); assertEquals(0, node.getPlacemarkGroup().getNodeCount()); assertTrue(node.isPermanent()); }
@Test public void testAddingEmptyPinVectorDataNode() throws Exception { final Product p = new Product("n", "t", 1, 1); assertNotNull(p.getPinGroup()); final VectorDataNode node = p.getVectorDataGroup().get("pins"); // add empty "pins" VDN final VectorDataNode node2 = new VectorDataNode("pins", node.getFeatureType()); final boolean added = p.getVectorDataGroup().add(node2); assertFalse(added); assertSame(node, p.getVectorDataGroup().get("pins")); assertTrue(node.getFeatureCollection().isEmpty()); assertEquals(0, node.getPlacemarkGroup().getNodeCount()); assertTrue(node.isPermanent()); }