Revision 11937 branches/v10/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLyrVect.java
FLyrVect.java | ||
---|---|---|
1 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
|
|
1 |
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
|
|
2 | 2 |
* |
3 | 3 |
* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana. |
4 | 4 |
* |
... | ... | |
20 | 20 |
* |
21 | 21 |
* Generalitat Valenciana |
22 | 22 |
* Conselleria d'Infraestructures i Transport |
23 |
* Av. Blasco Ib??ez, 50
|
|
23 |
* Av. Blasco Ib��ez, 50
|
|
24 | 24 |
* 46010 VALENCIA |
25 | 25 |
* SPAIN |
26 | 26 |
* |
... | ... | |
112 | 112 |
import com.iver.utiles.swing.threads.CancellableMonitorable; |
113 | 113 |
|
114 | 114 |
/** |
115 |
* Capa b?sica Vectorial.
|
|
115 |
* Capa b�sica Vectorial.
|
|
116 | 116 |
* |
117 |
* @author Fernando Gonz?lez Cort?s
|
|
117 |
* @author Fernando Gonz�lez Cort�s
|
|
118 | 118 |
*/ |
119 | 119 |
|
120 | 120 |
// TODO Cuando no sea para pruebas debe no ser public |
... | ... | |
154 | 154 |
|
155 | 155 |
|
156 | 156 |
/** |
157 |
* A?ade un SelectionListener a la lista de listeners.
|
|
157 |
* A�ade un SelectionListener a la lista de listeners.
|
|
158 | 158 |
* |
159 | 159 |
* @param listener |
160 | 160 |
* SelectionListener. |
... | ... | |
177 | 177 |
* e.printStackTrace(); } } |
178 | 178 |
*/ |
179 | 179 |
/** |
180 |
* Cuando ocurre un evento de cambio en la selecci?n, ?ste puede ser uno de
|
|
180 |
* Cuando ocurre un evento de cambio en la selecci�n, �ste puede ser uno de
|
|
181 | 181 |
* una gran cantidad de eventos. Con el fin de no propagar todos estos |
182 |
* eventos, se realiza la propagaci?n de manera manual al final de la
|
|
183 |
* "r?faga" de eventos
|
|
182 |
* eventos, se realiza la propagaci�n de manera manual al final de la
|
|
183 |
* "r�faga" de eventos
|
|
184 | 184 |
*/ |
185 | 185 |
/* |
186 | 186 |
* public void fireSelectionEvents() { try { |
... | ... | |
205 | 205 |
*/ |
206 | 206 |
private void loadSpatialIndex() { |
207 | 207 |
//FIXME: Al abrir el indice en fichero... |
208 |
//?C?mo lo liberamos? un metodo Layer.shutdown()
|
|
208 |
//�C�mo lo liberamos? un metodo Layer.shutdown()
|
|
209 | 209 |
|
210 | 210 |
|
211 | 211 |
ReadableVectorial source = getSource(); |
... | ... | |
261 | 261 |
*/ |
262 | 262 |
public boolean isExternallySpatiallyIndexed() { |
263 | 263 |
/* |
264 |
* FIXME (AZABALA): Independizar del tipo de fichero de ?ndice
|
|
264 |
* FIXME (AZABALA): Independizar del tipo de fichero de �ndice
|
|
265 | 265 |
* con el que se trabaje (ahora mismo considera la extension .qix, |
266 |
* pero esto depender? del tipo de ?ndice)
|
|
266 |
* pero esto depender� del tipo de �ndice)
|
|
267 | 267 |
* */ |
268 | 268 |
ReadableVectorial source = getSource(); |
269 | 269 |
if (!(source instanceof VectorialFileAdapter)) { |
... | ... | |
312 | 312 |
// logger.debug(getName() + "_source.stop()"); |
313 | 313 |
source.stop(); |
314 | 314 |
|
315 |
// Si existe reproyecci?n, reproyectar el extent
|
|
315 |
// Si existe reproyecci�n, reproyectar el extent
|
|
316 | 316 |
ICoordTrans ct = getCoordTrans(); |
317 | 317 |
|
318 | 318 |
if (ct != null) { |
... | ... | |
373 | 373 |
|
374 | 374 |
/** |
375 | 375 |
* Se llama antes de empezar a pintar. |
376 |
* Es ?til para preparar la cache a emplear, las leyendas, etc.
|
|
376 |
* Es �til para preparar la cache a emplear, las leyendas, etc.
|
|
377 | 377 |
* @param image |
378 | 378 |
* @param g |
379 | 379 |
* @param viewPort |
... | ... | |
453 | 453 |
* to monitor progress of spatial index creation, and cancel the process |
454 | 454 |
*/ |
455 | 455 |
public void createSpatialIndex(CancellableMonitorable cancelMonitor){ |
456 |
// FJP: ESTO HABR? QUE CAMBIARLO. PARA LAS CAPAS SECUENCIALES, TENDREMOS
|
|
456 |
// FJP: ESTO HABR� QUE CAMBIARLO. PARA LAS CAPAS SECUENCIALES, TENDREMOS
|
|
457 | 457 |
// QUE ACCEDER CON UN WHILE NEXT. (O mejorar lo de los FeatureVisitor |
458 | 458 |
// para que acepten recorrer sin geometria, solo con rectangulos. |
459 | 459 |
|
... | ... | |
644 | 644 |
* DriverException(e); } } return sds; } |
645 | 645 |
*/ |
646 | 646 |
/** |
647 |
* Para cuando haces una uni?n, sustituyes el recorset por el nuevo. De esta
|
|
648 |
* forma, podr?s poner leyendas basadas en el nuevo recordset
|
|
647 |
* Para cuando haces una uni�n, sustituyes el recorset por el nuevo. De esta
|
|
648 |
* forma, podr�s poner leyendas basadas en el nuevo recordset
|
|
649 | 649 |
* |
650 | 650 |
* @param newSds |
651 | 651 |
* @throws DriverException |
... | ... | |
743 | 743 |
e1.printStackTrace(); |
744 | 744 |
throw new XMLException(e1); |
745 | 745 |
} |
746 |
//Repongo el mismo ReadableVectorial m?s abajo para cuando se guarda el proyecto.
|
|
746 |
//Repongo el mismo ReadableVectorial m�s abajo para cuando se guarda el proyecto.
|
|
747 | 747 |
ReadableVectorial rv=getSource(); |
748 | 748 |
xml.putProperty("type", "vectorial"); |
749 | 749 |
if (source instanceof VectorialEditableAdapter) { |
... | ... | |
887 | 887 |
this.setAvailable(false); |
888 | 888 |
throw new XMLException(e1); |
889 | 889 |
} |
890 |
// Si tiene una uni?n, lo marcamos para que no se cree la leyenda hasta
|
|
890 |
// Si tiene una uni�n, lo marcamos para que no se cree la leyenda hasta
|
|
891 | 891 |
// el final |
892 | 892 |
// de la lectura del proyecto |
893 | 893 |
if (xml.contains("hasJoin")) { |
... | ... | |
961 | 961 |
this.setAvailable(false); |
962 | 962 |
throw new XMLException(e1); |
963 | 963 |
} |
964 |
// Si tiene una uni?n, lo marcamos para que no se cree la leyenda hasta
|
|
964 |
// Si tiene una uni�n, lo marcamos para que no se cree la leyenda hasta
|
|
965 | 965 |
// el final |
966 | 966 |
// de la lectura del proyecto |
967 | 967 |
if (xml.contains("hasJoin")) { |
... | ... | |
999 | 999 |
|
1000 | 1000 |
|
1001 | 1001 |
/** |
1002 |
* A?ade un LegendListener a la lista de Listeners.
|
|
1002 |
* A�ade un LegendListener a la lista de Listeners.
|
|
1003 | 1003 |
* |
1004 | 1004 |
* @param listener |
1005 | 1005 |
* LegendListener. |
... | ... | |
1009 | 1009 |
} |
1010 | 1010 |
|
1011 | 1011 |
/** |
1012 |
* Llamada al m?todo callLegendChanged de los listener.
|
|
1012 |
* Llamada al m�todo callLegendChanged de los listener.
|
|
1013 | 1013 |
* |
1014 | 1014 |
* @param e |
1015 | 1015 |
* Evento. |
... | ... | |
1029 | 1029 |
} |
1030 | 1030 |
|
1031 | 1031 |
/** |
1032 |
* Sobreimplementaci?n del m?todo toString para que las bases de datos
|
|
1032 |
* Sobreimplementaci�n del m�todo toString para que las bases de datos
|
|
1033 | 1033 |
* identifiquen la capa. |
1034 | 1034 |
* |
1035 | 1035 |
* @return DOCUMENT ME! |
... | ... | |
1037 | 1037 |
public String toString() { |
1038 | 1038 |
/* |
1039 | 1039 |
* Se usa internamente para que la parte de datos identifique de forma |
1040 |
* un?voca las tablas
|
|
1040 |
* un�voca las tablas
|
|
1041 | 1041 |
*/ |
1042 | 1042 |
String ret = super.toString(); |
1043 | 1043 |
|
... | ... | |
1064 | 1064 |
* Esto es muy dudoso, y puede cambiar. |
1065 | 1065 |
* Estoy diciendo que las que no son fichero o no son |
1066 | 1066 |
* BoundedShapes estan indexadas. Esto es mentira, pero |
1067 |
* as? quien pregunte no querr? generar el indice.
|
|
1067 |
* as� quien pregunte no querr� generar el indice.
|
|
1068 | 1068 |
* Esta por ver si interesa generar el indice para capas |
1069 | 1069 |
* HSQLDB, WFS, etc. |
1070 | 1070 |
*/ |
... | ... | |
1145 | 1145 |
try { |
1146 | 1146 |
if (b) { |
1147 | 1147 |
VectorialEditableAdapter vea = null; |
1148 |
// TODO: Qu? pasa si hay m?s tipos de adapters?
|
|
1149 |
// FJP: Se podr?a pasar como argumento el
|
|
1148 |
// TODO: Qu� pasa si hay m�s tipos de adapters?
|
|
1149 |
// FJP: Se podr�a pasar como argumento el
|
|
1150 | 1150 |
// VectorialEditableAdapter |
1151 |
// que se quiera usar para evitar meter c?digo aqu? de este
|
|
1151 |
// que se quiera usar para evitar meter c�digo aqu� de este
|
|
1152 | 1152 |
// estilo. |
1153 | 1153 |
if (getSource() instanceof VectorialDBAdapter) { |
1154 | 1154 |
vea = new VectorialEditableDBAdapter(); |
... | ... | |
1226 | 1226 |
} |
1227 | 1227 |
|
1228 | 1228 |
/** |
1229 |
* Para cuando haces una uni?n, sustituyes el recorset por el nuevo. De esta
|
|
1230 |
* forma, podr?s poner leyendas basadas en el nuevo recordset
|
|
1229 |
* Para cuando haces una uni�n, sustituyes el recorset por el nuevo. De esta
|
|
1230 |
* forma, podr�s poner leyendas basadas en el nuevo recordset
|
|
1231 | 1231 |
* |
1232 | 1232 |
* @param newSds |
1233 | 1233 |
*/ |
... | ... | |
1450 | 1450 |
public boolean isReprojectable() { |
1451 | 1451 |
return true; |
1452 | 1452 |
} |
1453 |
|
|
1453 |
|
|
1454 | 1454 |
/** |
1455 |
* Reproyecta una capa. Cada tipo de capa reimplementa este m?todo realizando las operaciones
|
|
1455 |
* Reproyecta una capa. Cada tipo de capa reimplementa este m�todo realizando las operaciones
|
|
1456 | 1456 |
* que le son necesarias. |
1457 | 1457 |
*/ |
1458 |
public boolean reProject(File file, MapControl mapC) {
|
|
1458 |
public boolean reProject(MapControl mapC) { |
|
1459 | 1459 |
ViewPort vPort = mapC.getViewPort(); |
1460 | 1460 |
ICoordTrans ct = this.getProjection().getCT(vPort.getProjection()); |
1461 | 1461 |
this.setCoordTrans(ct); |
Also available in: Unified diff