Index: org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/gui/panels/TransformationEpsgPanel.java =================================================================== --- org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/gui/panels/TransformationEpsgPanel.java (revisione 264) +++ org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/gui/panels/TransformationEpsgPanel.java (copia locale) @@ -121,9 +121,9 @@ setAuthorityTarget(authority_target[0]); int target = Integer.parseInt(authority_target[1]); real_target = target; - String sentence = "SELECT source_geogcrs_code, coord_ref_sys_kind " + - "FROM epsg_coordinatereferencesystem " + - "WHERE coord_ref_sys_code = "+ target ; + String sentence = "SELECT source_geogcrs_code, coord_ref_sys_kind " + + "FROM epsg_coordinatereferencesystem " + + "WHERE coord_ref_sys_code = " + target; ResultSet result = Query.select(sentence,connect.getConnection()); try { result.next(); @@ -132,7 +132,7 @@ target = result.getInt("source_geogcrs_code"); } catch (SQLException e1) { logger.info("Can't get values from resulset, sentence="+sentence+".",e1); - } + } crs_target = target; initialize(); } @@ -142,7 +142,8 @@ setBorder( BorderFactory.createCompoundBorder( BorderFactory.createCompoundBorder( - BorderFactory.createTitledBorder("Transformacion EPSG"), + BorderFactory.createTitledBorder( + PluginServices.getText(this,"EPSG_transformation")), BorderFactory.createEmptyBorder(12,2,80,2)), getBorder())); add(getJScrollPane(),BorderLayout.CENTER); @@ -219,7 +220,8 @@ jScrollPane.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createCompoundBorder( - BorderFactory.createTitledBorder(PluginServices.getText(this,"transformations")), + BorderFactory.createTitledBorder( + PluginServices.getText(this,"transformations")), BorderFactory.createEmptyBorder(5,5,5,5)), jScrollPane.getBorder())); jScrollPane.setViewportView(getJTable()); @@ -234,16 +236,19 @@ */ private void callTransformation(int _crsCode){ - int crsCode = _crsCode; - - String sentence = "SELECT source_geogcrs_code " + - "FROM epsg_coordinatereferencesystem " + - "WHERE coord_ref_sys_code = "+ crsCode ; + int crsCode = _crsCode; + String sentence = "SELECT source_geogcrs_code, coord_ref_sys_kind " + + "FROM epsg_coordinatereferencesystem " + + "WHERE coord_ref_sys_code = " + crsCode; ResultSet result = Query.select(sentence,connect.getConnection()); int source = 0; try { result.next(); - source = result.getInt("source_geogcrs_code"); + String kind = result.getString("coord_ref_sys_kind"); + if (kind.equals("projected")) + source = result.getInt("source_geogcrs_code"); + else if (kind.equals("geographic 2D")) + source = crsCode; } catch (SQLException e1) { logger.info("Can't get values from resulset, sentence="+sentence+".",e1); } @@ -251,7 +256,7 @@ ResultSet result2 = null; ResultSet result3 = null; if (source != 0){ - crsCode = source; + crsCode = source; } ArrayList codecs = new ArrayList(); @@ -258,11 +263,12 @@ codecs.add(String.valueOf(crsCode)); for (int j=0; j< codecs.size(); j++){ - sentence = "SELECT coord_op_code, coord_op_name, coord_op_type, source_crs_code, target_crs_code, area_of_use_code, coord_op_method_code " + - "FROM epsg_coordoperation " + - "WHERE source_crs_code = " + codecs.get(j) + "AND target_crs_code = " + crs_target; + sentence = "SELECT coord_op_code, coord_op_name, coord_op_type, source_crs_code, " + + "target_crs_code, area_of_use_code, coord_op_method_code " + + "FROM epsg_coordoperation WHERE source_crs_code = " + + codecs.get(j) + " AND target_crs_code = " + crs_target; - result = Query.select(sentence,connect.getConnection()); + result = Query.select(sentence,connect.getConnection()); try { while(result.next()) { @@ -277,8 +283,8 @@ int aouc = Integer.parseInt(result.getString("area_of_use_code")); - sentence = "SELECT area_of_use FROM epsg_area " + - "WHERE area_code = "+ aouc ; + sentence = "SELECT area_of_use FROM epsg_area " + + "WHERE area_code = " + aouc; result2 = Query.select(sentence,connect.getConnection()); while (result2.next()) @@ -286,12 +292,12 @@ String coord_op_method = result.getString("coord_op_method_code"); - sentence = "SELECT reverse_op FROM epsg_coordoperationmethod "+ - "WHERE coord_op_method_code LIKE " + coord_op_method; + sentence = "SELECT reverse_op FROM epsg_coordoperationmethod " + + "WHERE coord_op_method_code LIKE " + coord_op_method; result3 = Query.select(sentence,connect.getConnection()); while(result3.next()){ - if (Integer.parseInt(result3.getString("reverse_op")) == 1){ + if (result3.getInt("reverse_op") == 1){ for (int i=0; i< transformations.length; i++){ if (coord_op_method.equals(transformations[i])){ dtm.addRow(data); @@ -338,17 +344,19 @@ */ private void callInverseTransformation(int _crsCode){ - int crsCode = _crsCode; - //inverseTranformation = true; - - String sentence = "SELECT source_geogcrs_code " + - "FROM epsg_coordinatereferencesystem " + - "WHERE coord_ref_sys_code = "+ crsCode ; + int crsCode = _crsCode; + String sentence = "SELECT source_geogcrs_code, coord_ref_sys_kind " + + "FROM epsg_coordinatereferencesystem " + + "WHERE coord_ref_sys_code = " + crsCode; ResultSet result = Query.select(sentence,connect.getConnection()); int source = 0; try { result.next(); - source = result.getInt("source_geogcrs_code"); + String kind = result.getString("coord_ref_sys_kind"); + if (kind.equals("projected")) + source = result.getInt("source_geogcrs_code"); + else if (kind.equals("geographic 2D")) + source = crsCode; } catch (SQLException e1) { logger.info("Can't get value 'source_geogcrs_code' from resulset, sentence="+sentence+".",e1); } @@ -356,7 +364,7 @@ ResultSet result2 = null; ResultSet result3 = null; if (source != 0){ - crsCode = source; + crsCode = source; } ArrayList codecs = new ArrayList(); @@ -365,9 +373,10 @@ codecs = deleteItems(codecs); for (int j=0; j< codecs.size(); j++){ - sentence = "SELECT coord_op_code, coord_op_name, coord_op_type, source_crs_code, target_crs_code, area_of_use_code, coord_op_method_code " + - "FROM epsg_coordoperation " + - "WHERE source_crs_code = " + codecs.get(j) + "AND target_crs_code = " + crs_target; + sentence = "SELECT coord_op_code, coord_op_name, coord_op_type, source_crs_code, " + + "target_crs_code, area_of_use_code, coord_op_method_code " + + "FROM epsg_coordoperation WHERE source_crs_code = " + + codecs.get(j) + " AND target_crs_code = " + crs_target; result = Query.select(sentence,connect.getConnection()); @@ -384,8 +393,8 @@ int aouc = Integer.parseInt(result.getString("area_of_use_code")); - sentence = "SELECT area_of_use FROM epsg_area " + - "WHERE area_code = "+ aouc ; + sentence = "SELECT area_of_use FROM epsg_area " + + "WHERE area_code = " + aouc; result2 = Query.select(sentence,connect.getConnection()); while (result2.next()) @@ -393,8 +402,8 @@ String coord_op_method = result.getString("coord_op_method_code"); - sentence = "SELECT reverse_op FROM epsg_coordoperationmethod "+ - "WHERE coord_op_method_code LIKE " + coord_op_method; + sentence = "SELECT reverse_op FROM epsg_coordoperationmethod " + + "WHERE coord_op_method_code LIKE " + coord_op_method; result3 = Query.select(sentence,connect.getConnection()); while(result3.next()){ @@ -522,9 +531,9 @@ int new_target = crs_target; int base_target = src_code; - String sentence = "SELECT source_geogcrs_code, coord_ref_sys_kind " + - "FROM epsg_coordinatereferencesystem " + - "WHERE coord_ref_sys_code = "+ src_code; + String sentence = "SELECT source_geogcrs_code, coord_ref_sys_kind " + + "FROM epsg_coordinatereferencesystem " + + "WHERE coord_ref_sys_code = " + src_code; ResultSet result = Query.select(sentence,connect.getConnection()); try { result.next(); @@ -571,9 +580,9 @@ int new_target = crs_target; int base_target = code; - String sentence = "SELECT source_geogcrs_code, coord_ref_sys_kind " + - "FROM epsg_coordinatereferencesystem " + - "WHERE coord_ref_sys_code = "+ code; + String sentence = "SELECT source_geogcrs_code, coord_ref_sys_kind " + + "FROM epsg_coordinatereferencesystem " + + "WHERE coord_ref_sys_code = " + code; ResultSet result = Query.select(sentence,connect.getConnection()); try { result.next(); @@ -610,9 +619,8 @@ dtm.removeRow(numRow); } - String sentence = "SELECT source_geogcrs_code " + - "FROM epsg_coordinatereferencesystem " + - "WHERE coord_ref_sys_code = "+ crsCode ; + String sentence = "SELECT source_geogcrs_code FROM epsg_coordinatereferencesystem " + + "WHERE coord_ref_sys_code = " + crsCode; ResultSet result = Query.select(sentence,connect.getConnection()); int source = 0; try { @@ -632,9 +640,10 @@ codecs.add(String.valueOf(crsCode)); for (int j=0; j< codecs.size(); j++){ - sentence = "SELECT coord_op_code, coord_op_name, coord_op_type, source_crs_code, target_crs_code, area_of_use_code, coord_op_method_code " + - "FROM epsg_coordoperation " + - "WHERE source_crs_code = " + codecs.get(j) + " OR target_crs_code = "+ codecs.get(j); + sentence = "SELECT coord_op_code, coord_op_name, coord_op_type, source_crs_code, " + + "target_crs_code, area_of_use_code, coord_op_method_code " + + "FROM epsg_coordoperation WHERE source_crs_code = " + + codecs.get(j) + " OR target_crs_code = " + codecs.get(j); result = Query.select(sentence,connect.getConnection()); @@ -651,8 +660,8 @@ int aouc = Integer.parseInt(result.getString("area_of_use_code")); - sentence = "SELECT area_of_use FROM epsg_area " + - "WHERE area_code = "+ aouc ; + sentence = "SELECT area_of_use FROM epsg_area " + + "WHERE area_code = " + aouc; result2 = Query.select(sentence,connect.getConnection()); while (result2.next()) @@ -660,12 +669,12 @@ String coord_op_method = result.getString("coord_op_method_code"); - sentence = "SELECT reverse_op FROM epsg_coordoperationmethod "+ - "WHERE coord_op_method_code LIKE " + coord_op_method; + sentence = "SELECT reverse_op FROM epsg_coordoperationmethod " + + "WHERE coord_op_method_code LIKE " + coord_op_method; result3 = Query.select(sentence,connect.getConnection()); while(result3.next()){ - if (Integer.parseInt(result3.getString("reverse_op")) == 1){ + if (result3.getInt("reverse_op") == 1){ for (int i=0; i< transformations.length; i++){ if (coord_op_method.equals(transformations[i])){ dtm.addRow(data); @@ -740,7 +749,7 @@ public WindowInfo getWindowInfo() { WindowInfo m_viewinfo=new WindowInfo(WindowInfo.MODALDIALOG); - m_viewinfo.setTitle("Transformation EPSG"); + m_viewinfo.setTitle(PluginServices.getText(this,"EPSG_transformation")); return m_viewinfo; } Index: org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/gui/panels/TransformationManualPanel.java =================================================================== --- org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/gui/panels/TransformationManualPanel.java (revisione 264) +++ org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/gui/panels/TransformationManualPanel.java (copia locale) @@ -232,7 +232,7 @@ if(scale == null ) { scale = new JLabel(); //scale.setFont(new Font("scale:",Font.BOLD,15)); - scale.setText(PluginServices.getText(this,"scale")+":"); + scale.setText(PluginServices.getText(this,"scale_factor_ppm")+":"); } return scale;