Revision 28552 trunk/extensions/extGraph/src/org/gvsig/graph/solvers/AbstractShortestPathSolver.java

View differences:

AbstractShortestPathSolver.java
32 32

  
33 33
import org.gvsig.exceptions.BaseException;
34 34
import org.gvsig.graph.core.AbstractNetSolver;
35
import org.gvsig.graph.core.DefaultFeatureExtractor;
35 36
import org.gvsig.graph.core.GvEdge;
36 37
import org.gvsig.graph.core.GvFlag;
37 38
import org.gvsig.graph.core.GvNode;
39
import org.gvsig.graph.core.IFeatureExtractor;
38 40
import org.gvsig.graph.core.IGraph;
39 41
import org.gvsig.graph.core.InfoShp;
42
import org.gvsig.graph.core.Network;
40 43
import org.gvsig.graph.core.NetworkUtils;
41 44

  
42 45
import com.iver.cit.gvsig.fmap.core.IFeature;
......
54 57
	private GeometryFactory geomFactory = new GeometryFactory();
55 58
	protected Route route = new Route();
56 59
	private int fieldIndexStreetName;
60
	private IFeatureExtractor featExtractor = null;
57 61

  
58 62
	public void setFielStreetName(String name) {
59 63
		try {
......
118 122
					IGraph graph = net.getGraph();
119 123
					node = graph.getNodeByID(idEnd);
120 124
					int from_link = node.get_best_from_link();
125

  
126
					if (featExtractor == null)
127
						featExtractor = new DefaultFeatureExtractor(net.getLayer());
128

  
121 129
					VectorialAdapter va = (VectorialAdapter) net.getLayer().getSource();
122 130
					
123 131
					/*	Miramos los nodos de los tramos inicio y final, y cogemos el nodo que tenga el from_link rellenado. E IGUAL A NUMSOLUCGLOBAL!!!!
......
162 170
					// as? que recorremos ese shape desde idStop1 hasta que rebasemos o igualemos ese porcentaje.
163 171
					// Si no, hemos pasado por idStop2 y la parte que hay que meter es desde el pto interior a idStop2
164 172
					///////////////////////////////////////////////////////////////////////////////////////
165
					IFeature feat = va.getFeature(finalEdge.getIdArc());
173
//					IFeature feat = va.getFeature(finalEdge.getIdArc());
174
					IFeature feat = featExtractor.getFeature(finalEdge.getIdArc());
175
					
166 176
					MultiLineString jtsGeom = (MultiLineString) feat.getGeometry().toJTSGeometry();
167 177
			//		CoordinateFilter removeDuplicates = new UniqueCoordinateArrayFilter(); 
168 178
			//		jtsGeom.apply(removeDuplicates);
......
284 294
					while (!pilaShapes.empty())  
285 295
					{
286 296
						infoShp = (InfoShp) pilaShapes.peek();
287
						feat = va.getFeature(infoShp.idArc);
297
//						feat = va.getFeature(infoShp.idArc);
298
						feat = featExtractor.getFeature(infoShp.idArc);
288 299
						MultiLineString line = (MultiLineString) feat.getGeometry().toJTSGeometry();
289 300
			//			line.apply(removeDuplicates);
290 301
			//			line.geometryChanged();
......
412 423
	private int getFieldIndexStreetName() {
413 424
		return fieldIndexStreetName;
414 425
	}
415
	
416 426

  
427
	public IFeatureExtractor getFeatExtractor() {
428
		return featExtractor;
429
	}
430

  
431
	public void setFeatExtractor(IFeatureExtractor featExtractor) {
432
		this.featExtractor = featExtractor;
433
	}
434

  
435

  
417 436
}
418 437

  

Also available in: Unified diff