How to convert keyboard input to joystick input for android?

Can someone help me convert my player movement script to joystick touch input? I’m currently using w,a,s,d to control my player but i need it to work for my on screen android joystick. Can someone help me convert this script to work with the joystick instead of keyboard?

public float maxSpeed = 5f;
public float rotSpeed = 180f;

float shipBoundaryRadius = 0.5f;

void Start () {

}

void Update () {

	// ROTATE the ship.

	// Grab our rotation quaternion
	Quaternion rot = transform.rotation;

	// Grab the Z euler angle
	float z = rot.eulerAngles.z;

	// Change the Z angle based on input
	z -= Input.GetAxis("Horizontal") * rotSpeed * Time.deltaTime;

	// Recreate the quaternion
	rot = Quaternion.Euler( 0, 0, z );

	// Feed the quaternion into our rotation
	transform.rotation = rot;

	// MOVE the ship.
	Vector3 pos = transform.position;
	 
	Vector3 velocity = new Vector3(0, Input.GetAxis("Vertical") * maxSpeed * Time.deltaTime, 0);

	pos += rot * velocity;

	// RESTRICT the player to the camera's boundaries!

	// First to vertical, because it's simpler
	if(pos.y+shipBoundaryRadius > Camera.main.orthographicSize) {
		pos.y = Camera.main.orthographicSize - shipBoundaryRadius;
	}
	if(pos.y-shipBoundaryRadius < -Camera.main.orthographicSize) {
		pos.y = -Camera.main.orthographicSize + shipBoundaryRadius;
	}

	// Now calculate the orthographic width based on the screen ratio
	float screenRatio = (float)Screen.width / (float)Screen.height;
	float widthOrtho = Camera.main.orthographicSize * screenRatio;

	// Now do horizontal bounds
	if(pos.x+shipBoundaryRadius > widthOrtho) {
		pos.x = widthOrtho - shipBoundaryRadius;
	}
	if(pos.x-shipBoundaryRadius < -widthOrtho) {
		pos.x = -widthOrtho + shipBoundaryRadius;
	}

	// Finally, update our position!!
	transform.position = pos;
}

}

i don t understand why nobdy ask at this type of question. i have same problem