Revision 6906 trunk/libraries/libJCRS/src/org/gvsig/crs/ui/CRSSelectionPanel.java
CRSSelectionPanel.java | ||
---|---|---|
34 | 34 |
import org.gvsig.crs.ogr.GetCRSepsg; |
35 | 35 |
|
36 | 36 |
import com.iver.andami.PluginServices; |
37 |
import com.iver.andami.ui.mdiManager.View; |
|
38 |
import com.iver.andami.ui.mdiManager.ViewInfo; |
|
37 |
import com.iver.cit.gvsig.gui.View; |
|
39 | 38 |
import com.iver.cit.gvsig.gui.panels.ProjChooserPanel; |
40 | 39 |
|
41 | 40 |
public class CRSSelectionPanel extends JPanel { |
... | ... | |
78 | 77 |
|
79 | 78 |
private int codeCRS = -1; |
80 | 79 |
|
81 |
public CRSSelectionPanel() { |
|
82 |
super(); |
|
80 |
/* |
|
81 |
* distinguira entre si es el panel para seleccion solo de CRS o para el de CRS y |
|
82 |
* transformacion |
|
83 |
*/ |
|
84 |
boolean transfPanel = false; |
|
85 |
public static boolean si = false; |
|
86 |
|
|
87 |
public CRSSelectionPanel(boolean trans) { |
|
88 |
super(); |
|
89 |
transfPanel = trans; |
|
83 | 90 |
pcp = new ProjChooserPanel(); |
84 | 91 |
initialize(); |
85 | 92 |
} |
... | ... | |
432 | 439 |
} |
433 | 440 |
else { |
434 | 441 |
selectedRowTable = lsm.getMinSelectionIndex(); |
435 |
|
|
436 | 442 |
setCodeCRS(Integer.parseInt((String)dtm.getValueAt(selectedRowTable,0))); |
437 | 443 |
setWKT(); |
444 |
|
|
445 |
if (transfPanel){ |
|
446 |
compareCRS(); |
|
447 |
} |
|
438 | 448 |
} |
439 | 449 |
infoCrs.setEnabled(true); |
440 | 450 |
} |
451 |
|
|
452 |
private void compareCRS() { |
|
453 |
int base = getCodeCRS(); |
|
454 |
String datum = ""; |
|
455 |
int datum_code = -1; |
|
456 |
String sentence = "SELECT source_geogcrs_code " + |
|
457 |
"FROM epsg_coordinatereferencesystem " + |
|
458 |
"WHERE coord_ref_sys_code = "+ base ; |
|
459 |
ResultSet result = Query.select(sentence,pcp.connect.getConnection()); |
|
460 |
int source = 0; |
|
461 |
try { |
|
462 |
result.next(); |
|
463 |
source = result.getInt("source_geogcrs_code"); |
|
464 |
} catch (SQLException e1) { |
|
465 |
e1.printStackTrace(); |
|
466 |
} |
|
467 |
|
|
468 |
if (source != 0){ |
|
469 |
base = source; |
|
470 |
} |
|
471 |
|
|
472 |
sentence = "SELECT datum_code " + |
|
473 |
"FROM epsg_coordinatereferencesystem " + |
|
474 |
"WHERE coord_ref_sys_code = "+ base ; |
|
475 |
result = Query.select(sentence,pcp.connect.getConnection()); |
|
476 |
|
|
477 |
try { |
|
478 |
result.next(); |
|
479 |
datum_code = result.getInt("datum_code"); |
|
480 |
} catch (SQLException e1) { |
|
481 |
e1.printStackTrace(); |
|
482 |
} |
|
483 |
|
|
484 |
sentence = "SELECT datum_name " + |
|
485 |
"FROM epsg_datum " + |
|
486 |
"WHERE datum_code = "+ datum_code ; |
|
487 |
result = Query.select(sentence,pcp.connect.getConnection()); |
|
488 |
|
|
489 |
try { |
|
490 |
result.next(); |
|
491 |
datum = result.getString("datum_name"); |
|
492 |
} catch (SQLException e1) { |
|
493 |
e1.printStackTrace(); |
|
494 |
} |
|
495 |
|
|
496 |
if (!((ICrs) View.m_MapControl.getProjection()).getCrsWkt().getDatumName().equals(datum.replaceAll(" ",""))){ |
|
497 |
si = true; |
|
498 |
CrsView.withOutTrans.setEnabled(true); |
|
499 |
CrsView.nadgrids.setEnabled(true); |
|
500 |
CrsView.epsgTrans.setEnabled(true); |
|
501 |
CrsView.manualTrans.setEnabled(true); |
|
502 |
CrsView.next.setVisible(true); |
|
503 |
CrsView.accept.setVisible(false); |
|
504 |
/* |
|
505 |
* logica necesaria para comprobar si los crs bases son iguales |
|
506 |
* y en ese caso deshabilitar opcion transformacion de |
|
507 |
* TransformationEpsgPanel |
|
508 |
*/ |
|
509 |
} |
|
510 |
else { |
|
511 |
si = false; |
|
512 |
CrsView.withOutTrans.setEnabled(false); |
|
513 |
CrsView.nadgrids.setEnabled(false); |
|
514 |
CrsView.epsgTrans.setEnabled(false); |
|
515 |
CrsView.manualTrans.setEnabled(false); |
|
516 |
CrsView.next.setVisible(false); |
|
517 |
CrsView.accept.setVisible(true); |
|
518 |
} |
|
519 |
} |
|
441 | 520 |
}); |
442 | 521 |
} |
443 | 522 |
return jTable; |
Also available in: Unified diff