List<Layer> layers = new ArrayList<>(); for (Layer layer : mc.layers()) { Style style = layer.getStyle(); if (layer instanceof DirectLayer) { layers.add(new WrappingDirectLayer((DirectLayer) layer)); FeatureLayer clone = new FeatureLayer(layer.getFeatureSource(), s); clone.setQuery(layer.getQuery()); clone.setVisible(layer.isVisible()); clone.setSelected(layer.isSelected()); clone.getUserData().putAll(layer.getUserData()); layers.add(clone);
private static boolean hasZGroup(Layer layer, boolean checkValid) { boolean hasGroup = false; if (layer.getStyle() != null) { for (FeatureTypeStyle fts : layer.getStyle().featureTypeStyles()) { Map<String, String> options = fts.getOptions(); String groupName = options.get(FeatureTypeStyle.SORT_BY_GROUP); + FeatureTypeStyle.SORT_BY_GROUP + " usage in layer " + layer.getTitle() + ": cannot be mixed with rendering transformations"); } else if (options.get(FeatureTypeStyle.SORT_BY) == null) { + FeatureTypeStyle.SORT_BY_GROUP + " usage in layer " + layer.getTitle() + ": the corresponding sortBy vendor option is missing"); + FeatureTypeStyle.SORT_BY_GROUP + " usage in layer " + layer.getTitle() + ": can only be applied to vector layers");
/** * find out the bounds of the layer * * @return - the layer's bounds */ public ReferencedEnvelope getBounds() { return internal.getBounds(); }
/** * Specify whether this layer is selected. A {@link LayerEvent} iw fired if the selected status * is changed. * * @param selected Set the layer as selected if <code>true</code> or as unselected if <code> * false</code> */ public void setSelected(boolean selected) { Boolean current = (Boolean) internal.getUserData().get("selected"); if (current != null && current == selected) { return; } internal.getUserData().put("selected", selected); if (selected) { internal.fireMapLayerListenerLayerSelected(); } else { internal.fireMapLayerListenerLayerDeselected(); } }
private void onShowAllLayers() { if (mapPane != null && mapPane.getMapContent() != null) { for (Layer layer : mapPane.getMapContent().layers()) { if (!layer.isVisible()) { layer.setVisible(true); } } } }
&& (layer.getStyle() != null) && (layer.getStyle().featureTypeStyles() != null) && !layer.getStyle().featureTypeStyles().isEmpty()) { final Style layerStyle = layer.getStyle(); final FeatureTypeStyle style = layerStyle.featureTypeStyles().get(0); layer.getQuery().getHints().put( DistributedRenderProcess.OPTIONS, new DistributedRenderOptions(wms, mapContent, layerStyle)); directRasterStyle.featureTypeStyles().add( getDirectRasterStyle( layer.getFeatureSource().getSchema().getGeometryDescriptor().getLocalName(), DistributedRenderProcessUtils.getRenderingProcess())); ((FeatureLayer) layer).setStyle(directRasterStyle);
private static FeatureLayer buildNewFeatureLayer(Layer layer, Style style) { FeatureLayer singleGroupLayer = new FeatureLayer(layer.getFeatureSource(), style); SortBy[] sortBy = SLDStyleFactory.getSortBy(style.featureTypeStyles().get(0).getOptions()); Query nativeQuery = layer.getQuery(); Query query = ensureSortProperties(nativeQuery, sortBy); singleGroupLayer.setQuery(query); singleGroupLayer.setTitle(layer.getTitle()); return singleGroupLayer; }
String name = layer.getTitle(); if (name == null || name.trim().length() == 0) { name = layer.getFeatureSource().getName().getLocalPart(); layer.isVisible() ? LayerControlItem.VISIBLE.getIcon() : LayerControlItem.VISIBLE.getOffIcon()); layer.isSelected() ? LayerControlItem.SELECTED.getIcon() : LayerControlItem.SELECTED.getOffIcon());
for (Layer layer : layers) { final FeatureSource featureSource = layer.getFeatureSource(); if (featureSource == null) { throw new IllegalArgumentException( int maxFeatures = SortedFeatureReader.getMaxFeaturesInMemory(layer.getQuery()); MarkFeatureIterator fi = MarkFeatureIterator.create(features, maxFeatures, cancellationListener);
private Class[] getSortByAttributeClasses(LiteFeatureTypeStyle style) { SortBy[] sb = style.sortBy; FeatureType schema = style.layer.getFeatureSource().getSchema(); Class[] classes = new Class[sb.length]; for (int i = 0; i < classes.length; i++) { PropertyName property = sb[i].getPropertyName(); if (property == null) { // natural sorts classes[i] = String.class; } else { PropertyDescriptor pd = property.evaluate(schema, null); if (pd == null) { throw new IllegalArgumentException( "Property " + property + " could not be found in feature type " + schema.getName() + " in layer " + style.layer.getTitle()); } classes[i] = pd.getType().getBinding(); } } return classes; }
for (FeatureTypeStyle fts : layer.getStyle().featureTypeStyles()) { if (isFeatureTypeStyleActive(layer.getFeatureSource().getSchema(), fts)) { reprojectSpatialFilters(result, layer.getFeatureSource().getSchema());
/** * Get the title of this layer. If title has not been defined then an empty string is returned. * * @return The title of this layer. */ public String getTitle() { return internal.getTitle(); }
int n = 0; for (Layer layer : content.layers()) { if (layer.isSelected()) { InfoToolHelper helper = null; String layerName = layer.getTitle(); if (layerName == null || layerName.length() == 0) { layerName = layer.getFeatureSource().getName().getLocalPart(); layerName = layer.getFeatureSource().getSchema().getName().getLocalPart();
/** * Get the style for this layer. If style has not been set, then null is returned. * * @return The style (SLD). */ public Style getStyle() { return internal.getStyle(); // if (internal instanceof FeatureLayer) { // FeatureLayer layer = (FeatureLayer) internal; // return layer.getStyle(); // } // if (internal instanceof GridCoverageLayer) { // GridCoverageLayer layer = (GridCoverageLayer) internal; // return layer.getStyle(); // } // if (internal instanceof GridReaderLayer) { // GridReaderLayer layer = (GridReaderLayer) internal; // return layer.getStyle(); // } // return null; }
return internal.getFeatureSource();
mapBounds = getLayer().getBounds(); getLayer().getFeatureSource().getSchema().getCoordinateReferenceSystem();
/** * Determine whether this layer is currently selected. * * @return <code>true</code> if the layer is selected, or <code>false</code> otherwise */ public boolean isSelected() { Boolean selected = (Boolean) internal.getUserData().get("selected"); return selected == null ? false : selected; }
int maxBuffers = 0; for (Layer layer : mapContent.layers()) { if (!layer.isVisible()) { FeatureType ftype = layer.getFeatureSource().getSchema(); for (FeatureTypeStyle fts : styleLayer.getStyle().featureTypeStyles()) { if (isFeatureTypeStyleActive(ftype, fts)) {
/** * Handle a mouse click on a cell in the JList that displays layer names and states. * * @param ev the mouse event * @param doubleClick true if this is the second click of a double-click; false otherwise */ private void onLayerItemClicked(MouseEvent ev, boolean doubleClick) { int item = list.locationToIndex(ev.getPoint()); if (item >= 0) { Rectangle r = list.getCellBounds(item, item); if (r.contains(ev.getPoint())) { Layer layer = listModel.getElementAt(item); Point p = new Point(ev.getPoint().x, ev.getPoint().y - r.y); if (MapLayerTableCellRenderer.hitSelectionLabel(p)) { layer.setSelected(!layer.isSelected()); } else if (MapLayerTableCellRenderer.hitVisibilityLabel(p)) { layer.setVisible(!layer.isVisible()); } else if (MapLayerTableCellRenderer.hitStyleLabel(p)) { doSetStyle(layer); } else if (MapLayerTableCellRenderer.hitRemoveLabel(p)) { doRemoveLayer(layer); } else if (MapLayerTableCellRenderer.hitNameLabel(p)) { if (doubleClick) { doSetLayerName(layer); } } } } }
private void encodeLayerSuperOverlay(Document container, int layerIndex, Envelope bounds, int zoomLevel) { Layer layer = mapContent.layers().get(layerIndex); Folder folder = container.createAndAddFolder(); folder.setName(layer.getTitle()); LookAtOptions lookAtOptions = new LookAtOptions(request.getFormatOptions()); if (bounds != null) { LookAtDecoratorFactory lookAtFactory = new LookAtDecoratorFactory(); ReferencedEnvelope layerBounds = layer.getBounds(); CoordinateReferenceSystem layerCRS = layerBounds.getCoordinateReferenceSystem(); if(layerCRS != null && !CRS.equalsIgnoreMetadata(layerCRS, DefaultGeographicCRS.WGS84)) { try { layerBounds = layerBounds.transform(DefaultGeographicCRS.WGS84, true); } catch(Exception e) { throw new ServiceException("Failed to transform the layer bounds for " + layer.getTitle() + " to WGS84", e); } } LookAt la = lookAtFactory.buildLookAt(layerBounds, lookAtOptions, false); folder.setAbstractView(la); } encodeNetworkLinks(folder, layer, bounds, zoomLevel); }