Revision 2183 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/gui/toolListeners/InfoListener.java

View differences:

InfoListener.java
45 45
import java.awt.Point;
46 46
import java.awt.Toolkit;
47 47
import java.awt.geom.Point2D;
48
import java.util.ArrayList;
48 49
import java.util.BitSet;
49 50

  
50 51
import javax.swing.ImageIcon;
......
67 68
import com.iver.cit.gvsig.fmap.MapControl;
68 69
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
69 70
import com.iver.cit.gvsig.fmap.layers.FLayer;
71
import com.iver.cit.gvsig.fmap.layers.FLyrRaster;
70 72
import com.iver.cit.gvsig.fmap.layers.layerOperations.AlphanumericData;
71 73
import com.iver.cit.gvsig.fmap.layers.layerOperations.InfoByPoint;
72 74
import com.iver.cit.gvsig.fmap.layers.layerOperations.VectorialData;
......
158 160
				
159 161
				String text;
160 162
				try {
163
					if(laCapa instanceof FLyrRaster){
164
						ArrayList attr =((FLyrRaster)laCapa).getSource().getAttributes();
165
						int anchoRaster = 0;
166
						int altoRaster = 0;
167
						
168
						for (int j=0; j<attr.size(); j++) {
169
							Object [] a = (Object []) attr.get(j);
170
							if(a[0].toString().equals("Width"))
171
								anchoRaster = Integer.parseInt(a[1].toString());
172
							if(a[0].toString().equals("Height"))
173
								altoRaster = Integer.parseInt(a[1].toString());
174
						}
175
						
176
						double xwc = ((FLyrRaster)laCapa).getFullExtent().getMaxX()-((FLyrRaster)laCapa).getFullExtent().getMinX();
177
						double ywc = ((FLyrRaster)laCapa).getFullExtent().getMaxY()-((FLyrRaster)laCapa).getFullExtent().getMinY();
178
						double ancho = ((FLyrRaster)laCapa).getFullExtent().getWidth();
179
						double alto = ((FLyrRaster)laCapa).getFullExtent().getHeight();
180
						int ptoX = (int)(((pReal.getX()-((FLyrRaster)laCapa).getFullExtent().getMinX())*anchoRaster)/xwc);
181
						int ptoY = (int)(((pReal.getY()-((FLyrRaster)laCapa).getFullExtent().getMinY())*altoRaster)/ywc);
182
						((FLyrRaster)laCapa).setPos(ptoX, ptoY);
183
						//((FLyrRaster)laCapa).setPos((int) event.getPoint().getX(), (int) event.getPoint().getY());
184
						((FLyrRaster)laCapa).setPosWC(pReal.getX(), pReal.getY());
185
					}	
161 186
					text = layer.queryByPoint(imagePoint);
187
					System.out.println(text);
162 188
				} catch (DriverException e) {
163 189
					throw new BehaviorException("No se pudo procesar la capa", e);
164 190
				}

Also available in: Unified diff