📄 coverageinfo.java
字号:
/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*/
package org.vfny.geoserver.global;
import org.geotools.coverage.grid.GridCoverage2D;
import org.geotools.factory.Hints;
import org.geotools.geometry.GeneralEnvelope;
import org.geotools.resources.CRSUtilities;
import org.geotools.styling.Style;
import org.opengis.coverage.grid.GridCoverage;
import org.opengis.coverage.grid.GridCoverageReader;
import org.opengis.coverage.grid.GridGeometry;
import org.opengis.parameter.InvalidParameterValueException;
import org.opengis.parameter.ParameterNotFoundException;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException;
import org.opengis.util.InternationalString;
import org.vfny.geoserver.global.dto.CoverageInfoDTO;
import org.vfny.geoserver.util.CoverageStoreUtils;
import org.vfny.geoserver.util.CoverageUtils;
import java.awt.Rectangle;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
/**
* DOCUMENT ME!
*
* @author $Author: Alessio Fabiani (alessio.fabiani@gmail.com) $ (last
* modification)
* @author $Author: Simone Giannecchini (simboss1@gmail.com) $ (last
* modification)
*/
public final class CoverageInfo extends GlobalLayerSupertype {
/**
*
*/
private String formatId;
/**
*
*/
private String name;
/**
*
*/
private String wmsPath;
/**
*
*/
private String label;
/**
*
*/
private String description;
/**
*
*/
private MetaDataLink metadataLink;
/**
*
*/
private String dirName;
/**
*
*/
private List keywords;
/**
*
*/
private GeneralEnvelope envelope;
/**
*
*/
private GeneralEnvelope lonLatWGS84Envelope;
/**
*
*/
private GridGeometry grid;
/**
*
*/
private CoverageDimension[] dimensions;
/**
*
*/
private InternationalString[] dimensionNames;
/**
*
*/
private List requestCRSs;
/**
*
*/
private List responseCRSs;
/**
*
*/
private String nativeFormat;
/**
*
*/
private List supportedFormats;
/**
*
*/
private String defaultInterpolationMethod;
/**
*
*/
private List interpolationMethods;
/**
*
*/
private Data data;
/**
*
*/
private Map meta;
/**
*
*/
private String srsName;
/**
*
*/
private String srsWKT;
/**
*
*/
private CoordinateReferenceSystem crs;
/**
* Default style used to render this Coverage with WMS
*/
private String defaultStyle;
/**
* Other WMS Styles
*/
private ArrayList styles;
/**
* String representation of connection parameter values
*/
private Map parameters;
public CoverageInfo(CoverageInfoDTO dto, Data data)
throws ConfigurationException {
this.data = data;
formatId = dto.getFormatId();
name = dto.getName();
wmsPath = dto.getWmsPath();
label = dto.getLabel();
description = dto.getDescription();
metadataLink = dto.getMetadataLink();
dirName = dto.getDirName();
keywords = dto.getKeywords();
crs = dto.getCrs();
srsName = dto.getSrsName();
srsWKT = dto.getSrsWKT();
envelope = dto.getEnvelope();
lonLatWGS84Envelope = dto.getLonLatWGS84Envelope();
grid = dto.getGrid();
dimensions = dto.getDimensions();
dimensionNames = dto.getDimensionNames();
requestCRSs = dto.getRequestCRSs();
responseCRSs = dto.getResponseCRSs();
nativeFormat = dto.getNativeFormat();
supportedFormats = dto.getSupportedFormats();
defaultInterpolationMethod = dto.getDefaultInterpolationMethod();
interpolationMethods = dto.getInterpolationMethods();
defaultStyle = dto.getDefaultStyle();
styles = dto.getStyles();
parameters = dto.getParameters();
}
Object toDTO() {
CoverageInfoDTO dto = new CoverageInfoDTO();
dto.setFormatId(formatId);
dto.setName(name);
dto.setWmsPath(wmsPath);
dto.setLabel(label);
dto.setDescription(description);
dto.setMetadataLink(metadataLink);
dto.setDirName(dirName);
dto.setKeywords(keywords);
dto.setCrs(crs);
dto.setSrsName(srsName);
dto.setSrsWKT(srsWKT);
dto.setEnvelope(envelope);
dto.setLonLatWGS84Envelope(lonLatWGS84Envelope);
dto.setGrid(grid);
dto.setDimensions(dimensions);
dto.setDimensionNames(dimensionNames);
dto.setRequestCRSs(requestCRSs);
dto.setResponseCRSs(responseCRSs);
dto.setNativeFormat(nativeFormat);
dto.setSupportedFormats(supportedFormats);
dto.setDefaultInterpolationMethod(defaultInterpolationMethod);
dto.setInterpolationMethods(interpolationMethods);
dto.setDefaultStyle(defaultStyle);
dto.setStyles(styles);
dto.setParameters(parameters);
return dto;
}
public CoverageStoreInfo getFormatInfo() {
return data.getFormatInfo(formatId);
}
public boolean isEnabled() {
return (getFormatInfo() != null) && (getFormatInfo().isEnabled());
}
public CoverageStoreInfo getFormatMetaData() {
return data.getFormatInfo(formatId);
}
public boolean containsMetaData(String key) {
return meta.containsKey(key);
}
public void putMetaData(String key, Object value) {
meta.put(key, value);
}
public Object getMetaData(String key) {
return meta.get(key);
}
/**
* @return Returns the data.
*/
public Data getData() {
return data;
}
/**
* @return Returns the defaultInterpolationMethod.
*/
public String getDefaultInterpolationMethod() {
return defaultInterpolationMethod;
}
/**
* @return Returns the description.
*/
public String getDescription() {
return description;
}
/**
* @return Returns the dirName.
*/
public String getDirName() {
return dirName;
}
/**
* @return Returns the envelope.
*/
public GeneralEnvelope getEnvelope() {
return envelope;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -