Revision 1083
org.gvsig.raster.wcs/trunk/org.gvsig.raster.wcs/org.gvsig.raster.wcs.io/src/main/java/org/gvsig/raster/wcs/io/WCSProvider.java | ||
---|---|---|
78 | 78 |
import org.gvsig.tools.ToolsLocator; |
79 | 79 |
import org.gvsig.tools.task.Cancellable; |
80 | 80 |
import org.gvsig.tools.task.TaskStatus; |
81 |
import org.slf4j.Logger; |
|
82 |
import org.slf4j.LoggerFactory; |
|
81 | 83 |
/** |
82 | 84 |
* Clase que representa al driver de acceso a datos de wcs. |
83 | 85 |
* |
... | ... | |
89 | 91 |
public static String DESCRIPTION = "Wcs Raster file"; |
90 | 92 |
public static final String METADATA_DEFINITION_NAME = "WcsStore"; |
91 | 93 |
|
94 |
private static final Logger logger = LoggerFactory.getLogger(WCSProvider.class); |
|
92 | 95 |
private Extent viewRequest = null; |
93 | 96 |
private static Hashtable<URL, WCSConnector> |
94 | 97 |
drivers = new Hashtable<URL, WCSConnector> (); |
... | ... | |
174 | 177 |
setParam(storeServices, params); |
175 | 178 |
open = true; |
176 | 179 |
try { |
177 |
getDataTypeFromServer();
|
|
180 |
loadInitialInfo();
|
|
178 | 181 |
} catch (RasterDriverException e) { |
179 |
e.printStackTrace();
|
|
182 |
logger.info("Loaded default values in WCS provider", e);
|
|
180 | 183 |
} |
181 | 184 |
|
182 | 185 |
stats = new RemoteDataStoreStatistics(this); |
... | ... | |
877 | 880 |
* @return |
878 | 881 |
* @throws RasterDriverException |
879 | 882 |
*/ |
880 |
private void getDataTypeFromServer() throws RasterDriverException {
|
|
883 |
private void loadInitialInfo() throws RasterDriverException {
|
|
881 | 884 |
WCSDataParametersImpl p = (WCSDataParametersImpl)parameters; |
882 | 885 |
Extent ext = getExtent(); |
883 | 886 |
Rectangle2D bBox = ext.toRectangle2D(); |
org.gvsig.raster.wcs/trunk/org.gvsig.raster.wcs/org.gvsig.raster.wcs.app/org.gvsig.raster.wcs.app.wcsclient/src/main/java/org/gvsig/raster/wcs/app/wcsclient/gui/toc/WCSZoomToPixelTocMenuEntry.java | ||
---|---|---|
65 | 65 |
if ((lyr instanceof FLyrWCS)) { |
66 | 66 |
properties = new JMenuItem(PluginServices.getText(this, "Zoom_pixel")); |
67 | 67 |
getMenu().add( properties ); |
68 |
properties.setFont(FPopupMenu.theFont); |
|
68 |
//properties.setFont(FPopupMenu.theFont);
|
|
69 | 69 |
getMenu().setEnabled(true); |
70 |
// LWS getMenu().addSeparator(); |
|
71 | 70 |
properties.addActionListener(this); |
72 | 71 |
} |
73 | 72 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/render/DefaultRender.java | ||
---|---|---|
386 | 386 |
} |
387 | 387 |
lastAlphaBand = lastTransparency.getAlphaBandNumber(); |
388 | 388 |
|
389 |
//query.setAreaOfInterest(adjustedRotedRequest.getULX(), adjustedRotedRequest.getULY(), adjustedRotedRequest.getLRX(), adjustedRotedRequest.getLRY(), (int)Math.round(widthImage), (int)Math.round(heightImage), this, 0);
|
|
389 |
query.setAreaOfInterest(adjustedRotedRequest, (int)Math.round(widthImage), (int)Math.round(heightImage));
|
|
390 | 390 |
query.setDrawableBands(getRenderBands()); |
391 | 391 |
Buffer buf = dataStore.query(query); |
392 | 392 |
query.setSupersamplingLoadingBuffer(true); |
org.gvsig.raster.wms/trunk/org.gvsig.raster.wms/org.gvsig.raster.wms.io/src/main/java/org/gvsig/raster/wms/io/WMSProvider.java | ||
---|---|---|
21 | 21 |
*/ |
22 | 22 |
package org.gvsig.raster.wms.io; |
23 | 23 |
|
24 |
import java.awt.Image; |
|
24 | 25 |
import java.awt.geom.AffineTransform; |
25 | 26 |
import java.awt.geom.NoninvertibleTransformException; |
26 | 27 |
import java.awt.geom.Point2D; |
... | ... | |
31 | 32 |
import java.util.Hashtable; |
32 | 33 |
import java.util.Vector; |
33 | 34 |
|
35 |
import javax.swing.ImageIcon; |
|
36 |
|
|
34 | 37 |
import org.gvsig.compat.net.ICancellable; |
35 | 38 |
import org.gvsig.fmap.dal.DALLocator; |
36 | 39 |
import org.gvsig.fmap.dal.DataStore; |
... | ... | |
79 | 82 |
import org.gvsig.tools.ToolsLocator; |
80 | 83 |
import org.gvsig.tools.task.Cancellable; |
81 | 84 |
import org.gvsig.tools.task.TaskStatus; |
85 |
import org.slf4j.Logger; |
|
86 |
import org.slf4j.LoggerFactory; |
|
82 | 87 |
/** |
83 | 88 |
* Clase que representa al driver de acceso a datos de wms. |
84 | 89 |
* |
... | ... | |
89 | 94 |
public static String NAME = "Wms Store"; |
90 | 95 |
public static String DESCRIPTION = "Wms Raster file"; |
91 | 96 |
public static final String METADATA_DEFINITION_NAME = "WmsStore"; |
97 |
private static final Logger logger = LoggerFactory.getLogger(WMSProvider.class); |
|
92 | 98 |
private static final int FIXED_SIZE = 800; |
93 | 99 |
private Extent viewRequest = null; |
94 | 100 |
private static Hashtable<String, WMSConnector> |
... | ... | |
192 | 198 |
setDataType(new int[]{Buffer.TYPE_BYTE, Buffer.TYPE_BYTE, Buffer.TYPE_BYTE}); |
193 | 199 |
bandCount = 3; |
194 | 200 |
open = true; |
201 |
try { |
|
202 |
loadInitialInfo(); |
|
203 |
} catch (RasterDriverException e) { |
|
204 |
logger.info("Loaded default values in WMS provider", e); |
|
205 |
} |
|
195 | 206 |
} |
196 | 207 |
|
208 |
/** |
|
209 |
* When a WMS provider is opened the information of data type, number of bands and transparency |
|
210 |
* is not available. Only after the first time a raster has been downloaded it can be know. |
|
211 |
* @param newDataType |
|
212 |
* @param buf |
|
213 |
* @param bandList |
|
214 |
* @return |
|
215 |
* @throws RasterDriverException |
|
216 |
*/ |
|
217 |
private void loadInitialInfo() throws RasterDriverException { |
|
218 |
WMSDataParametersImpl p = (WMSDataParametersImpl)parameters; |
|
219 |
Extent ext = getExtent(); |
|
220 |
Rectangle2D bBox = ext.toRectangle2D(); |
|
221 |
int w = 0; |
|
222 |
int h = 0; |
|
223 |
if(ext.width() > ext.height()) { |
|
224 |
w = 200; |
|
225 |
h = (int)((ext.height() * w) / ext.width()); |
|
226 |
} else { |
|
227 |
h = 200; |
|
228 |
w = (int)((ext.width() * h) / ext.height()); |
|
229 |
} |
|
230 |
p.setWidth(w); |
|
231 |
p.setHeight(h); |
|
232 |
p.setExtent(bBox); |
|
233 |
WMSStatus wmsStatus = loadWMSStatus(bBox); |
|
234 |
|
|
235 |
lastRequest = downloadFile(wmsStatus, ext.getULX(), ext.getULY(), ext.getLRX(), ext.getLRY(), w, h); |
|
236 |
DefaultRasterProvider driver; |
|
237 |
try { |
|
238 |
driver = DefaultProviderServices.loadProvider(lastRequest); |
|
239 |
setDataType(driver.getDataType()); |
|
240 |
bandCount = driver.getBandCount(); |
|
241 |
if(bandCount > 3) { |
|
242 |
getColorInterpretation().setColorInterpValue(3, DataStoreColorInterpretation.ALPHA_BAND); |
|
243 |
getTransparency().setTransparencyBand(3); |
|
244 |
} |
|
245 |
driver.close(); |
|
246 |
} catch (ProviderNotRegisteredException e) { |
|
247 |
throw new RasterDriverException("", e); |
|
248 |
} catch (InitializeException e) { |
|
249 |
throw new RasterDriverException("", e); |
|
250 |
} |
|
251 |
} |
|
252 |
|
|
197 | 253 |
public static final WMSConnector getConnectorFromURL(URL url) throws IOException { |
198 | 254 |
WMSConnector drv = (WMSConnector) drivers.get(url.toString()); |
199 | 255 |
if (drv == null) { |
... | ... | |
949 | 1005 |
} |
950 | 1006 |
} |
951 | 1007 |
|
1008 |
public Image getImageLegend() { |
|
1009 |
try { |
|
1010 |
if (getConnector().hasLegendGraphic()) { |
|
1011 |
WMSStatus wmsStatus = loadWMSStatus(getExtent().toRectangle2D()); |
|
1012 |
wmsStatus.setOnlineResource((String) getParameters().getOnlineResource().get("GetLegendGraphic")); |
|
1013 |
File file = getConnector().getLegendGraphic(wmsStatus, getParameters().getLayerQuery(), null); |
|
1014 |
Image img = null; |
|
1015 |
if ((file != null) && (file.length() > 0)) { |
|
1016 |
img = new ImageIcon(file.getAbsolutePath()).getImage(); |
|
1017 |
} |
|
1018 |
return img; |
|
1019 |
} |
|
1020 |
} catch (Exception e) { |
|
1021 |
logger.info("Problems in GetLegendGraphic", e); |
|
1022 |
} |
|
1023 |
return null; |
|
1024 |
} |
|
1025 |
|
|
952 | 1026 |
/* |
953 | 1027 |
* (non-Javadoc) |
954 | 1028 |
* @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getBlockSize() |
org.gvsig.raster.gdal/trunk/org.gvsig.raster.gdal/org.gvsig.raster.gdal.io/src/main/java/org/gvsig/raster/gdal/io/GdalProvider.java | ||
---|---|---|
434 | 434 |
file.readWindow(rasterBuf, bandList, viewRequest.getULX(), viewRequest.getULY(), viewRequest.getLRX(), viewRequest.getLRY(), |
435 | 435 |
rasterBuf.getWidth(), rasterBuf.getHeight(), true, status); |
436 | 436 |
} catch (GdalException e) { |
437 |
throw new RasterDriverException("Error reading data"); |
|
437 |
throw new RasterDriverException("Error reading data", e);
|
|
438 | 438 |
} |
439 | 439 |
|
440 | 440 |
return rasterBuf; |
Also available in: Unified diff