private Shape mLineStringShapeParser(Shape shape){

		// Anadimos todos los nodos
		Coordinate[] coor = shape.getCoordenadas(0);

		for (int x = 0; x < coor.length; x++){
			List<String> l = new ArrayList<String>();
			l.add(shape.getShapeId());
			shape.addNode(0,utils.generateNodeId(shape.getCodigoMasa(), coor[x], null, l));
			}

		// Con los nodos creamos ways
		List <Long> nodeList = shape.getNodesIds(0);
		for (int y = 0; y < nodeList.size()-1 ; y++){
			List<Long> way = new ArrayList<Long>();
			way.add(nodeList.get(y));
			way.add(nodeList.get(y+1));
			List<String> id = new ArrayList<String>();
			id.add(shape.getShapeId());
			shape.addWay(0,utils.generateWayId(shape.getCodigoMasa(), way, id));
		}

		// Con los ways creamos una relacion
		List <Long> ids = new ArrayList<Long>(); // Ids de los members
		List <String> types = new ArrayList<String>(); // Tipos de los members
		List <String> roles = new ArrayList<String>(); // Roles de los members
		for (Long way: shape.getWaysIds(0)){
			ids.add(way);
			types.add("way");
			roles.add("outer");
		}
		List<String> shapeIds = new ArrayList<String>();
		shapeIds.add(shape.getShapeId());
		shape.setRelation(utils.generateRelationId(shape.getCodigoMasa(), ids, types, roles, shape.getAttributes(), shapeIds));
		
		return shape;
	}