Revision 2064 trunk/extensions/extWCS/src/com/iver/cit/gvsig/fmap/layers/FLyrWCS.java
FLyrWCS.java | ||
---|---|---|
161 | 161 |
|
162 | 162 |
/** |
163 | 163 |
* Recupera el nom de la capa mostrada al TOC. El text per al nom no ?s el |
164 |
* nom de la covertura sin? el texte que apareix al camp de text del wizard,
|
|
164 |
* nom de la covertura sin? el text que apareix al camp de text del wizard, |
|
165 | 165 |
* que es correspon amb la "label" que el servidor especifica per a la |
166 | 166 |
* covertura, i pot ser modificat per l'usuari al wizard per a gastar el que |
167 | 167 |
* dessitge. |
... | ... | |
180 | 180 |
} |
181 | 181 |
|
182 | 182 |
/** |
183 |
* @return |
|
183 |
* Con getParamsPanel tenemos acceso a juego de pesta?as de configuraci?n |
|
184 |
* de la cobertura. Si este panel todav?a no existe (como puede ser cuando |
|
185 |
* recuperamos un proyecto guardado) ?ste se crea autom?ticamente conectando |
|
186 |
* al servidor, recuperando los datos necesarios, rellenando el contenido y |
|
187 |
* dejando seleccionados los valores que estaban seleccionados cuando se |
|
188 |
* guard? el proyecto. |
|
189 |
* |
|
190 |
* Como para reconstruirse requiere una conexi?n con el servidor esto causa |
|
191 |
* un retardo en la aparici?n en el toc y un error de nullPointer si no |
|
192 |
* hay conexi?n hasta el servidor. |
|
193 |
* |
|
194 |
* @return WCSParamsPanel |
|
184 | 195 |
*/ |
185 | 196 |
public WCSParamsPanel getParamsPanel() { |
186 | 197 |
if (toc == null) { |
... | ... | |
241 | 252 |
return toc; |
242 | 253 |
} |
243 | 254 |
|
255 |
/** |
|
256 |
* Obtiene el nombre de la cobertura |
|
257 |
* @return String |
|
258 |
*/ |
|
244 | 259 |
public String getCoverageName() { |
245 | 260 |
return wcs.getCoverageName(); |
246 | 261 |
} |
247 | 262 |
|
263 |
/** |
|
264 |
* Obtiene el formato en que la cobertura est? codificado |
|
265 |
* @return String |
|
266 |
*/ |
|
248 | 267 |
public String getFormat() { |
249 | 268 |
return wcs.getFormat(); |
250 | 269 |
} |
251 | 270 |
|
271 |
/** |
|
272 |
* Obtiene la direcci?n URL del servidor WCS |
|
273 |
* |
|
274 |
* @return String |
|
275 |
*/ |
|
252 | 276 |
public String getHost() { |
253 | 277 |
return wcs.getHost(); |
254 | 278 |
} |
255 | 279 |
|
280 |
/** |
|
281 |
* Obtiene el valor del par?metro |
|
282 |
* @return String |
|
283 |
*/ |
|
256 | 284 |
public String getParameter() { |
257 | 285 |
return wcs.getParameter(); |
258 | 286 |
} |
259 | 287 |
|
288 |
/** |
|
289 |
* Obtiene el SRS dela cobertura |
|
290 |
* @return String |
|
291 |
*/ |
|
260 | 292 |
public String getSRS() { |
261 | 293 |
return wcs.getSRS(); |
262 | 294 |
} |
263 | 295 |
|
296 |
/** |
|
297 |
* Obtiene el valor para TIME en la consulta WCS |
|
298 |
* @return String |
|
299 |
*/ |
|
264 | 300 |
public String getTime() { |
265 | 301 |
return wcs.getTime(); |
266 | 302 |
} |
267 | 303 |
|
304 |
/** |
|
305 |
* Establece el formato en que se pide la cobertura WCS |
|
306 |
* @param format |
|
307 |
*/ |
|
268 | 308 |
public void setFormat(String format) { |
269 | 309 |
wcs.setFormat(format); |
270 | 310 |
} |
271 | 311 |
|
312 |
/** |
|
313 |
* Establece la direcci?n URL del servidor WCS |
|
314 |
* @param host |
|
315 |
*/ |
|
272 | 316 |
public void setHost(String host) { |
273 | 317 |
if (wcs == null) { |
274 | 318 |
wcs = new FMapWCSAdaptor(); |
... | ... | |
276 | 320 |
} |
277 | 321 |
wcs.setHost(host); |
278 | 322 |
} |
323 |
|
|
324 |
/** |
|
325 |
* Establece el nombre y el valor (lista de valores separados por comas) |
|
326 |
* del par?metro de la consulta WCS |
|
327 |
* @param parameter |
|
328 |
*/ |
|
279 | 329 |
public void setParameter(String parameter) { |
280 | 330 |
wcs.setParameter(parameter); |
281 | 331 |
} |
332 |
|
|
333 |
/** |
|
334 |
* Establece el SRS de la consulta WCS |
|
335 |
* @param srs |
|
336 |
*/ |
|
282 | 337 |
public void setSRS(String srs) { |
283 | 338 |
wcs.setSRS(srs); |
284 | 339 |
} |
340 |
|
|
341 |
/** |
|
342 |
* Establece el par?metro TIME de la consulta WCS |
|
343 |
* @param time |
|
344 |
*/ |
|
285 | 345 |
public void setTime(String time) { |
286 | 346 |
/*if (time.matches("TIME=*")) |
287 | 347 |
wcs.setTime(time.split("=")[1]); |
288 | 348 |
else*/ wcs.setTime(time); |
289 | 349 |
} |
350 |
|
|
351 |
/** |
|
352 |
* Establece el par?metro COVERAGE de la consulta WCS |
|
353 |
* @param coverageName |
|
354 |
*/ |
|
290 | 355 |
public void setCoverageName(String coverageName) { |
291 | 356 |
wcs.setCoverageName(coverageName); |
292 | 357 |
} |
293 | 358 |
|
359 |
/** |
|
360 |
* Obtiene la resoluci?n m?xima soportada por la cobertura. La petici?n |
|
361 |
* de una resoluci?n superior a la soportada no provoca ning?n error, aunque |
|
362 |
* la informaci?n obtenida s?lo es una mera interpolaci?n de informaci?n. |
|
363 |
* |
|
364 |
* A cambio de obtener un archivo mayor y sin informaci?n adicional, podemos |
|
365 |
* f?cilmente acoplarlo a la vista. |
|
366 |
* |
|
367 |
* @return double |
|
368 |
*/ |
|
294 | 369 |
public double getMaxResolution(){ |
295 | 370 |
return wcs.getMaxResolution(); |
296 | 371 |
} |
297 | 372 |
|
373 |
/** |
|
374 |
* Establece la resoluci?n M?XIMA que soporta la cobertura. |
|
375 |
* |
|
376 |
* La resoluci?n m?xima viene fijada por el servidor dentro documento |
|
377 |
* DescribeCoverage en la secci?n SpatialDomain. |
|
378 |
* |
|
379 |
* Use este m?todo ?nicamente para cargar el valor para la resoluci?n m?xima |
|
380 |
* desde all? o desde un proyecto guardado en anterioridad, puesto que un |
|
381 |
* valor incorrecto reportar? (conllevar?) errores de c?lculo cuando se haga |
|
382 |
* un "zoom a la resoluci?n del r?ster". |
|
383 |
* |
|
384 |
* @param res |
|
385 |
*/ |
|
298 | 386 |
public void setMaxResolution(double res){ |
299 | 387 |
wcs.setMaxResolution(res); |
300 | 388 |
} |
301 | 389 |
|
302 | 390 |
/** |
303 |
*Obtiene el adaptor |
|
391 |
* Obtiene el adaptor
|
|
304 | 392 |
*/ |
305 | 393 |
public FMapWCSAdaptor getWCSAdaptor(){ |
306 | 394 |
return wcs; |
307 | 395 |
} |
308 | 396 |
|
397 |
/** |
|
398 |
* Establece el adaptador. |
|
399 |
* @deprecated |
|
400 |
* @param wcs |
|
401 |
*/ |
|
309 | 402 |
public void setWCSAdaptor(FMapWCSAdaptor wcs){ |
310 | 403 |
this.wcs = wcs; |
311 | 404 |
} |
312 | 405 |
|
313 |
public Rectangle2D getBbox() { |
|
406 |
/** |
|
407 |
* Obtiene la Bounding Box sobre la que se est? operando |
|
408 |
* @return Rectangle2D |
|
409 |
*/ |
|
410 |
private Rectangle2D getBbox() { |
|
314 | 411 |
return wcs.getBbox(); |
315 | 412 |
} |
316 | 413 |
|
... | ... | |
318 | 415 |
* obtiene la resoluci?n actual para la cobertura de la vista |
319 | 416 |
* @return |
320 | 417 |
*/ |
321 |
public double getRes() {
|
|
418 |
private double getRes() {
|
|
322 | 419 |
return wcs.getRes(); |
323 | 420 |
} |
324 | 421 |
|
325 | 422 |
/** |
326 |
* Establece la resoluci?n actual para la cobertura de la vista |
|
423 |
* Establece la resoluci?n actual para la cobertura de la vista. |
|
424 |
* Este valor es calculado autom?ticamente por gvSIG. ?ste m?todo deber?a |
|
425 |
* ser usado ?nicamente para recuperar este valor de un proyecto |
|
426 |
* anteriormente guardado. |
|
327 | 427 |
* @param res |
328 | 428 |
*/ |
329 |
public void setRes(double res) {
|
|
429 |
private void setRes(double res) {
|
|
330 | 430 |
wcs.setRes(res); |
331 | 431 |
} |
332 | 432 |
|
433 |
/** |
|
434 |
* Establece el ?rea de la cobertura a pedir. |
|
435 |
* Este valor es calculado autom?ticamente por gvSIG. ?ste m?todo deber?a |
|
436 |
* ser usado ?nicamente para recuperar el valor de un proyecto anteriormente |
|
437 |
* guardado. |
|
438 |
* |
|
439 |
* @param rect |
|
440 |
*/ |
|
333 | 441 |
public void setBBox(Rectangle2D rect) { |
334 | 442 |
wcs.setBBox(rect); |
335 | 443 |
} |
444 |
/** |
|
445 |
* Inicializa una cobertura a partir de una URL GetCoverage completa |
|
446 |
* TODO Por completar y probar |
|
447 |
* @param queryString |
|
448 |
*/ |
|
449 |
public void initFromQueryString(String queryString){ |
|
336 | 450 |
|
337 |
/** |
|
338 |
* Usada para hacer el Zoom a la resoluci?n del raster. |
|
339 |
* Fuerza que se realice una consulta para la resoluci?n m?xima. |
|
340 |
* |
|
341 |
* Se usa en WCSZoomToPixel.java |
|
342 |
* |
|
343 |
* @param bbox |
|
344 |
* |
|
345 |
public void doZoomToPixel(Rectangle2D bbox) { |
|
346 |
wcs.doZoomToPixel(bbox); |
|
451 |
String host = queryString.substring(0, queryString.indexOf('?')); |
|
452 |
String[] params = queryString.substring(queryString.indexOf('?')+1, queryString.length()).split("="); |
|
453 |
setHost(host); |
|
454 |
for (int i = 0; i < params.length; i++) { |
|
455 |
String[] par_nombreValor = params[i].split("="); |
|
456 |
String nombre = par_nombreValor[0].toUpperCase(); |
|
457 |
String valor = par_nombreValor[1]; |
|
458 |
if (nombre.equals("COVERAGE")) setCoverageName(valor); |
|
459 |
else if (nombre.equals("TIME")) setTime(valor); |
|
460 |
else if (nombre.equals("FORMAT")) setFormat(valor); |
|
461 |
else if (nombre.equals("CRS")) setSRS(valor); |
|
462 |
else if (nombre.equals("EXCEPTIONS")) continue; |
|
463 |
else if (nombre.equals("RESX")) continue; |
|
464 |
else if (nombre.equals("RESY")) continue; |
|
465 |
else if (nombre.equals("RESZ")) continue; |
|
466 |
else if (nombre.equals("WIDTH")) continue; |
|
467 |
else if (nombre.equals("HEIGHT")) continue; |
|
468 |
else if (nombre.equals("DEPTH")) continue; |
|
469 |
else if (nombre.equals("BBOX")) continue; |
|
470 |
else if (nombre.equals("RESPONSE_CRS")) continue; |
|
471 |
else setParameter(nombre+"="+valor); |
|
472 |
} |
|
347 | 473 |
} |
348 |
*/ |
|
349 | 474 |
} |
Also available in: Unified diff