public void readCarvia(String tipo) throws IOException{
		
		InputStream inputStream = null;
		if (tipo.equals("UR"))
		inputStream = new FileInputStream(Config.get("UrbanoSHPPath") + "/CARVIA/Carvia.DBF");
		else if (tipo.equals("RU"))
		inputStream = new FileInputStream(Config.get("RusticoSHPPath") + "/CARVIA/Carvia.DBF");
		DBFReader reader = new DBFReader(inputStream);
		
		int indiceVia = 0;
		int indiceDenomina = 0;
		for (int i = 0; i < reader.getFieldCount(); i++)
		{
			if (reader.getField(i).getName().equals("VIA"))      indiceVia = i;
			if (reader.getField(i).getName().equals("DENOMINA")) indiceDenomina = i;
		}
		
		Object[] rowObjects;

		while((rowObjects = reader.nextRecord()) != null) {
			
			// La posicion indiceVia es el codigo de via
			// La posicion indiceDenomina es la denominacion de via
			if (rowObjects[indiceVia] instanceof Double){
				double v = (Double) rowObjects[indiceVia];
				ejesNames.put((long) v, (String) rowObjects[indiceDenomina]);
			}
			else if (rowObjects[indiceVia] instanceof Long){
				ejesNames.put((Long) rowObjects[indiceVia], (String) rowObjects[indiceDenomina]);
			}
			else if (rowObjects[indiceVia] instanceof Integer){
				int v = (Integer) rowObjects[indiceVia];
				ejesNames.put((long) v, (String) rowObjects[indiceDenomina]);
			}
		}
	}