GeoTools学习笔记–MapLayer
GeoTools学习笔记–MapLayer
转载自:http://blog.csdn.net/hengcai001/article/details/4403272
MapLayer:
代码段:
/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2003-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.map;
import org.geotools.data.FeatureSource;
import org.geotools.data.Query;
import org.geotools.data.memory.CollectionSource;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.geotools.map.event.MapLayerListener;
import org.geotools.styling.Style;
import org.opengis.feature.Feature;
import org.opengis.feature.type.FeatureType;
/**
* A layer to be rendered on a device. A layer is an aggregation of both a
* {@link FeatureCollection}, a {@link Style} and, optionally, a {@link Query}
*
* @author Cameron Shorter
* @author Martin Desruisseaux
* @source $URL: http://svn.geotools.org/trunk/modules/library/render/src/main/java/org/geotools/map/MapLayer.java $
* @version $Id: MapLayer.java 30649 2008-06-12 19:44:08Z acuster $
*/
public interface MapLayer {
/**
* Get the feature collection for this layer.
*
* @return The features for this layer, null if not yet set
* or if {@link Source} is used.
*返回Feature的
*/
FeatureSource<? extends FeatureType, ? extends Feature> getFeatureSource();
/**
* Get the data source for this layer.
*
* @return Data source for this layer, null if not yet set
* or if {@link FeatureSource} is used
*/
CollectionSource getSource();
/**
* Get the style for this layer. If style has not been set, then null is
* returned.
*
* @return The style (SLD).
*返回该图层的样式表
*/
Style getStyle();
/**
* Sets the style for this layer. If a style has not been defined a default
* one is used.
*
* @param style The new style
*设置图层的样式表
*/
void setStyle(Style style);
/**
* Get the title of this layer. If title has not been defined then an empty
* string is returned.
*
* @return The title of this layer.
*返回图层的标题
*/
String getTitle();
/**
* Set the title of this layer. A {@link LayerEvent} is fired if the new
* title is different from the previous one.
*
* @param title The title of this layer.
*/
void setTitle(String title);
/**
* Determine whether this layer is visible on a map pane or whether the
* layer is hidden.
*
* @return <code>true</code> if the layer is visible, or <code>false</code>
* if the layer is hidden.
*确定图层是否可见
*/
boolean isVisible();
/**
* Specify whether this layer is visible on a map pane or whether the layer
* is hidden. A {@link LayerEvent} is fired if the visibility changed.
*
* @param visible Show the layer if <code>true</code>, or hide the layer if
* <code>false</code>
*/
void setVisible(boolean visible);
/**
* Returns the definition query (filter) for this layer. If no definition
* query has been defined {@link Query.ALL} is returned.
*返回图层的查询器
*/
Query getQuery();
/**
* Sets a definition query for the layer wich acts as a filter for the
* features that the layer will draw.
*
* <p>
* A consumer must ensure that this query is used in combination with the
* bounding box filter generated on each map interaction to limit the
* number of features returned to those that complains both the definition
* query and relies inside the area of interest.
* </p>
* <p>
* IMPORTANT: only include attribute names in the query if you want them to
* be ALWAYS returned. It is desirable to not include attributes at all
* but let the layer user (a renderer?) to decide wich attributes are actually
* needed to perform its requiered operation.
* </p>
*
* @param query
*设置图层的查询器
*/
void setQuery(Query query);
/**
* find out the bounds of the layer
* @return - the layer's bounds
*返回图层的Bounds
*/
ReferencedEnvelope getBounds();
/**
* Add a listener to notify when a layer property changes. Changes include
* layer visibility and the title text.
*
* @param listener The listener to add to the listener list.
*增加图层属性变化的事件监听器
*/
void addMapLayerListener(MapLayerListener listener);
/**
* Removes a listener from the listener list for this layer.
*
* @param listener The listener to remove from the listener list.
*/
void removeMapLayerListener(MapLayerListener listener);
}
转载自:https://blog.csdn.net/wsh6759/article/details/7429983